/* Lockd live score ticker. Needs theme-light.css tokens (falls back if absent). */
.lk-ticker { position: sticky; top: 0; z-index: 50; display: flex; align-items: stretch; height: var(--lk-ticker-h, 64px);
  background: var(--lk-ticker-bg, #fff); color: var(--lk-ticker-fg, #14181F); border-bottom: 1px solid var(--lk-ticker-border, #E6DFD2);
  font-family: var(--lk-font-body, Inter, system-ui, sans-serif); font-size: 12px; }
.lk-ticker__tabs { display: flex; align-items: center; gap: 2px; padding: 0 10px; border-right: 1px solid var(--lk-ticker-border, #E6DFD2); flex: none; }
.lk-ticker__tab { all: unset; cursor: pointer; padding: 6px 9px; border-radius: 999px; font-weight: 700; font-size: 11px; letter-spacing: .05em; color: var(--lk-muted, #5F6673); }
.lk-ticker--dark .lk-ticker__tab { color: #9AA3AF; }
.lk-ticker__tab[aria-pressed="true"] { background: var(--lk-ink, #14181F); color: #fff; }
.lk-ticker--dark .lk-ticker__tab[aria-pressed="true"] { background: #F4F1EA; color: #14181F; }
.lk-ticker__tab:focus-visible { box-shadow: 0 0 0 3px rgba(15,169,122,.35); }
.lk-ticker__viewport { position: relative; flex: 1; overflow-x: auto; overflow-y: hidden; scroll-behavior: smooth; scrollbar-width: none;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 16px, #000 calc(100% - 32px), transparent 100%); mask-image: linear-gradient(90deg, transparent 0, #000 16px, #000 calc(100% - 32px), transparent 100%); }
.lk-ticker__viewport::-webkit-scrollbar { display: none; }
.lk-ticker__track { display: flex; height: 100%; }
.lk-ticker__lg { flex: none; display: flex; align-items: center; padding: 0 10px 0 14px; font-weight: 800; font-size: 10px; letter-spacing: .1em; color: var(--lk-muted, #5F6673); writing-mode: horizontal-tb; }
.lk-game { flex: none; display: grid; grid-template-columns: 1fr auto; grid-template-rows: auto 1fr 1fr; column-gap: 12px; align-content: center;
  min-width: 132px; padding: 6px 14px; border-right: 1px solid var(--lk-ticker-border, #E6DFD2); text-decoration: none; color: inherit; }
.lk-game:hover { background: var(--lk-surface-2, #F3EDE1); }
.lk-ticker--dark .lk-game:hover { background: #1C222B; }
.lk-game__status { grid-column: 1 / -1; font-size: 10px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--lk-muted, #5F6673); white-space: nowrap; }
.lk-ticker--dark .lk-game__status { color: #9AA3AF; }
.lk-game--live .lk-game__status { color: var(--lk-live, #D92D20); }
.lk-game--live .lk-game__status::before { content: ""; display: inline-block; width: 6px; height: 6px; margin-right: 5px; border-radius: 50%; background: currentColor; vertical-align: 1px; animation: lk-pulse 1.4s infinite; }
@keyframes lk-pulse { 50% { opacity: .25; } }
.lk-game__team { display: flex; align-items: center; gap: 6px; font-weight: 600; white-space: nowrap; }
.lk-game__team img { width: 16px; height: 16px; object-fit: contain; }
.lk-game__rank { font-size: 9px; color: var(--lk-muted, #5F6673); font-weight: 600; }
.lk-game__score { text-align: right; font-family: var(--lk-font-mono, ui-monospace, monospace); font-variant-numeric: tabular-nums; font-weight: 600; }
.lk-game--final .lk-game__team.is-loser, .lk-game--final .lk-game__score.is-loser { opacity: .55; font-weight: 500; }
.lk-ticker__empty { display: flex; align-items: center; padding: 0 16px; color: var(--lk-muted, #5F6673); }
.lk-ticker__ctrl { all: unset; cursor: pointer; flex: none; width: 32px; display: grid; place-items: center; border-left: 1px solid var(--lk-ticker-border, #E6DFD2); font-size: 16px; color: var(--lk-muted,#5F6673); }
@media (max-width: 640px) { .lk-ticker__tabs { display: none; } }
@media (prefers-reduced-motion: reduce) { .lk-game--live .lk-game__status::before { animation: none; } .lk-ticker__viewport { scroll-behavior: auto; } }
