/* BU1ST Technologies Sydney — NZ Election Command Centre V7 */
:root { --command-ink:#0a2541; --command-cyan:#0789a4; --glass-edge:rgba(255,255,255,.96); }
.identity-title{letter-spacing:-.55px}
.identity-by{font-size:10px;white-space:nowrap}
.powered-hero {display:flex;align-items:center;gap:7px;margin-top:9px;font-weight:800;font-size:10px;letter-spacing:.09em;color:#477995;text-transform:uppercase;text-shadow:0 1px 0 #fff}
.powered-hero strong {font-size:10px;color:#076f8f;letter-spacing:.065em}
.nav-edition {background:linear-gradient(115deg,rgba(219,246,255,.93),rgba(249,255,255,.94));color:#176985}
.topbar .identity b{color:#096c89}
.page-heading .eyebrow,.leader-kicker{letter-spacing:.14em;font-size:10px;font-weight:800;color:#23839d}
.leaders-overview{display:flex;flex-direction:column;justify-content:flex-start;min-width:0;overflow:hidden;gap:0}
.leaders-overview .panel-head {margin-bottom:5px;flex:none}
.leaders-view-more{font-size:10px;white-space:nowrap}
.leader-strip {flex:1;min-height:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;align-items:stretch}
.leader-mini {display:flex;flex-direction:column;align-items:center;justify-content:space-between;min-width:0;gap:2px;padding:5px 2px 4px;border-radius:12px;background:linear-gradient(150deg,rgba(255,255,255,.9),rgba(220,242,255,.59));border:1px solid rgba(255,255,255,.85);box-shadow:inset 0 1px 1px #fff,0 7px 17px rgba(44,105,139,.08);cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}
.leader-mini:hover,.leader-mini:focus-visible {transform:translateY(-2px);box-shadow:0 9px 20px rgba(28,100,135,.16);outline:none}
.leader-photo-halo{width:clamp(31px,3.3vw,56px);height:clamp(35px,4.3vw,68px);display:block;flex:none}
.leader-image {position:relative;display:block;width:100%;height:100%;border:2px solid rgba(255,255,255,.96);border-radius:12px;overflow:hidden;background:linear-gradient(135deg,color-mix(in srgb,var(--leader-color),white 83%),#d3eafa);box-shadow:0 6px 15px rgba(17,74,112,.12)}
.leader-image img {width:100%;height:100%;display:block;object-fit:cover;object-position:center 22%;position:relative;z-index:1}
.leader-initials{position:absolute;inset:0;display:grid;place-items:center;font-size:13px;color:var(--leader-color);font-weight:800}
.leader-mini-name{font-size:clamp(9px,.79vw,11px);color:#29445e;font-weight:800;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.leader-mini strong {font-size:clamp(15px,1.17vw,22px);font-weight:850;letter-spacing:-.7px;font-variant-numeric:tabular-nums;line-height:1.1}
.leader-context{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:9px;color:#7491a5;padding-top:5px;flex:none}
.leader-context a{color:#0c7293;text-decoration:none;font-weight:750;white-space:nowrap}
.leader-summary{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:19px 23px;margin-bottom:14px;border-radius:20px}
.leader-summary h3{font-size:clamp(18px,2vw,27px);margin:4px 0 7px;line-height:1.15;letter-spacing:-.05em;color:#153651}
.leader-summary p{margin:0;color:#5d788d;font-size:12px}
.leader-detail-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:13px}
.leader-detail-card{border-radius:23px;overflow:hidden;min-width:0;padding:10px 10px 14px;background:linear-gradient(152deg,rgba(255,255,255,.91),rgba(229,246,254,.79));border:1px solid white;box-shadow:0 10px 35px rgba(27,92,125,.09)}
.leader-portrait-wrap{height:clamp(155px,20vw,255px);position:relative;margin-bottom:11px;overflow:hidden;border-radius:15px;background:linear-gradient(130deg,color-mix(in srgb,var(--leader-color),white 84%),#cee9f6)}
.leader-portrait-wrap .leader-image{border-radius:15px}
.leader-portrait-wrap .leader-initials{font-size:43px;letter-spacing:-.06em}
.leader-portrait-wrap img{object-position:center 18%}
.leader-party{position:absolute;bottom:8px;left:8px;padding:6px 9px;border-radius:9px;background:rgba(255,255,255,.89);color:var(--leader-color);font-weight:800;font-size:10px;z-index:4;box-shadow:0 2px 8px rgba(0,0,0,.06)}
.leader-detail-content{padding:0 7px}
.leader-role{font-size:9px;font-weight:750;color:#688399;min-height:24px;text-transform:uppercase;letter-spacing:.08em;line-height:1.25}
.leader-detail-content h3{font-size:clamp(15px,1.2vw,20px);letter-spacing:-.055em;margin:2px 0 6px;color:#153750;line-height:1.2}
.leader-percentage{font-size:clamp(28px,2.35vw,42px);font-weight:850;color:var(--leader-color);font-variant-numeric:tabular-nums;letter-spacing:-.07em;line-height:1.1}
.leader-percentage span{font-size:10px;font-weight:700;color:#668197;letter-spacing:0;display:block;margin:4px 0 10px}
.leader-meter{height:9px;background:rgba(191,214,229,.7);border-radius:99px;overflow:hidden;margin:10px 0}
.leader-meter i{display:block;height:100%;border-radius:99px}
.leader-trend{font-size:10px;line-height:1.35;color:#6b8498;min-height:30px}
.leader-explainer{padding:15px 22px;display:grid;grid-template-columns:1fr 1fr;gap:20px;border-radius:18px}
.leader-explainer strong{font-size:12px;color:#2f617f}
.leader-explainer p{font-size:11px;line-height:1.5;margin:4px 0;color:#5a778e}
.leader-credits{grid-column:1/-1}
.leader-credits #leader-credits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 15px}
.leader-credits #leader-credits a{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:9px 10px;border-radius:12px;background:rgba(227,245,255,.55);text-decoration:none;color:#1e5674;font-size:11px;flex-wrap:wrap}
.leader-credits #leader-credits span{color:#638499}
@media (min-width:1151px) and (min-height:680px){
  .overview-bottom{grid-template-columns:1.23fr 1fr .78fr}
  .trends-overview{display:none!important}
  .leaders-overview{display:flex!important}
  .leader-portrait-wrap{height:clamp(126px,18vw,225px)}
  .topbar .topnav button{padding:7px clamp(6px,.55vw,10px)}
  .topbar .identity-title{font-size:clamp(12px,1vw,16px)}
  .nav-edition{display:none}
  .content-shell .leader-context{font-size:8px}
  .powered-hero{margin-top:6px;font-size:8px}
  .powered-hero strong{font-size:8px}
  .hero-info{right:12px}
  .leaders-overview .panel-head p{font-size:9px}
  .leader-mini{padding:4px 2px}
  .leader-photo-halo{width:clamp(29px,2.9vw,49px);height:clamp(34px,3.5vw,56px)}
  .leader-mini strong{font-size:clamp(14px,1.14vw,19px)}
  .leaders-overview .leader-context{padding-top:3px}
  .leader-summary{padding:11px 17px;margin-bottom:10px}
}
@media (min-width:1151px) and (min-height:680px) and (max-height:800px) {
 .leader-photo-halo{width:34px;height:40px}
 .leaders-overview .panel-head p{display:none}
 .leader-mini strong{font-size:15px}
 .leader-context{display:none}
}
@media (min-width:1151px) and (max-width:1450px){
 .identity-title{font-size:12px}
 .topbar{gap:4px;padding-left:10px;padding-right:10px}
 .broadcast-access{display:none}
 .topbar .nz-clock{font-size:10px}
}
@media (max-width:1150px){
 .leader-strip{min-height:225px;gap:9px}
 .leader-photo-halo{width:clamp(51px,9.5vw,84px);height:clamp(65px,11vw,105px)}
 .leader-mini strong{font-size:clamp(19px,2.7vw,30px)}
 .leader-mini-name{font-size:clamp(10px,1.4vw,13px)}
 .leader-summary{padding:15px}
 .leader-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .leader-portrait-wrap{height:170px}
 .powered-hero{font-size:8px;margin-top:4px}
 .powered-hero strong{font-size:8px}
}
@media(max-width:580px){
 .identity-title{font-size:11px}
 .powered-hero{font-size:7px;margin-top:2px;letter-spacing:0}
 .powered-hero strong{font-size:7px;letter-spacing:0}
 .hero h1{font-size:22px;margin:1px 0}
 .hero p{font-size:9px}
 .overview-panel-switcher{grid-template-columns:repeat(4,minmax(0,1fr));}
 .overview-panel-switcher button{font-size:9px;padding:5px 3px;gap:3px;min-height:32px}
 .overview-panel-switcher .icon{width:12px;height:12px}
 .leader-strip{min-height:220px;gap:3px}
 .leader-mini{padding:7px 1px;gap:5px}
 .leader-photo-halo{width:clamp(39px,10vw,60px);height:clamp(53px,13vw,80px)}
 .leader-mini-name{font-size:9px}
 .leader-mini strong{font-size:17px}
 .leaders-overview .panel-head p{display:none}
 .leader-context{font-size:9px}
 .leader-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 .leader-portrait-wrap{height:164px}
 .leader-detail-card{padding:8px}
 .leader-detail-content h3{font-size:16px}
 .leader-percentage{font-size:30px}
 .leader-summary{gap:7px}
 .leader-summary .secondary-button{font-size:10px;padding:8px;white-space:nowrap}
 .leader-summary h3{font-size:17px}
 .leader-summary p{font-size:10px}
 .leader-explainer{grid-template-columns:1fr;padding:12px}
 .leader-credits #leader-credits{grid-template-columns:1fr}
}
