/* Extend the existing PI token system; no new visual identity. */
#explorer-load-map[hidden], .explorer-map[hidden] { display:none; }
.explorer-hero { padding-bottom:24px; }
.explorer-caution { border:1px solid var(--line2); padding:12px 18px; background:var(--cream); max-width:72ch; }
.explorer-modes { display:flex; flex-wrap:wrap; gap:12px; margin:24px 0 16px; }
.explorer-filters { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; padding:24px 0; border-block:1px solid var(--line); margin-top:24px; }
.explorer-filters label { display:flex; flex-direction:column; gap:8px; font-size:16px; }
.explorer-filters input,.explorer-filters select { width:100%; min-height:46px; padding:10px 12px; border:1px solid var(--muted); border-radius:4px; background:var(--surface); color:var(--ink); font:inherit; }
.explorer-filter-actions { display:flex; flex-wrap:wrap; gap:12px; align-items:end; }
.explorer-small { font-size:14px; color:var(--muted); font-weight:400; }
.explorer-map-section { margin:32px 0; }
.explorer-map { background:var(--cream-deep); border:1px solid var(--line); margin-top:16px; }
.explorer-map svg { display:block; width:100%; height:auto; }
.explorer-map path { stroke:white; stroke-width:.6; }
.explorer-map a:hover path { stroke:var(--gold); stroke-width:2; }
.explorer-table { min-width:620px; overflow:visible; }
.explorer-filters input::placeholder { color:var(--muted); opacity:1; }
.explorer-results-actions { margin:20px 0; }
.explorer-active-filters { display:flex; flex-wrap:wrap; gap:10px; margin:20px 0; }
.explorer-filter-chip { gap:8px; max-width:100%; min-height:44px; white-space:normal; overflow-wrap:anywhere; text-align:left; }
.explorer-filter-chip svg { flex-shrink:0; }
#results-heading { scroll-margin-top:100px; }
.explorer-table-scroll { isolation:isolate; }
.explorer-table th:first-child,.explorer-table td:first-child { position:sticky; inset-inline-start:0; z-index:1; background:var(--surface); min-width:144px; max-width:160px; overflow-wrap:anywhere; }
.explorer-table th:first-child { background:var(--cream-deep); z-index:2; }
.explorer-table .is-vn td:first-child { background:var(--surface-warm,var(--surface)); }
.explorer-programme summary { scroll-margin-top:100px; }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
.explorer-table caption { text-align:left; padding:0 0 16px; color:var(--muted); }
.explorer-selected { background:var(--cream-deep); }
.explorer-pillar { display:block; font-size:15px; }
.explorer-programme { border-bottom:1px solid var(--line); }
.explorer-programme summary { display:flex; justify-content:space-between; gap:24px; padding:24px 0; cursor:pointer; list-style:revert; }
.explorer-programme summary strong { display:block; font-size:20px; line-height:1.4; margin-top:6px; }
.explorer-programme-meta { text-align:right; flex:0 0 220px; font-size:15px; }
.explorer-programme summary:after { content:'+'; font-size:24px; color:var(--teal); }
.explorer-programme[open] summary:after { content:'−'; }
.explorer-programme-body { padding:0 0 24px; max-width:72ch; }
.explorer-programme-body p { line-height:1.75; overflow-wrap:anywhere; }
.explorer-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.explorer-facts dt { color:var(--muted); font-size:14px; }
.explorer-facts dd { margin:6px 0 0; font-size:16px; }
.explorer-programme-body .btn { margin:8px 8px 0 0; }
.explorer-method { margin-top:40px; }
.explorer-method p { max-width:72ch; line-height:1.8; }
@media(max-width:760px) {
 .explorer-filters { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .explorer-programme summary { flex-wrap:wrap; gap:12px; }
 .explorer-programme-meta { flex-basis:auto; text-align:left; }
 .explorer-facts { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:420px) {
 .explorer-filters,.explorer-facts { grid-template-columns:1fr; }
 .explorer-programme summary strong { font-size:18px; }
}
