/* V4.7B — exact hooked elements only */

body.gpv47b{
  --px-bg:#061326;
  --px-bg2:#081a31;
  --px-cyan:#21dcff;
  --px-blue:#398dff;
  --px-pink:#ff2d9d;
  --px-yellow:#ffe33b;
  --px-green:#38ed8e;
  --px-red:#ff405d;
  --px-white:#f4f8ff;
}

/* Shared hard pixel frame */
.gpv47b .gpv47b-card{
  position:relative !important;
  overflow:hidden !important;
  background:
    linear-gradient(180deg,rgba(8,27,50,.97),rgba(4,15,31,.98)) !important;
  border:3px solid var(--gpv-accent,var(--px-cyan)) !important;
  border-radius:0 !important;
  clip-path:polygon(
    8px 0,calc(100% - 8px) 0,100% 8px,
    100% calc(100% - 8px),calc(100% - 8px) 100%,
    8px 100%,0 calc(100% - 8px),0 8px
  );
  box-shadow:
    inset 0 0 0 3px #020812,
    inset 0 0 0 5px color-mix(in srgb,var(--gpv-accent) 24%,transparent),
    5px 5px 0 #02060d !important;
}

/* pixel-noise/scan grid */
.gpv47b .gpv47b-card::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.13;
  background:
    repeating-linear-gradient(0deg,transparent 0 5px,#8eefff 5px 6px),
    repeating-linear-gradient(90deg,transparent 0 7px,#8eefff 7px 8px);
  mix-blend-mode:screen;
}

/* TOP STAT CARDS */
.gpv47b .gpv47b-stat{
  padding:38px 16px 12px !important;
  min-height:104px !important;
}
.gpv47b .gpv47b-stat::before{
  position:absolute;
  left:10px;
  top:8px;
  z-index:3;
  padding:4px 8px 3px;
  border:2px solid var(--gpv-accent);
  background:#020914;
  color:var(--gpv-accent);
  font:900 12px/1 "Courier New",monospace;
  letter-spacing:.08em;
  text-transform:uppercase;
  box-shadow:3px 3px 0 #000;
}
.gpv47b .gpv47b-district{--gpv-accent:var(--px-cyan)}
.gpv47b .gpv47b-votes{--gpv-accent:var(--px-pink)}
.gpv47b .gpv47b-boss{--gpv-accent:var(--px-yellow)}
.gpv47b .gpv47b-district::before{content:"▦ DISTRIKT // LIVE"}
.gpv47b .gpv47b-votes::before{content:"▣ RÖSTRÄKNING"}
.gpv47b .gpv47b-boss::before{content:"♛ BOSS LINE // 175"}

.gpv47b .gpv47b-stat .label{
  color:#d7e8f7 !important;
  font:900 11px/1.1 "Courier New",monospace !important;
  letter-spacing:.08em !important;
  opacity:.78;
}
.gpv47b .gpv47b-stat .districts,
.gpv47b .gpv47b-stat .votesCounted,
.gpv47b .gpv47b-stat .mid{
  position:relative;
  z-index:2;
}
.gpv47b .gpv47b-stat .districts,
.gpv47b .gpv47b-stat .votesCounted{
  color:#fff !important;
  text-shadow:3px 3px 0 #000 !important;
}

/* PARTY AREA */
.gpv47b .gpv47b-parties{
  position:relative;
  padding-top:4px;
}
.gpv47b .gpv47b-parties::before{
  content:"PARTIER // LIVE RESULTAT";
  display:block;
  width:max-content;
  margin:0 0 7px 2px;
  padding:3px 9px;
  background:#020914;
  border:2px solid var(--px-cyan);
  color:#fff;
  box-shadow:3px 3px 0 #000;
  font:900 11px/1 "Courier New",monospace;
  letter-spacing:.08em;
}

/* MANDATKAMPEN */
.gpv47b .gpv47b-majority{
  --gpv-accent:#4fa6ff;
  padding:42px 14px 14px !important;
}
.gpv47b .gpv47b-majority::before{
  content:"⚔ MANDATKAMPEN // 175";
  position:absolute;
  top:9px;left:10px;z-index:4;
  color:#fff;
  background:#020914;
  border:2px solid #4fa6ff;
  padding:4px 8px;
  box-shadow:3px 3px 0 #000;
  font:900 12px/1 "Courier New",monospace;
  letter-spacing:.06em;
}
.gpv47b .gpv47b-majority .track{
  border:2px solid #07101d !important;
  box-shadow:0 0 0 2px rgba(79,166,255,.18),3px 3px 0 #000 !important;
}

/* RIKSDAGEN */
.gpv47b .gpv47b-riksdag{
  --gpv-accent:var(--px-pink);
  padding:44px 14px 14px !important;
  background:
    linear-gradient(180deg,rgba(5,19,40,.95),rgba(4,13,28,.98)),
    url('/assets/v46curated/backgrounds/riksdagen.png') right bottom/42% auto no-repeat !important;
}
.gpv47b .gpv47b-riksdag::before{
  content:"▦ RIKSDAGEN // 349 PLATSER";
  position:absolute;
  top:9px;left:10px;z-index:4;
  color:#fff;
  background:#020914;
  border:2px solid var(--px-pink);
  padding:4px 8px;
  box-shadow:3px 3px 0 #000;
  font:900 12px/1 "Courier New",monospace;
  letter-spacing:.06em;
}
.gpv47b .gpv47b-riksdag .seatmap{
  position:relative;
  z-index:2;
}

/* LIVE REACTION ARENA */
.gpv47b .gpv47b-reaction{
  --gpv-accent:var(--px-cyan);
  padding:46px 14px 14px !important;
  background:
    linear-gradient(90deg,rgba(4,18,40,.96),rgba(15,12,52,.84)),
    url('/assets/v46curated/backgrounds/studio.png') right bottom/40% auto no-repeat !important;
}
.gpv47b .gpv47b-reaction::before{
  content:"⚡ LIVE REACTION ARENA // AUTO";
  position:absolute;
  top:9px;left:10px;z-index:4;
  color:#fff;
  background:#020914;
  border:2px solid var(--px-cyan);
  padding:4px 8px;
  box-shadow:3px 3px 0 #000;
  font:900 12px/1 "Courier New",monospace;
  letter-spacing:.06em;
}
.gpv47b .gpv47b-reaction .showHead{
  opacity:.55;
}

/* SOURCE / STATUS */
.gpv47b .gpv47b-source{
  --gpv-accent:#5bb7ff;
  padding:38px 14px 12px !important;
}
.gpv47b .gpv47b-source::before{
  content:"◉ DATAMOTOR // OFFICIELL FEED";
  position:absolute;left:10px;top:8px;z-index:3;
  color:#fff;background:#020914;border:2px solid #5bb7ff;
  padding:4px 8px;box-shadow:3px 3px 0 #000;
  font:900 11px/1 "Courier New",monospace;letter-spacing:.06em;
}

/* TICKER */
.gpv47b .gpv47b-ticker{
  position:relative !important;
  border-top:3px solid var(--px-cyan) !important;
  background:#020914 !important;
  box-shadow:0 -3px 0 #000 !important;
}
.gpv47b .gpv47b-ticker::before{
  content:"VALPULS";
  position:absolute;
  left:0;top:0;bottom:0;
  display:flex;align-items:center;
  padding:0 18px;
  z-index:3;
  background:
    linear-gradient(135deg,#ff2d9d 0 44%,#7b28e8 45% 100%);
  border-right:3px solid #21dcff;
  color:white;
  font:900 14px/1 "Courier New",monospace;
  letter-spacing:.09em;
  text-shadow:2px 2px 0 #000;
}
.gpv47b .gpv47b-ticker .marquee{
  padding-left:116px !important;
  color:#fff !important;
  font:900 14px/1 "Courier New",monospace !important;
  letter-spacing:.04em !important;
  text-shadow:2px 2px 0 #000;
}

/* NATIVE LIVE — only sharpen, never duplicate */
.gpv47b .gpv47b-livechip{
  border-radius:0 !important;
  border:2px solid var(--px-pink) !important;
  background:#15051d !important;
  box-shadow:3px 3px 0 #000,0 0 16px rgba(255,45,157,.3) !important;
  font-family:"Courier New",monospace !important;
  font-weight:900 !important;
}

/* 9:16 tuning */
body[data-pixel-layout="9"].gpv47b .gpv47b-stat{
  padding-top:34px !important;
}
body[data-pixel-layout="9"].gpv47b .gpv47b-stat::before,
body[data-pixel-layout="9"].gpv47b .gpv47b-majority::before,
body[data-pixel-layout="9"].gpv47b .gpv47b-riksdag::before,
body[data-pixel-layout="9"].gpv47b .gpv47b-reaction::before{
  font-size:10px !important;
}
body[data-pixel-layout="9"].gpv47b .gpv47b-ticker::before{
  padding:0 10px;
  font-size:11px;
}
body[data-pixel-layout="9"].gpv47b .gpv47b-ticker .marquee{
  padding-left:88px !important;
}
