
/* 4DK LIVE SCORE TICKER */
.score-ticker{
  --score-bg:#111;
  --score-border:#2a2a2a;
  --score-text:#f7f3eb;
  --score-muted:#aaa39b;
  --score-live:#e8452e;
  position:relative;
  z-index:20;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) 44px;
  align-items:stretch;
  min-height:48px;
  overflow:hidden;
  background:var(--score-bg);
  color:var(--score-text);
  border-top:1px solid var(--score-border);
  border-bottom:1px solid var(--score-border);
}
.score-ticker-label{
  display:flex;
  align-items:center;
  gap:8px;
  padding:0 15px;
  white-space:nowrap;
  border-right:1px solid #303030;
  background:#090909;
  font-size:10px;
  letter-spacing:.10em;
}
.score-live-dot{
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--score-live);
  box-shadow:0 0 0 4px rgba(232,69,46,.12);
}
.score-ticker.has-live .score-live-dot{
  animation:scorePulse 1.5s ease-in-out infinite;
}
.score-ticker-viewport{
  min-width:0;
  overflow:hidden;
  display:flex;
  align-items:center;
}
.score-ticker-track{
  display:flex;
  align-items:stretch;
  width:max-content;
  min-width:100%;
  will-change:transform;
}
.score-ticker.is-ready .score-ticker-track{
  animation:scoreTickerMove var(--score-duration,38s) linear infinite;
}
.score-ticker:hover .score-ticker-track{
  animation-play-state:paused;
}
.score-game,
.score-ticker-message{
  min-height:47px;
  display:flex;
  align-items:center;
  gap:8px;
  flex:0 0 auto;
  padding:0 16px;
  border-right:1px solid #303030;
  white-space:nowrap;
}
.score-ticker-message{
  color:var(--score-muted);
  font-size:11px;
}
.score-league{
  color:#d8b36f;
  font-size:9px;
  font-weight:1000;
  letter-spacing:.10em;
}
.score-team{
  font-size:12px;
  font-weight:900;
}
.score-team b{
  margin-left:4px;
  font-size:13px;
}
.score-at{
  color:#777;
  font-size:10px;
}
.score-status{
  padding:4px 6px;
  border:1px solid #3b3b3b;
  border-radius:999px;
  color:var(--score-muted);
  font-size:8px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.score-game.live .score-status{
  border-color:rgba(232,69,46,.55);
  color:#ff8a78;
  background:rgba(232,69,46,.08);
}
.score-game.live .score-league{
  color:#ff8a78;
}
.score-ticker-refresh{
  border:0;
  border-left:1px solid #303030;
  background:#090909;
  color:#d7d1ca;
  cursor:pointer;
  font-size:20px;
}
.score-ticker-refresh:active{
  background:#1b1b1b;
}
.score-ticker-refresh[disabled]{
  opacity:.45;
  cursor:wait;
}
@keyframes scoreTickerMove{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}
@keyframes scorePulse{
  0%,100%{opacity:1;transform:scale(1)}
  50%{opacity:.55;transform:scale(.78)}
}
@media(max-width:680px){
  .score-ticker{
    grid-template-columns:auto minmax(0,1fr) 40px;
    min-height:44px;
  }
  .score-ticker-label{
    padding:0 10px;
    font-size:9px;
  }
  .score-game,
  .score-ticker-message{
    min-height:43px;
    padding:0 12px;
  }
  .score-team{font-size:11px}
  .score-team b{font-size:12px}
}
@media(prefers-reduced-motion:reduce){
  .score-ticker.is-ready .score-ticker-track{
    animation:none;
  }
  .score-ticker-viewport{
    overflow-x:auto;
    scrollbar-width:none;
  }
  .score-ticker-viewport::-webkit-scrollbar{display:none}
  .score-ticker.has-live .score-live-dot{animation:none}
}
