/* POLYCC palette: blue through violet to red, inspired by the supplied reference. */
:root{--ink:#1d2855;--muted:#727e96;--teal:#293cc5;--blue:#214bd2;--line:#e5e7f1;--paper:#f5f6fb;--brand-gradient:linear-gradient(115deg,#123bc9 0%,#3022a1 55%,#ba285c 100%)}
.brand .official-logo{width:218px;aspect-ratio:1996/372;overflow:hidden;background:none;border-radius:0}
.brand .official-logo img{height:auto;width:100%;max-width:none}
.topbar{border-top:3px solid transparent;border-image:linear-gradient(90deg,#2044d5,#5630b2,#eb233d) 1;border-bottom:1px solid var(--line)}
.nav-active:after{background:var(--brand-gradient)}
.topbar nav{gap:8px}
.topbar nav button{isolation:isolate;align-self:center;min-height:42px;padding:10px 14px;border-radius:9px;transition:color .2s ease,box-shadow .2s ease}
.topbar nav button:before{content:'';position:absolute;inset:0;z-index:-1;border-radius:inherit;background:var(--brand-gradient);opacity:0;transition:opacity .2s ease}
.topbar nav button:focus-visible{color:#fff;box-shadow:0 4px 12px #293cc526}
.topbar nav button:focus-visible:before{opacity:1}
.topbar nav button:focus-visible:after{opacity:0}
@media(hover:hover){.topbar nav button:hover{color:#fff;box-shadow:0 4px 12px #293cc526}.topbar nav button:hover:before{opacity:1}.topbar nav button:hover:after{opacity:0}}
@media(prefers-reduced-motion:reduce){.topbar nav button,.topbar nav button:before{transition:none}}
.public-label{color:#3949a1;border-color:#e0e4f5;background:#f8f9ff}
.public-label i,.small-dot{background:#4356cf}
.intro{background:var(--brand-gradient);padding:22px 26px;border-radius:14px;color:white;box-shadow:0 6px 24px #293cc514}
.intro .eyebrow{color:#e1ddff}.intro .eyebrow>span{background:#b5baff}
.intro h1 em{color:#ffceda}.intro-description{color:#e1e4fc}
.stats>div{border-left-color:#ffffff38}.stats span{color:#e1e4fc}
.workspace{height:calc(100dvh - 318px)}
.primary,.map-summary button{background:var(--brand-gradient);color:white}
.primary:hover,.map-summary button:hover{background:linear-gradient(115deg,#1733ac,#7b2469)}
.profile-header{background:var(--brand-gradient)}.profile-location{color:#e2e1ff}
.profile-header .tag,.profile-header .tag.kk{color:#fff;background:#ffffff20}
.tag{background:#edf1ff;color:#2648c1}.tag.kk{color:#bc2b4c;background:#fff0f3}
.poly{background:#214bd2}.kk{background:#cf3154}
.map-cluster{background:linear-gradient(135deg,#4332b5 0%,#922787 45%,#cf2858 100%);box-shadow:0 2px 9px #2438ac30}
.region-controls .selected{background:#2e37aa}
.map-summary-icon{color:#3948c5;background:#eef0ff}
.institution-card:hover,.institution-card.active{background:#f0f2ff}
.searchbox:focus-within{border-color:#394bcc;box-shadow:0 0 0 2px #293cc515}
.staff-summary strong,.count-details a,.text-link,.link-button{color:#293cc5}
.link-button:hover{background:#f1f2ff}
.distance-value{background:#f0f1ff}.distance-value strong,.distance-value span{color:#3439ad}
.mobile-tabs [aria-pressed=true]{color:#303bb5}
#toast{background:var(--brand-gradient)}
@media(min-width:1600px){.workspace{height:calc(100dvh - 331px)}}
@media(max-width:760px){
 .brand .official-logo{width:165px}
 .intro{padding:20px 18px;border-radius:12px;margin-bottom:20px}
 .intro h1{font-size:28px}.intro-description{max-width:100%}
 .stats{border-top-color:#ffffff30}.stats>div{border:0}.stats>div:last-child{padding-right:0}
 .workspace{height:auto}
}
.road-route{background:#f3f4ff;border:1px solid #e0e3f4;border-radius:10px;padding:18px;margin-top:20px}.road-route .eyebrow{font-size:8px}.road-route p strong{display:block;font-size:12px;line-height:1.6}.route-arrow{display:block;color:#5860b7;font-size:20px;margin:9px 0}.road-route a{text-decoration:none;line-height:1.6;gap:12px}.road-route p.muted{font-size:10px;line-height:1.8;margin-bottom:0}
.road-metrics{display:grid;grid-template-columns:1fr 1fr;gap:15px;padding:15px 0;border-bottom:1px solid #dfe3f6}
.road-metrics strong{font:750 28px Manrope,sans-serif;color:#313bb3;letter-spacing:-.8px;display:block;line-height:1.4}.road-metrics>div+div strong{font-size:20px;letter-spacing:-.4px;padding-top:5px}.road-metrics span{display:block;font-size:10px;color:#75809b;margin-top:4px}.road-endpoints{font-size:11px!important;color:#59677d;line-height:1.7}.road-endpoints>span{color:#7a7fc0}.road-map-summary{position:absolute;top:76px;left:20px;right:65px;z-index:450;display:flex;align-items:center;gap:14px;padding:12px 15px;background:white;border:1px solid #dce0f4;border-left:4px solid #3946c2;border-radius:9px;box-shadow:0 5px 22px #23357815}.road-map-summary[hidden]{display:none}.road-map-summary strong{display:block;font:750 18px Manrope,sans-serif;color:#2e3bb2}.road-map-summary span{display:block;font-size:10px;color:#748098;margin-top:4px}.road-map-summary small{font-size:9px;color:#7f89a0;line-height:1.6;margin-left:auto}.road-map-summary button{border:0;background:#f1f2fc;border-radius:50%;height:27px;width:27px;font-size:20px;color:#647395}.leaflet-tooltip{color:#2536a9}
@media(max-width:760px){.road-map-summary{top:65px;left:11px;right:51px;padding:10px;gap:8px}.road-map-summary strong{font-size:16px}.road-map-summary span,.road-map-summary small{font-size:8px}.road-metrics strong{font-size:25px}.road-metrics>div+div strong{font-size:18px}}
.route-availability{font-size:10px!important;line-height:1.8;padding:10px 12px;border:1px solid #e3e6f4;border-radius:7px;background:#f8f9ff}
/* Map overlay surfaces: 80% background, fully legible content. */
.region-controls,.map-actions button,.map-legend,.map-summary,.road-map-summary{background:rgb(255 255 255 / 80%)}
.region-controls button{background:transparent}
.region-controls .selected{background:rgb(46 55 170 / 80%);color:white}
.leaflet-control-zoom a,.leaflet-control-zoom a:hover{background:rgb(255 255 255 / 80%)}
.map-bottom-overlays{position:absolute;left:20px;right:20px;bottom:25px;z-index:400;display:grid;gap:8px;pointer-events:none}
.map-bottom-overlays .map-legend{position:static;width:fit-content;pointer-events:auto}
.map-bottom-overlays .map-summary{position:static;min-width:0;pointer-events:auto}
.leaflet-bottom.leaflet-right{bottom:155px}
@media(max-width:760px){
 .region-controls{right:55px;gap:1px}
 .region-controls button{flex:1;min-width:0;padding:8px 4px;font-size:8px;white-space:nowrap}
 .map-bottom-overlays{left:11px;right:11px;bottom:25px}
 .map-bottom-overlays .map-summary{display:grid;grid-template-columns:1fr;gap:10px;padding:12px}
 .map-summary div>span{max-width:none;line-height:1.6}
 .map-summary button{margin:0;justify-self:start}
 .road-map-summary{top:100px;right:11px;flex-wrap:wrap}
 .road-map-summary small{margin-left:auto}
 .leaflet-bottom.leaflet-right{bottom:195px;right:1px}
}
/* Categories follow the published POLYCC classification. */
.apex{background:#facc15}.premier{background:#159447}
.map-pin.apex{border-color:#fff7cf}.map-pin.apex:after{border-color:#624d00}
.map-legend{flex-wrap:wrap;row-gap:8px;max-width:100%}
@media(max-width:760px){.map-bottom-overlays .map-legend{display:grid;grid-template-columns:1fr 1fr;width:fit-content;column-gap:12px}.leaflet-bottom.leaflet-right{bottom:215px}}
.brand{flex-direction:column;align-items:flex-start;gap:5px}
.brand .brand-subtitle{font:700 9px/1.4 'DM Sans',sans-serif;letter-spacing:1.8px;color:var(--ink);white-space:nowrap}
@media(max-width:760px){.brand{gap:4px}.brand .brand-subtitle{font-size:8px;letter-spacing:1.5px}}
.language-toolbar{display:flex;justify-content:flex-end;margin:-17px 0 12px}.language-switch{display:flex;gap:3px;padding:3px;border:1px solid var(--line);border-radius:8px;background:white}.language-switch button{border:0;border-radius:5px;background:transparent;color:var(--ink);padding:5px 10px;font-size:10px;font-weight:700}.language-switch [aria-pressed=true]{background:var(--brand-gradient);color:white}.intro .eyebrow>span{display:none}
@media(max-width:760px){.language-toolbar{margin:-10px 0 12px}}
/* Keep both official marks at equal displayed heights without stretching. */
.brand-logos{display:flex;align-items:center;gap:18px;--logo-height:40.63px}
.brand .official-logo{height:var(--logo-height);flex-shrink:0;display:block}
.brand .jppkk-logo{display:block;height:var(--logo-height);width:auto;object-fit:contain}
@media(min-width:761px) and (max-width:1000px){.topbar{height:auto;flex-wrap:wrap;padding-top:12px;padding-bottom:12px;gap:10px}.topbar nav{flex-basis:100%;height:auto;justify-content:flex-end}}
@media(max-width:760px){.topbar{height:auto;min-height:110px;flex-wrap:wrap;gap:8px;padding-top:12px;padding-bottom:10px}.brand{flex-basis:100%}.brand-logos{gap:12px;--logo-height:30.75px}.topbar nav{height:auto;margin-left:auto}}
.programme-filter{display:block;margin-top:12px;min-width:0}.programme-filter>span{display:block;font-size:10px;font-weight:600;color:var(--muted);margin-bottom:6px}.programme-filter select{min-width:0;max-width:100%;text-overflow:ellipsis}
/* JPPKK matches the full POLYCC lockup, including its GIS subtitle. */
.polycc-lockup{display:flex;flex-direction:column;align-items:flex-start;gap:5px}
.brand .jppkk-logo{height:58.23px}
@media(max-width:760px){.polycc-lockup{gap:4px}.brand .jppkk-logo{height:45.95px}.brand .official-logo{width:150px;height:27.96px}.brand .brand-subtitle{letter-spacing:1px}.brand .jppkk-logo{height:43.16px}.brand-logos{gap:10px}}
@media(max-width:360px){.brand .official-logo{width:140px;height:26.09px}.brand .brand-subtitle{letter-spacing:.5px}.brand .jppkk-logo{height:41.29px}.brand-logos{gap:8px}}
.staff-review{padding:12px;border:1px solid var(--line);border-radius:8px;margin-top:12px;background:#f7f8fe}.staff-review strong{font-size:10px}.staff-review p{margin:6px 0;font-size:11px}.staff-review small{font-size:9px;color:var(--muted);line-height:1.7}
/* A softer version of the POLYCC gradient for the search panel. */
.search-area{background:linear-gradient(125deg,#edf2ff 0%,#f1edfc 58%,#fff0f3 100%);border-bottom:1px solid #dddff0;box-shadow:none}
.search-area .searchbox,.search-area select{background:#ffffffed;border-color:#d4daed}
.search-area .programme-filter>span{color:#58658b}
.search-area .section-label>span{color:#7882a0}
.search-area .searchbox:focus-within{background:#fff;border-color:#5564cb;box-shadow:0 0 0 3px #4352c31a}
.search-area select:focus-visible{outline-color:#6b70c9}
.search-area .mobile-tabs{background:#e4e6f4}
.region-controls{display:block;max-width:calc(100% - 85px)}.region-main{display:flex;gap:2px}.zone-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;border-top:1px solid #d2d8eb;margin-top:5px;padding-top:5px}.zone-controls[hidden]{display:none}.zone-controls button{font-size:9px;padding:8px 6px;min-width:0}.region-controls button:hover{background:#e8eafd}.region-controls .selected:hover{background:rgb(46 55 170 / 80%)}.zone-chevron{display:inline-block;margin-left:3px;transition:transform .15s}.region-controls [aria-expanded=true] .zone-chevron{transform:rotate(180deg)}.road-map-summary{top:calc(var(--region-height,40px) + 33px)}
@media(max-width:760px){.region-controls{max-width:none}.region-main{display:grid;grid-template-columns:.8fr 1.2fr 1.2fr;gap:1px}.region-main button{font-size:8px;padding:8px 2px}.zone-controls button{font-size:8px;white-space:normal}.road-map-summary{top:max(100px,calc(var(--region-height,40px) + 25px))}}
.stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px 18px;width:440px;min-width:380px;flex-shrink:0}.stats>div{grid-column:span 2;padding-left:16px;min-width:0}.stats>div:nth-child(n+4){grid-column:span 3}.stats span{white-space:normal}.stats small{display:block;font-size:8px;line-height:1.6;color:#e1e4fc;margin-top:5px}.stat-action{padding:0;border:0;background:transparent;color:inherit;text-align:left;width:100%;border-radius:5px}.stat-action:hover small{text-decoration:underline}.stat-action:focus-visible{outline-color:#fff}
.student-modal{width:860px}.student-modal h3{font:700 13px Manrope,sans-serif;margin:24px 0 12px}.student-filters{display:grid;grid-template-columns:1fr 1fr;gap:12px}.student-filters label{font-size:11px;font-weight:600;min-width:0}.student-filters select{display:block;margin-top:6px}.student-totals{display:flex;gap:36px;border:1px solid var(--line);border-radius:10px;padding:16px;margin-top:18px;background:#f4f5ff}.student-totals strong{display:block;font:750 27px Manrope,sans-serif;color:var(--teal)}.student-totals span{font-size:10px;color:var(--muted)}.student-bars{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px}.student-bar>div:first-child{display:flex;justify-content:space-between;gap:8px;font-size:10px;margin-bottom:5px}.student-bar strong{font-size:10px}.student-bar-track{height:7px;border-radius:8px;background:#eef0f9;overflow:hidden}.student-bar-track i{height:100%;display:block;border-radius:inherit;background:var(--brand-gradient)}.student-table-wrap{overflow:auto;max-height:340px;border:1px solid var(--line);border-radius:8px}.student-table{width:100%;border-collapse:collapse;font-size:10px}.student-table th{position:sticky;top:0;background:#f0f2fc;text-align:left;padding:12px 10px;z-index:1}.student-table td{padding:10px;border-top:1px solid var(--line);line-height:1.6}.student-table td:last-child,.student-table th:last-child{text-align:right;white-space:nowrap}.student-table button{padding:0;border:0;background:transparent;text-align:left;color:var(--teal);font-size:inherit;line-height:1.6}.student-table button:hover{text-decoration:underline}.student-sources{display:flex;flex-wrap:wrap;gap:10px 18px;font-size:10px;color:var(--teal)}.student-profile{padding:14px;border:1px solid var(--line);border-radius:10px;background:#f4f5ff;margin-bottom:22px}.student-profile strong{display:block;font:750 25px Manrope,sans-serif;color:var(--teal)}.student-profile span,.student-profile a,.student-profile small{display:block;font-size:10px;margin-top:5px;line-height:1.6}.student-profile a{color:var(--teal)}.student-profile small{font-size:9px;color:var(--muted)}
@media(max-width:1100px){.intro{display:block}.stats{width:100%;min-width:0;margin-top:22px;padding-top:18px;border-top:1px solid #ffffff30}.stats>div{border:0;padding:0}.stats strong{font-size:25px}}
@media(max-width:760px){.stats{gap:16px 12px}.stats>div:last-child{padding:0}.stats span{font-size:9px}.stats small{font-size:8px}.student-bars{grid-template-columns:1fr}.student-table th,.student-table td{padding:9px 7px}.student-table td:nth-child(2),.student-table th:nth-child(2){display:none}.student-modal{padding:28px 18px}.student-totals{gap:24px}.student-totals strong{font-size:23px}}
.hq{background:#c58b50}.map-pin.hq{border-color:#fff7ed;box-shadow:0 2px 9px #59391750}.map-pin.hq:after{background:#fff6e9;border-color:#875a30}.map-legend .hq{box-shadow:0 0 0 1px #875a3040}

/* Give results room and let visitors fold away the search controls. */
.search-area{flex-shrink:0}
.toggle-search{border:1px solid #cad0ef;border-radius:8px;background:#ffffffb3;color:#343d99;padding:7px 9px;font:600 10px Manrope,sans-serif;cursor:pointer;white-space:nowrap;min-height:32px}
.toggle-search:hover{background:#e2e5ff;border-color:#7b83cf}
.toggle-search:focus-visible{outline:2px solid #3b45c6;outline-offset:3px}
#search-controls[hidden]{display:none}
.search-collapsed .section-label{margin-bottom:0}
@media(min-width:761px){.workspace{min-height:690px}.results{min-height:250px}.search-area{padding-top:18px;padding-bottom:16px}.section-label{gap:8px}}
@media(max-width:760px){.search-collapsed .mobile-tabs{margin-top:12px}.toggle-search{font-size:11px}.section-label{gap:10px}}

/* Language controls sit beside open access; keep the introduction compact. */
.header-tools{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-shrink:0}
.header-tools .language-toolbar{margin:0;display:flex}
.header-tools .language-switch button{min-height:28px}
main{padding-top:18px}
.intro{padding:18px 26px;margin-bottom:22px}
.intro .eyebrow{margin-bottom:8px}
.intro h1{margin-bottom:8px}
@media(min-width:761px) and (max-width:1200px){.topbar{height:auto;flex-wrap:wrap;padding-top:12px;padding-bottom:12px;gap:10px}.topbar nav{order:3;flex-basis:100%;height:auto;justify-content:flex-end}.header-tools{margin-left:auto}}
@media(max-width:760px){.topbar{column-gap:10px}.topbar nav{margin-left:0;margin-right:auto}.header-tools{gap:8px;margin-left:auto}.header-tools .public-label{display:inline-flex;align-items:center;font-size:10px;padding:7px 9px}.header-tools .language-switch button{padding:5px 9px}.header-tools .language-toolbar{margin:0}main{padding-top:14px}.intro{padding:17px 18px;margin-bottom:18px}.intro h1{margin-top:8px}.stats{margin-top:17px;padding-top:14px}}
.header-tools .public-label{display:inline-flex;align-items:center}

.zone-note{padding:10px 21px;background:#f0f2ff;border-bottom:1px solid var(--line);flex-shrink:0;font-size:10px;line-height:1.6}.zone-note[hidden]{display:none}.zone-note strong,.zone-note span,.zone-note small{display:block}.zone-note strong{color:var(--teal)}.zone-note small{font-size:9px;color:var(--muted)}
.sidebar:has(.zone-note:not([hidden])) .results{min-height:150px}

/* Desktop: five statistics alongside the smaller introduction title. */
@media(min-width:1101px){
 .intro{gap:24px}
 .intro>div:first-child{flex:1;min-width:0}
 .intro h1{font-size:clamp(23px,1.65vw,31px);letter-spacing:-.9px;line-height:1.25}
 .intro-description{font-size:12px;line-height:1.7}
 .intro .stats{grid-template-columns:repeat(5,minmax(0,1fr));width:42%;min-width:560px;max-width:760px;gap:0;align-items:start}
 .intro .stats>div,.intro .stats>div:nth-child(n+4){grid-column:auto;padding-left:10px;padding-right:6px}
 .intro .stats strong{font-size:clamp(23px,1.8vw,32px);line-height:1.25;white-space:nowrap}
 .intro .stats span{font-size:9px;line-height:1.5;margin-top:7px}
 .intro .stats small{font-size:8px;line-height:1.5}
}

/* Larger vector chevrons and separate peninsula/Borneo zone menus. */
.region-main button{display:flex;align-items:center;justify-content:center;gap:4px}
.region-main .zone-chevron{width:18px;height:18px;flex-shrink:0;margin-left:1px;vertical-align:middle}
#zone-controls,#east-zone-controls{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:760px){.region-main button{gap:2px}.region-main .zone-chevron{width:16px;height:16px;margin-left:0}}



@media(min-width:1101px){.intro{height:130px;min-height:130px;max-height:130px;padding-top:12px;padding-bottom:12px}}

/* The legend remains; the large map summary bar has been removed. */
.leaflet-bottom.leaflet-right{bottom:85px}
@media(max-width:760px){.leaflet-bottom.leaflet-right{bottom:120px}}
@media(min-width:761px){.workspace{height:calc(100dvh - 338px);min-height:670px;max-height:980px}}
@media(min-width:1600px){.workspace{height:calc(100dvh - 351px)}}

.zone-detail-toggle{display:block;width:100%;margin-top:7px!important;background:var(--brand-gradient)!important;color:#fff!important;font-weight:700;border-radius:7px;padding:10px!important}
.zone-detail-toggle[hidden],.zone-details[hidden]{display:none}
.zone-details{position:absolute;z-index:650;right:64px;top:20px;width:430px;max-width:calc(100% - 85px);max-height:calc(100% - 95px);overflow:auto;background:#fffffff2;backdrop-filter:blur(8px);border:1px solid #dce0ef;border-radius:12px;box-shadow:0 8px 30px #1d28552b;padding:18px;overscroll-behavior:contain}
.zone-details header{display:flex;align-items:center;justify-content:space-between;gap:12px}.zone-details header small{font-size:8px;letter-spacing:1.5px;color:var(--teal);font-weight:700}.zone-details h2{font:750 22px Manrope,sans-serif;margin:5px 0}.zone-details header>button{border:1px solid var(--line);background:#fff;border-radius:50%;font-size:23px;width:32px;height:32px;flex-shrink:0}.zone-states{font-size:10px;color:var(--muted);margin:4px 0 14px}.zone-metrics{display:grid;grid-template-columns:1fr 1fr;gap:8px}.zone-metrics>div{background:#f0f2ff;border:1px solid #e1e5f5;border-radius:8px;padding:10px}.zone-metrics strong{font:750 23px Manrope,sans-serif;color:var(--teal);display:block}.zone-metrics span{display:block;font-size:9px;margin-top:4px}.zone-coverage{font-size:9px;line-height:1.8;color:var(--teal)}.zone-data-note{font-size:9px;line-height:1.8;color:var(--muted)}.zone-details h3{font:700 12px Manrope,sans-serif;margin:18px 0 10px}.zone-table-wrap{overflow:auto}.zone-details table{border-collapse:collapse;width:100%;font-size:9px}.zone-details th{text-align:left;background:#eff1fb;padding:9px 6px}.zone-details td{border-bottom:1px solid var(--line);padding:10px 6px;vertical-align:top}.zone-details td:nth-child(n+2){text-align:right;white-space:nowrap}.zone-details td button{border:0;background:none;padding:0;text-align:left;color:var(--teal);font-size:10px;line-height:1.6}.zone-details td small{display:block;color:var(--muted);font-size:8px;margin-top:4px}
@media(max-width:1400px){.zone-details{top:calc(var(--region-height,150px) + 35px);left:20px;right:20px;width:auto;max-width:none;max-height:calc(100% - var(--region-height,150px) - 105px)}}
@media(max-width:760px){.zone-details{left:11px;right:11px;top:calc(var(--region-height,150px) + 25px);padding:13px;max-height:calc(100% - var(--region-height,150px) - 50px)}.zone-details h2{font-size:18px}.zone-metrics strong{font-size:20px}}
.workspace{border:2px solid transparent;background:linear-gradient(#fff,#fff) padding-box,var(--brand-gradient) border-box}
.region-controls .selected,.region-controls .selected:hover{background:var(--brand-gradient);color:#fff}

.explore-title{display:flex;align-items:center;gap:7px;white-space:nowrap}.explore-logo{display:block;width:78px;aspect-ratio:1996/372;overflow:hidden;flex-shrink:0}.explore-logo img{display:block;width:100%;height:auto}
@media(max-width:360px){.section-label .explore-title{font-size:13px;gap:5px}.explore-logo{width:64px}}
@media(max-width:760px){.intro .stats{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;align-items:start}.intro .stats>div,.intro .stats>div:nth-child(n+4){grid-column:auto;padding:0;min-width:0}.intro .stats strong{font-size:clamp(12px,3.3vw,20px);line-height:1.3;letter-spacing:-.5px;white-space:nowrap}.intro .stats span{font-size:8px;line-height:1.5;overflow-wrap:anywhere;display:block;margin-top:5px}.intro .stats small{font-size:7px;line-height:1.5;overflow-wrap:anywhere;margin-top:5px}}

/* Consistent POLYCC theme across dialogs and the zone details panel. */
 dialog{border:2px solid transparent;background:linear-gradient(#fff,#fff) padding-box,var(--brand-gradient) border-box;box-shadow:0 18px 70px #292a6238}
 dialog.modal{background:linear-gradient(135deg,#f0f3ff 0%,#fff 45%,#fff4f7 100%) padding-box,var(--brand-gradient) border-box}
 .modal .dialog-scroll>.eyebrow{display:inline-block;max-width:calc(100% - 30px);padding:7px 11px;border-radius:6px;background:var(--brand-gradient);color:#fff;letter-spacing:1.5px;line-height:1.6}
 .modal .dialog-scroll>h2{color:#302c91}
 .modal .close{background:#f3f3ff;border-color:#ccd1ed;color:#3843ad}
 .modal .close:hover{background:var(--brand-gradient);color:#fff;border-color:transparent}
 .modal select{background:#ffffffed;border-color:#cdd3ec}
 .modal .info-block{border-top-color:#dcdcf0}
 .modal .info-block>strong{color:#3b3696}
 .modal .route-availability,.modal .student-totals{background:linear-gradient(110deg,#edf1ff,#fff0f4);border-color:#dcdff2}
 .zone-details{border:2px solid transparent;background:linear-gradient(135deg,#f4f5ff,#fff 55%,#fff5f8) padding-box,var(--brand-gradient) border-box}
 dialog::backdrop{background:#191f4566;backdrop-filter:blur(4px)}
@media(max-width:760px){.workspace{overflow:hidden}.workspace .sidebar{border-radius:0}}

/* Keep scrolling inside the frame, clear of the rounded gradient border. */
 dialog.modal{padding:0;overflow:hidden}
 .modal .dialog-scroll{margin:8px;max-height:calc(100dvh - 60px);padding:26px;overflow-y:auto;overscroll-behavior:contain;border-radius:9px;scrollbar-width:thin;scrollbar-color:#9093be transparent}
 .modal>.close{z-index:10;right:20px;top:18px}
 .dialog-scroll::-webkit-scrollbar,#profile-content::-webkit-scrollbar{width:6px}
 .dialog-scroll::-webkit-scrollbar-track,#profile-content::-webkit-scrollbar-track{background:transparent;margin:9px 0}
 .dialog-scroll::-webkit-scrollbar-thumb,#profile-content::-webkit-scrollbar-thumb{background:#9093be;border-radius:12px}
 .dialog-scroll::-webkit-scrollbar-button,#profile-content::-webkit-scrollbar-button{display:none;height:0;width:0}
 dialog.profile-dialog{padding:6px;overflow:hidden}
 #profile-content{height:100%;overflow-y:auto;border-radius:10px;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#9093be transparent}
 @media(max-width:760px){.modal .dialog-scroll{padding:20px 15px}.modal>.close{right:16px;top:15px}.student-modal .dialog-scroll{padding:20px 10px}}
/* Exploration features share the POLYCC visual language. */
.field-note{display:block;font-size:8px;line-height:1.6;color:var(--muted);margin-top:5px}
.explore-tools,.profile-tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:12px}
.explore-tools button,.profile-tools button,.zone-share{border:1px solid #ccd2ed;background:#fff;color:#343b9e;border-radius:7px;font-size:9px;font-weight:600;padding:9px 6px;line-height:1.5;min-width:0;overflow-wrap:anywhere}
.profile-tools{grid-template-columns:1fr 1fr;margin:0 0 18px}.zone-share{width:100%;margin-top:6px}.zone-share[hidden]{display:none}
.feature-modal{width:850px}.feature-modal#nearest,.feature-modal#share{width:540px}
.feature-modal input{display:block;width:100%;padding:12px;border:1px solid #cdd3ec;border-radius:7px;margin-top:8px;background:#fff;min-width:0}
.compare-pickers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.compare-pickers label{display:block;min-width:0;font-size:10px}.compare-pickers label>span{display:block;margin-bottom:7px}.compare-pickers select{font-size:10px;min-width:0;text-overflow:ellipsis}
.compare-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:8px;max-height:55dvh}.compare-table{border-collapse:collapse;width:100%;min-width:580px;table-layout:fixed;font-size:10px}.compare-table th,.compare-table td{padding:12px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);vertical-align:top;line-height:1.7;overflow-wrap:anywhere}.compare-table thead th{background:#edf0fc;position:sticky;top:0;z-index:1}.compare-table th:first-child{width:110px}.compare-table th{text-align:left}.compare-table th button{font-size:11px;line-height:1.6;border:0;background:none;padding:0;text-align:left;color:var(--teal)}.compare-table a{color:var(--teal)}.compare-table ul{padding-left:14px;margin:0}.compare-table li{margin-bottom:10px}
.source-timeline{border:1px solid var(--line);border-radius:9px;background:#f6f5fc;padding:12px;margin-top:20px;font-size:10px;line-height:1.8}.source-timeline summary{font-weight:700;color:var(--teal);cursor:pointer}.source-timeline dt{font-weight:700;margin-top:13px}.source-timeline dd{margin:3px 0 0;color:var(--muted)}.source-timeline a{color:var(--teal)}
.nearby-card{padding:14px;border:1px solid var(--line);border-radius:9px;background:#fff;margin-top:10px}.nearby-card>button:first-child{font:700 12px/1.6 Manrope,sans-serif;border:0;background:none;color:var(--teal);padding:0;text-align:left}.nearby-card p{font-size:12px;color:#5d388f;margin:8px 0}.nearby-card small{font-size:9px;color:var(--muted)}.feature-modal [role=status]{font-size:11px;line-height:1.8;color:var(--teal)}
.map-mode-control{display:flex;gap:4px;background:#ffffffd9;border:1px solid #d9deed;border-radius:8px;padding:4px;width:fit-content;max-width:100%;pointer-events:auto}.map-mode-control button{border:0;border-radius:5px;background:transparent;font-size:10px;font-weight:700;padding:9px 12px;color:var(--ink)}.map-mode-control [aria-pressed=true]{background:var(--brand-gradient);color:#fff}
.map-legend[hidden],.student-map-legend[hidden]{display:none!important}.student-map-legend{background:#ffffffd9;border:1px solid #d9deed;border-radius:8px;width:fit-content;max-width:100%;padding:10px 12px;pointer-events:auto}.student-map-legend>strong{font-size:10px;color:#693b9a}.student-map-legend>small{display:block;font-size:8px;line-height:1.6;margin-top:7px;color:var(--muted)}.bubble-key{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;margin-top:7px}.bubble-key>span{display:flex;align-items:center;gap:5px;font-size:9px}.bubble-key i{display:inline-block;flex-shrink:0;background:#8547bba6;border:1px solid #612e90;border-radius:50%}.bubble-key .unknown-bubble{width:12px;height:12px;background:#a1a7b6;border-color:#737b8c}
.student-bubble{display:grid;place-items:center;background:#8547bbaa;border:2px solid #fff;border-radius:50%;box-shadow:0 1px 7px #4b246a55;color:#fff;font-size:9px;font-weight:700;white-space:nowrap}.student-cluster{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#6f389acc;border:3px solid #ffffffcf;border-radius:50%;box-shadow:0 2px 9px #4b246a40;color:white;line-height:1.2}.student-cluster b{font-size:11px}.student-cluster small{font-size:7px;margin-top:2px}.student-bubble.unknown,.student-cluster.unknown{background:#9299a7cc;border-style:dashed}.student-bubble{pointer-events:auto}
.leaflet-bottom.leaflet-right{bottom:175px}
@media(min-width:761px){.search-area{max-height:69%;overflow-y:auto}.results,.sidebar:has(.zone-note:not([hidden])) .results{min-height:0}}
@media(max-width:760px){.explore-tools{gap:5px}.explore-tools button{font-size:9px;padding:9px 5px}.compare-pickers{grid-template-columns:1fr}.map-mode-control button{font-size:9px;padding:8px}.student-map-legend{padding:8px}.bubble-key{gap:7px 9px}.bubble-key>span{font-size:8px}.student-map-legend>small{font-size:8px}.leaflet-bottom.leaflet-right{bottom:200px}}

.feature-modal [hidden]{display:none!important}

.comparison-scroll-hint{display:none}@media(max-width:760px){.comparison-scroll-hint{display:block;font-size:10px;color:var(--teal)}}

.student-bubble.lecturer,.student-cluster.lecturer{background:#087f83c9;box-shadow:0 2px 9px #125c6340}.student-map-legend.lecturer>strong{color:#076c73}.student-map-legend.lecturer .bubble-key i{background:#16858aa6;border-color:#087479}.student-map-legend.lecturer .unknown-bubble,.student-bubble.unknown,.student-cluster.unknown{background:#9299a7cc;border-color:#fff}.student-map-legend{max-width:440px}.map-mode-control{flex-wrap:wrap}
@media(max-width:760px){.map-mode-control{display:grid;grid-template-columns:.7fr 1.4fr 1.2fr;width:100%;gap:2px}.map-mode-control button{padding:7px 4px;font-size:8px;line-height:1.5}.student-map-legend{max-width:100%}.leaflet-bottom.leaflet-right{bottom:230px}}

.student-cluster.partial{border-style:dashed}.student-cluster b{font-size:12px}.coverage-key{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:8px}.coverage-key>span{display:flex;align-items:center;gap:5px;font-size:8px}.coverage-key i{display:inline-block;width:13px;height:13px;border:2px solid #087f83;border-radius:50%;background:#16858a33}.coverage-key i.partial{border-style:dashed}

/* Scroll the zone content inside an uninterrupted rounded frame. */
.zone-details{height:calc(100% - 95px);padding:0;overflow:hidden}
.zone-details-scroll{height:calc(100% - 16px);margin:8px;padding:10px;overflow-y:auto;overscroll-behavior:contain;border-radius:6px;scrollbar-width:thin;scrollbar-color:#9093be transparent}
.zone-details-scroll::-webkit-scrollbar{width:6px}.zone-details-scroll::-webkit-scrollbar-track{background:transparent;margin:8px 0}.zone-details-scroll::-webkit-scrollbar-thumb{background:#9093be;border-radius:10px}.zone-details-scroll::-webkit-scrollbar-button{display:none;height:0;width:0}
.zone-details-scroll>header{position:sticky;top:0;z-index:2;background:#f9f9ff;padding-bottom:8px}
@media(max-width:1400px){.zone-details{height:calc(100% - var(--region-height,150px) - 105px);padding:0}}
@media(max-width:760px){.zone-details{height:calc(100% - var(--region-height,150px) - 50px);padding:0}.zone-details-scroll{padding:5px}}
.student-bubble,.student-cluster{border-width:2px}

/* Short cluster split/merge motion, synchronized with MarkerCluster's 300ms lifecycle. */
@media(prefers-reduced-motion:no-preference){
 .leaflet-cluster-anim .leaflet-marker-icon,.leaflet-cluster-anim .leaflet-marker-shadow{transition:transform .3s cubic-bezier(.22,.61,.36,1),opacity .3s ease-out;will-change:transform,opacity}
 .leaflet-cluster-spider-leg{transition:stroke-dashoffset .3s cubic-bezier(.22,.61,.36,1),stroke-opacity .3s ease-out}
}
@media(prefers-reduced-motion:reduce){
 .leaflet-cluster-anim .leaflet-marker-icon,.leaflet-cluster-anim .leaflet-marker-shadow,.leaflet-cluster-spider-leg,.leaflet-zoom-animated{transition:none!important;animation:none!important}
}

/* Student trial: academic badges for campuses, proportional circles for groups. */
.student-bubble.student-badge{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px;border-radius:9px 9px 14px 14px;background:#7d41abc9;line-height:1.1}
.student-cap-icon{display:block;flex-shrink:0;width:18px;height:13px;opacity:.95}
.student-badge b{font-size:9px;font-weight:750;letter-spacing:-.2px;white-space:nowrap}
.student-cap-cluster{gap:3px}.student-cap-cluster .student-cap-icon{width:19px;height:14px}.student-cap-cluster b{line-height:1.1;font-size:11px}
.student-badge.unknown{background:#9299a7cc}.student-badge.unknown .student-cap-icon{width:14px;height:10px}

/* Lecturer symbols use the same contained badge layout as student symbols. */
.student-bubble.lecturer-badge{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px;border-radius:9px 9px 14px 14px;line-height:1.1}
.lecturer-teaching-icon{display:block;flex-shrink:0;width:19px;height:15px;opacity:.95}
.lecturer-badge b{font-size:9px;line-height:1.1;font-weight:750;letter-spacing:-.2px;white-space:nowrap}
.lecturer-icon-cluster{gap:3px}.lecturer-icon-cluster b{font-size:11px;line-height:1.1}.lecturer-icon-cluster .lecturer-teaching-icon{width:20px;height:16px}
.lecturer-badge.unknown .lecturer-teaching-icon{width:15px;height:12px}
.student-bubble,.student-cluster{overflow:hidden;box-sizing:border-box}
.mobile-map-toolbar{display:none}
.mobile-zone-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:18px 0}.mobile-zone-grid button{border:1px solid #d2d8ef;background:#f4f5ff;color:var(--ink);padding:13px 9px;border-radius:8px;font-size:12px;font-weight:600;min-height:44px}.mobile-zone-grid [data-mobile-region]{grid-column:1/-1}.mobile-zone-grid [aria-pressed=true]{background:var(--brand-gradient);color:#fff;border-color:transparent}.mobile-zone-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mobile-zone-actions button{justify-content:center;margin:0;font-size:12px;min-height:44px}.mobile-zone-content h2{font:750 22px Manrope,sans-serif;margin:5px 0}.mobile-zone-content header small{font-size:9px;color:var(--teal);letter-spacing:1px}.mobile-zone-content h3{font-size:13px}.mobile-zone-content table{border-collapse:collapse;width:100%;font-size:10px}.mobile-zone-content th,.mobile-zone-content td{padding:9px 5px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.mobile-zone-content td button{border:0;background:none;color:var(--teal);padding:0;font-size:10px;text-align:left;line-height:1.6}.mobile-zone-content td small{display:block;font-size:8px;color:var(--muted);margin-top:4px}
.mobile-legend-copy{font-size:11px;line-height:1.8}.mobile-legend-copy>strong{color:#693b9a;font-size:12px}.mobile-legend-copy.lecturer>strong{color:#076c73}.mobile-legend-copy>small{display:block;font-size:10px;line-height:1.8;margin-top:10px;color:var(--muted)}.mobile-legend-copy .bubble-key{margin:15px 0}.mobile-legend-copy .bubble-key>span{font-size:10px}.mobile-legend-copy.institution-key{display:grid;gap:13px;padding:10px 0}.mobile-legend-copy.institution-key>span{display:flex;align-items:center;gap:9px}.mobile-legend-copy.institution-key i{width:9px;height:9px;display:inline-block;border-radius:50%;flex-shrink:0}
@media(max-width:760px){
 .region-controls{display:none!important}
 .mobile-map-toolbar{position:absolute;z-index:450;top:14px;left:11px;right:55px;display:flex;align-items:center;gap:7px;pointer-events:none}
 .mobile-map-toolbar button{pointer-events:auto;border:1px solid #d4daef;border-radius:8px;background:#ffffffeb;min-height:40px;padding:9px 10px;color:var(--ink);font-size:10px;font-weight:700;line-height:1.5}
 #mobile-zone-picker{display:flex;justify-content:space-between;align-items:center;gap:6px;min-width:0;flex:1}#mobile-legend-toggle{flex-shrink:0}
 .map-section #map{position:absolute;top:0;left:0;right:0;bottom:48px;width:100%;height:auto}
 .map-bottom-overlays{bottom:7px;left:9px;right:9px;gap:0}
 .map-bottom-overlays .map-legend,.map-bottom-overlays .student-map-legend{display:none!important}
 .map-mode-control{width:100%;grid-template-columns:repeat(3,minmax(0,1fr));background:#fff;border-color:#d8dcf0;padding:3px;border-radius:7px}
 .map-mode-control button{min-height:30px;font-size:10px;line-height:1.3;padding:6px 3px}
 .map-section{background:#f5f6fb}
 .leaflet-bottom.leaflet-right{bottom:15px;right:1px}
 dialog.mobile-bottom-sheet{position:fixed;left:0;right:0;top:auto;bottom:0;margin:0;width:100%;max-width:100%;max-height:85dvh;border-radius:18px 18px 0 0}
 .mobile-bottom-sheet .dialog-scroll{max-height:calc(85dvh - 20px);padding:20px 15px 24px}
 .mobile-bottom-sheet .eyebrow{display:none!important}.mobile-bottom-sheet h2{padding-right:25px;font-size:22px;margin-top:12px}
 .mobile-zone-content table{table-layout:fixed}.mobile-zone-content th:first-child{width:56%}.mobile-zone-content td{overflow-wrap:anywhere}
 .zone-details{display:none!important}
}

#profile-frame-close{position:absolute;top:20px;right:20px;z-index:20;background:#fff;color:#3944ac;border-color:#d2d8ed;box-shadow:0 2px 8px #1d285514}
#profile-frame-close:hover{background:var(--brand-gradient);color:#fff;border-color:transparent}
from pathlib import Path
p=Path('dist/mobile-map.js');s=p.read_text(encoding='utf-8-sig').replace('Mobile-only bottom sheets keep map controls compact','Mobile dropdown and bottom sheets keep map controls compact')
s=s.replace('aria-haspopup="dialog" aria-controls="mobile-zones"','aria-expanded="false" aria-controls="mobile-zones"',1)
start=s.index("const mobileZoneSheet=featureDialog(");end=s.index('const mobileLegendSheet=',start)
s=s[:start]+'''const mobileZoneSheet=document.createElement('section');mobileZoneSheet.id='mobile-zones';mobileZoneSheet.className='mobile-zone-dropdown';mobileZoneSheet.hidden=true;mobileZoneSheet.setAttribute('aria-label','Pilihan zon');mobileZoneSheet.innerHTML=`<div class="mobile-zone-grid"><button type="button" data-mobile-region="all">Seluruh Malaysia</button>${Object.entries(mobileZoneNames).map(([key,name])=>`<button type="button" data-mobile-zone="${key}" aria-pressed="false">${name}</button>`).join('')}</div><div class="mobile-zone-actions"><button id="mobile-zone-details" class="primary" type="button">Lihat perincian</button><button id="mobile-zone-share" class="link-button" type="button">Kongsi zon</button></div><p id="mobile-zone-help" class="muted">Pilih zon untuk melihat perincian atau berkongsi.</p>`;mobileMapToolbar.append(mobileZoneSheet);
function closeMobileZoneMenu(){mobileZoneSheet.hidden=true;$('mobile-zone-picker').setAttribute('aria-expanded','false');}
function openMobileZoneMenu(){syncMobileMap();closeZoneDetails();mobileZoneSheet.hidden=false;$('mobile-zone-picker').setAttribute('aria-expanded','true');}
''' +s[end:]
s=s.replace('for(const dialog of [mobileZoneSheet,mobileLegendSheet,mobileZoneInfo])','closeMobileZoneMenu();for(const dialog of [mobileLegendSheet,mobileZoneInfo])')
s=s.replace("$('mobile-zone-picker').onclick=()=>{syncMobileMap();closeZoneDetails();showDialog('mobile-zones');};","$('mobile-zone-picker').onclick=()=>mobileZoneSheet.hidden?openMobileZoneMenu():closeMobileZoneMenu();\n$('mobile-zone-picker').addEventListener('keydown',event=>{if(event.key==='ArrowDown'){event.preventDefault();openMobileZoneMenu();mobileZoneSheet.querySelector('button').focus();}});\ndocument.addEventListener('pointerdown',event=>{if(!mobileMapToolbar.contains(event.target))closeMobileZoneMenu();});\nmobileMapToolbar.addEventListener('keydown',event=>{if(event.key==='Escape'){closeMobileZoneMenu();$('mobile-zone-picker').focus();}});")
s=s.replace('mobileZoneSheet.close();','closeMobileZoneMenu();')
s=s.replace("$('mobile-legend-toggle').onclick=()=>{const source=", "$('mobile-legend-toggle').onclick=()=>{closeMobileZoneMenu();const source=",1)
p.write_text(s,encoding='utf-8')
p=Path('dist/theme.css');s=p.read_text(encoding='utf-8')+'''
/* Compact mobile zone dropdown; no modal backdrop for choosing a zone. */
.mobile-zone-dropdown{display:none}.mobile-zone-dropdown[hidden]{display:none!important}
@media(max-width:760px){
 .mobile-zone-dropdown{display:block;position:absolute;pointer-events:auto;top:calc(100% + 7px);left:0;width:100%;max-height:min(340px,calc(100dvh - 170px));overflow-y:auto;padding:9px;background:#fffffff7;border:1px solid #d4daef;border-radius:10px;box-shadow:0 7px 20px #1d285526;overscroll-behavior:contain;scrollbar-width:thin}
 .mobile-zone-dropdown .mobile-zone-grid{margin:0 0 8px;gap:5px}.mobile-zone-dropdown .mobile-zone-grid button{min-height:33px;padding:7px 4px;font-size:10px;border-radius:6px;background:#f3f4ff}
 .mobile-zone-dropdown .mobile-zone-grid [aria-pressed=true]{background:var(--brand-gradient);color:#fff}
 .mobile-zone-dropdown .mobile-zone-actions{gap:5px}.mobile-zone-dropdown .mobile-zone-actions button{min-height:34px;font-size:9px;padding:7px 4px;border-radius:6px}
 .mobile-zone-dropdown .mobile-zone-actions .primary{background:var(--brand-gradient);color:#fff;border-color:transparent}
 .mobile-zone-dropdown #mobile-zone-help{font-size:9px;line-height:1.6;margin:8px 0 0}.mobile-zone-dropdown #mobile-zone-help[hidden]{display:none}
}
/* All close buttons retain a clean circular outline while hovering/focusing. */
 dialog .close,#profile-frame-close,.zone-details header>button{display:grid;place-items:center;line-height:1;padding:0;border-radius:50%;width:36px;height:36px;min-width:36px;min-height:36px;box-sizing:border-box;transition:background-color .15s ease,color .15s ease,border-color .15s ease}
 dialog .close:hover,dialog .close:focus-visible,#profile-frame-close:hover,#profile-frame-close:focus-visible,.zone-details header>button:hover{background:#e9ecff;color:#303ca8;border-color:#b9c2e8;box-shadow:none}
.modal .close:hover,.modal .close:focus-visible{background:#e9ecff;color:#303ca8;border-color:#b9c2e8;box-shadow:none}

.mobile-tabs button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:40px;line-height:1.3}.view-tab-icon{display:block;width:20px;height:20px;flex-shrink:0}.mobile-tabs [aria-pressed=true] .view-tab-icon{stroke-width:2}

/* Official references stay inside existing profiles and source dialogs. */
.official-programme-references{overflow-wrap:anywhere}
.official-programme-references>summary{overflow-wrap:anywhere}
.official-reference-body{padding-top:8px}
.official-reference-body>p{font-size:10px;line-height:1.8}
.official-reference-links{list-style:none;padding:0;margin:12px 0;display:grid;gap:13px}
.official-reference-links li{min-width:0;line-height:1.6}
.official-reference-links a{font-size:13px;font-weight:650;color:#303ca8;text-underline-offset:3px;overflow-wrap:anywhere}
.official-reference-links a:focus-visible{outline:2px solid #3539c3;outline-offset:3px;border-radius:3px}
.official-reference-links small{display:block;font-size:12px;color:#64748b;line-height:1.65;margin-top:3px;overflow-wrap:anywhere}

/* Match the staff audit disclosure typography in programme references. */
.official-programme-references .official-reference-links a{font-size:10px;font-weight:600}
.official-programme-references .official-reference-links small{font-size:10px;line-height:1.8}
.official-reference-body>p.fineprint{font-size:9px;line-height:1.7}

/* Official portal links match the existing source links in About data. */
#about .official-reference-links a{font-size:11px;font-weight:400;line-height:1.8}

/* Keep mobile result navigation close to the search and map controls. */
@media(max-width:760px){
 #results.results{max-height:72vh;max-height:72dvh;overflow-y:auto;overscroll-behavior-y:auto;scrollbar-width:thin;scrollbar-color:#9093be transparent}
 #results.results:focus-visible{outline:2px solid #3539c3;outline-offset:-3px}
}
