/* =========================================================
   IBCO SCOREBOARD PRO — TV / BROADCAST STYLE
========================================================= */

.ibco-scoreboard-screen{
  min-height:100vh;
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:6vh 5vw;
  background:
    radial-gradient(circle at 12% 18%, rgba(250,204,21,.16), transparent 28%),
    radial-gradient(circle at 85% 15%, rgba(59,130,246,.24), transparent 34%),
    linear-gradient(135deg,#030816 0%,#071633 45%,#0f2b66 100%);
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:#fff;
  overflow:hidden;
}

.ibco-scoreboard-card{
  width:min(1800px,94vw);
  min-height:640px;
  position:relative;
  padding:44px 42px 54px;
  border-radius:44px;
  background:
    linear-gradient(135deg,rgba(255,255,255,.10),rgba(255,255,255,.04)),
    rgba(15,30,65,.78);
  border:1px solid rgba(255,255,255,.18);
  box-shadow:
    0 40px 90px rgba(0,0,0,.45),
    inset 0 1px 0 rgba(255,255,255,.12);
  backdrop-filter:blur(14px);
}

.ibco-scoreboard-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:28px;
  margin-bottom:34px;
}

.ibco-scoreboard-top h1{
  margin:0 0 12px;
  font-size:clamp(32px,2.6vw,54px);
  line-height:1;
  font-weight:950;
  letter-spacing:-.04em;
  color:#fff;
  text-shadow:0 6px 30px rgba(0,0,0,.35);
}

.ibco-scoreboard-match{
  font-size:clamp(15px,1.1vw,22px);
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:rgba(255,255,255,.72);
}

.ibco-live-pill{
  display:inline-flex;
  align-items:center;
  gap:12px;
  padding:14px 22px;
  border-radius:999px;
  background:rgba(250,204,21,.14);
  border:1px solid rgba(250,204,21,.42);
  color:#facc15;
  font-size:clamp(14px,1vw,18px);
  font-weight:950;
  letter-spacing:.16em;
  text-transform:uppercase;
  box-shadow:0 0 22px rgba(250,204,21,.16);
}

.ibco-live-dot{
  width:13px;
  height:13px;
  border-radius:50%;
  background:#ef4444;
  box-shadow:
    0 0 0 6px rgba(239,68,68,.14),
    0 0 20px rgba(239,68,68,.9);
  animation:ibcoLivePulse 1.25s infinite ease-in-out;
}

@keyframes ibcoLivePulse{
  0%,100%{ transform:scale(1); opacity:1; }
  50%{ transform:scale(1.35); opacity:.65; }
}

/* MAIN LAYOUT */
.ibco-scoreboard-main{
  display:grid;
  grid-template-columns:1fr minmax(280px,360px) 1fr;
  align-items:center;
  gap:36px;
}

.ibco-team{
  min-height:500px;
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:36px 28px;
  border-radius:36px;
  background:
    radial-gradient(circle at 50% 20%,rgba(255,255,255,.10),transparent 38%),
    rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.16);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.12),
    0 24px 50px rgba(0,0,0,.22);
  overflow:hidden;
}

.ibco-team img{
  width:clamp(120px,10vw,180px);
  height:clamp(120px,10vw,180px);
  object-fit:contain;
  border-radius:32px;
  background:#fff;
  padding:16px;
  margin-bottom:28px;
  box-shadow:0 20px 40px rgba(0,0,0,.25);
}

.ibco-team img[src=""]{
  opacity:.92;
}

.ibco-team-name{
  max-width:100%;
  margin:0 0 18px;
  text-align:center;
  font-size:clamp(38px,3.4vw,70px);
  line-height:.98;
  font-weight:950;
  letter-spacing:-.055em;
  color:#fff;
  text-wrap:balance;
  text-shadow:0 8px 28px rgba(0,0,0,.35);
}

.ibco-team-score{
  font-size:clamp(120px,11vw,210px);
  line-height:.82;
  font-weight:1000;
  letter-spacing:-.08em;
  color:#facc15;
  text-shadow:
    0 12px 35px rgba(0,0,0,.38),
    0 0 28px rgba(250,204,21,.45);
  transition:transform .22s ease, filter .22s ease;
}

.ibco-sets{
  margin-top:24px;
  font-size:clamp(16px,1.2vw,24px);
  font-weight:900;
  color:rgba(255,255,255,.78);
}

/* CENTER */
.ibco-center{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:24px;
  min-height:500px;
}

.ibco-timer{
  font-size:clamp(78px,6vw,120px);
  line-height:1;
  font-weight:1000;
  letter-spacing:-.07em;
  color:#fff;
  text-shadow:
    0 10px 35px rgba(0,0,0,.38),
    0 0 28px rgba(255,255,255,.18);
}

.ibco-timer.is-expired{
  color:#ef4444;
  text-shadow:
    0 0 14px rgba(239,68,68,.9),
    0 0 46px rgba(239,68,68,.55);
  animation:ibcoExpired .65s infinite alternate;
}

@keyframes ibcoExpired{
  from{ transform:scale(1); }
  to{ transform:scale(1.06); }
}

.ibco-vs{
  font-size:clamp(34px,3vw,58px);
  line-height:1;
  font-weight:1000;
  letter-spacing:.16em;
  color:rgba(255,255,255,.48);
}

.ibco-set{
  min-width:260px;
  text-align:center;
  padding:18px 34px;
  border-radius:999px;
  background:#fff;
  color:#071633;
  font-size:clamp(20px,1.35vw,30px);
  font-weight:950;
  box-shadow:0 20px 40px rgba(0,0,0,.25);
}

/* HOST TEAM — NEON BLUE */
.ibco-team.ibco-home-team{
  border:2px solid #3b82f6;
  box-shadow:
    0 0 16px rgba(59,130,246,.85),
    0 0 42px rgba(59,130,246,.45),
    0 0 90px rgba(59,130,246,.22),
    inset 0 1px 0 rgba(255,255,255,.18);
  transform:scale(1.025);
}

.ibco-team.ibco-home-team::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 50% 20%,rgba(96,165,250,.26),transparent 36%),
    linear-gradient(135deg,rgba(59,130,246,.20),transparent 48%);
}

.ibco-team.ibco-home-team::after{
  content:"HOST";
  position:absolute;
  top:22px;
  right:22px;
  z-index:3;
  padding:8px 12px;
  border-radius:999px;
  background:linear-gradient(135deg,#60a5fa,#2563eb);
  color:#fff;
  font-size:12px;
  font-weight:1000;
  letter-spacing:.12em;
  box-shadow:
    0 0 16px rgba(59,130,246,.8),
    0 10px 24px rgba(0,0,0,.25);
}

.ibco-team.ibco-home-team .ibco-team-name{
  color:#60a5fa;
  text-shadow:
    0 0 14px rgba(96,165,250,.55),
    0 10px 30px rgba(0,0,0,.38);
}

.ibco-team.ibco-home-team .ibco-team-score{
  color:#3b82f6;
  text-shadow:
    0 0 10px #3b82f6,
    0 0 28px rgba(59,130,246,.85),
    0 0 64px rgba(59,130,246,.45);
}

/* Non-host still alive, but secondary */
.ibco-team:not(.ibco-home-team){
  opacity:.92;
}

/* Winner / Loser */
.ibco-team.ibco-winner{
  border-color:#facc15;
  box-shadow:
    0 0 18px rgba(250,204,21,.75),
    0 0 55px rgba(250,204,21,.35);
}

.ibco-team.ibco-winner .ibco-team-score{
  color:#facc15;
}

.ibco-team.ibco-loser{
  opacity:.55;
  filter:saturate(.55);
}

/* Final / Expired banners */
.ibco-final-banner,
.ibco-time-expired{
  display:none;
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  z-index:10;
  padding:18px 34px;
  border-radius:999px;
  font-size:clamp(18px,1.5vw,30px);
  font-weight:1000;
  letter-spacing:.12em;
  text-transform:uppercase;
  box-shadow:0 20px 50px rgba(0,0,0,.35);
}

.ibco-final-banner{
  bottom:28px;
  background:linear-gradient(135deg,#facc15,#f59e0b);
  color:#071633;
}

.ibco-time-expired{
  top:50%;
  background:linear-gradient(135deg,#ef4444,#991b1b);
  color:#fff;
  box-shadow:
    0 0 24px rgba(239,68,68,.65),
    0 20px 50px rgba(0,0,0,.38);
}

.ibco-final-banner.is-active,
.ibco-time-expired.is-active{
  display:block;
}

/* Score pulse if you add class .pulse */
.ibco-team-score.pulse,
.pulse{
  animation:ibcoScorePulse .32s ease-out;
}

@keyframes ibcoScorePulse{
  0%{ transform:scale(1); }
  45%{ transform:scale(1.14); filter:brightness(1.35); }
  100%{ transform:scale(1); }
}

/* TV 1080p balance */
@media (min-width:1400px){
  .ibco-scoreboard-card{
    padding:52px 46px 62px;
  }

  .ibco-scoreboard-main{
    gap:44px;
  }
}

/* Smaller screens fallback */
@media (max-width:1000px){
  .ibco-scoreboard-screen{
    padding:28px;
  }

  .ibco-scoreboard-main{
    grid-template-columns:1fr;
  }

  .ibco-center{
    min-height:auto;
    order:-1;
  }

  .ibco-team{
    min-height:360px;
  }
}