/* Live sports page — uses site palette from style.css */
.lv-top{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;justify-content:space-between;margin:22px 0 14px}
.lv-top h1{margin:0 0 4px;font-size:clamp(24px,4vw,34px)}
.lv-eyebrow{color:var(--accent);font-weight:800;font-size:12px;letter-spacing:.14em;text-transform:uppercase;margin:0 0 4px}
.lv-status{margin:0;color:var(--muted);font-size:13px;display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center}
.lv-status .live-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--no);box-shadow:0 0 0 0 color-mix(in srgb,var(--down) 53%,transparent);animation:lvpulse 1.6s infinite}
@keyframes lvpulse{70%{box-shadow:0 0 0 8px color-mix(in srgb,var(--down) 0%,transparent)}100%{box-shadow:0 0 0 0 color-mix(in srgb,var(--down) 0%,transparent)}}
.lv-refresh{background:var(--panel);border:1px solid var(--line);border-radius:12px;width:40px;height:40px;cursor:pointer;display:grid;place-items:center}
.lv-refresh svg{width:20px;height:20px;fill:none;stroke:var(--accent2);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.lv-refresh.spin svg{animation:lvspin .8s linear infinite}
@keyframes lvspin{to{transform:rotate(360deg)}}
.lv-notice{border:1px solid color-mix(in srgb,var(--warning) 33%,transparent);background:#3a2a0655;color:#ffe3a3;border-radius:12px;padding:9px 14px;font-size:13px;margin:0 0 14px}
.lv-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:18px;align-items:start;margin-bottom:40px}
.lv-side{position:sticky;top:78px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:10px}
.lv-side h2{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:6px 8px 8px}
.lv-sport{display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%;background:none;border:0;color:var(--text);padding:9px 10px;border-radius:10px;cursor:pointer;font-weight:700;text-align:left}
.lv-sport:hover{background:#ffffff0d}
.lv-sport[aria-pressed=true]{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent2)}
.lv-sport i{font-style:normal;font-family:var(--mono);font-size:12px;color:var(--muted);background:#ffffff10;border-radius:20px;padding:1px 8px}
.lv-list{display:flex;flex-direction:column;gap:12px;min-width:0}
.lv-group{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent2);font-weight:800;margin:8px 4px 0}
.lv-row{background:linear-gradient(180deg,var(--panel2),var(--panel));border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;display:grid;grid-template-columns:minmax(150px,190px) minmax(0,1.25fr) minmax(0,2.4fr);gap:14px;align-items:center}
.lv-row.flagged{border-color:color-mix(in srgb,var(--warning) 33%,transparent)}
.lv-meta{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted);min-width:0}
.lv-period{display:inline-flex;align-items:center;gap:6px;color:var(--no);font-weight:800;font-size:13px}
.lv-period .live-dot{width:7px;height:7px;border-radius:50%;background:var(--no);display:inline-block}
.lv-league{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lv-vol{font-family:var(--mono);color:var(--text)}
.lv-teams{display:flex;flex-direction:column;gap:8px;min-width:0}
.lv-team{display:flex;align-items:center;gap:9px;min-width:0}
.lv-team img,.lv-team .lv-ph{width:24px;height:24px;border-radius:50%;object-fit:cover;flex:none;background:#ffffff14}
.lv-team .lv-ph{display:grid;place-items:center;font-size:11px;font-weight:800;color:var(--muted)}
.lv-tn{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}
.lv-sc{display:flex;gap:4px;flex:none}
.lv-sc b{font-family:var(--mono);min-width:22px;text-align:center;background:#ffffff10;border-radius:6px;padding:1px 4px;font-size:14px}
.lv-sc b.cur{background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent2)}
.lv-sc b.win{color:var(--accent2)}
.lv-sub{font-size:11px;color:var(--muted);font-family:var(--mono)}
.lv-bets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;min-width:0}
.lv-bk{min-width:0}
.lv-bk h4{margin:0 0 5px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:700}
.lv-bk-row{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:6px}
.lv-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;text-decoration:none;color:var(--text);background:#0a2218;border:1px solid var(--line);border-radius:10px;padding:6px 6px;min-height:50px;min-width:0;text-align:center}
.lv-btn:hover{border-color:var(--accent);background:#0f3324;color:#fff}
.lv-btn .n{font-size:11px;color:var(--muted);max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lv-btn .p{font-family:var(--mono);font-weight:800;font-size:15px;color:var(--accent2)}
.lv-btn .o{font-family:var(--mono);font-size:11px;color:var(--faint)}
.lv-btn.off{opacity:.45;cursor:not-allowed;pointer-events:none}
.lv-btn.na{opacity:.3}
.lv-foot{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;font-size:12px;color:var(--muted);border-top:1px solid var(--line-soft);padding-top:8px}
.lv-badge{display:inline-flex;gap:5px;align-items:center;border-radius:20px;padding:2px 9px;font-weight:700;font-size:11.5px;border:1px solid var(--line);background:#ffffff0a;text-decoration:none;color:var(--muted)}
.lv-badge.ok{color:var(--accent2);border-color:color-mix(in srgb,var(--accent) 33%,transparent);background:color-mix(in srgb,var(--accent) 8%,transparent)}
.lv-badge.warn{color:var(--warn);border-color:color-mix(in srgb,var(--warning) 40%,transparent);background:color-mix(in srgb,var(--warning) 8%,transparent)}
.lv-badge.bad{color:var(--no);border-color:color-mix(in srgb,var(--down) 40%,transparent);background:color-mix(in srgb,var(--down) 8%,transparent)}
.lv-m{font-family:var(--mono);color:var(--text)}
.lv-empty{background:var(--panel);border:1px dashed var(--line);border-radius:var(--r);padding:34px 16px;text-align:center;color:var(--muted)}
@media(max-width:1100px){.lv-row{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr)}.lv-bets{grid-column:1/-1}}
@media(max-width:820px){
  .lv-layout{grid-template-columns:minmax(0,1fr)}
  .lv-side{position:static;display:flex;gap:6px;overflow-x:auto;padding:8px;-webkit-overflow-scrolling:touch}
  .lv-side h2{display:none}
  .lv-sport{width:auto;white-space:nowrap;flex:none;border:1px solid var(--line)}
  .lv-row{grid-template-columns:minmax(0,1fr);gap:10px;padding:12px}
  .lv-meta{flex-direction:row;flex-wrap:wrap;gap:4px 12px;align-items:center}
  .lv-bets{grid-template-columns:minmax(0,1fr)}
}

/* ---- Цвета состояния коэффициентов (как Polymarket Sports Live) ----
   decided #E5484D (почти решено: ≥95¢ / ≤5¢) · moving #F5B83D (цена сдвинулась ≥1¢, держим 45 с) · stable #8A6A3F (бронза) */
.lv-btn{--c-bg1:#0d271c;--c-bg2:#0a2218;--c-bd:var(--line);--c-p:var(--accent2);--c-n:var(--muted);--c-o:var(--faint);background:linear-gradient(180deg,var(--c-bg1),var(--c-bg2));border-color:var(--c-bd);position:relative;transition:border-color .2s,background .2s,transform .12s,box-shadow .2s}
.lv-btn .n{color:var(--c-n)}.lv-btn .p{color:var(--c-p)}.lv-btn .o{color:var(--c-o)}
.lv-btn.st-decided{--c-bg1:#5a1c22;--c-bg2:#3d1216;--c-bd:var(--odds-decided);--c-p:#ffb3b6;--c-n:#f1c7c9;--c-o:#d99a9d}
.lv-btn.st-moving{--c-bg1:#4d3712;--c-bg2:#38280c;--c-bd:var(--odds-moving);--c-p:#ffd98a;--c-n:#f3dcae;--c-o:#d8b878}
.lv-btn.st-stable{--c-bg1:#3a2d1f;--c-bg2:#2c2218;--c-bd:#8a6a3f;--c-p:#ecd3a8;--c-n:#cdb48d;--c-o:#a8916d}
a.lv-btn:hover{transform:translateY(-1px);box-shadow:0 4px 14px #0007;filter:brightness(1.12);color:#fff;border-color:var(--c-bd);background:linear-gradient(180deg,var(--c-bg1),var(--c-bg2))}
a.lv-btn.st-decided:hover{box-shadow:0 4px 16px #e5484d40}a.lv-btn.st-moving:hover{box-shadow:0 4px 16px #f5b83d40}a.lv-btn.st-stable:hover{box-shadow:0 4px 16px #8a6a3f40}
a.lv-btn:active{transform:translateY(0);filter:brightness(.95)}
a.lv-btn:focus-visible{outline:2px solid var(--c-bd);outline-offset:2px}
.lv-btn.pulse{animation:lvOddsPulse 1.4s ease-out 2}
@keyframes lvOddsPulse{0%{box-shadow:0 0 0 0 #f5b83dcc}70%{box-shadow:0 0 0 8px #f5b83d00}100%{box-shadow:0 0 0 0 #f5b83d00}}
.lv-dir{font-style:normal;font-size:9px;margin-inline-start:3px;vertical-align:2px}
.lv-legend{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin:-4px 0 12px;font-size:12px;color:var(--muted)}
.lv-legend-t{font-weight:700}
.lv-chip{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:20px;border:1px solid;font-weight:700}
.lv-chip::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}
.lv-chip.st-decided{color:#ffb3b6;border-color:var(--odds-decided);background:#3d1216}
.lv-chip.st-moving{color:#ffd98a;border-color:var(--odds-moving);background:#38280c}
.lv-chip.st-stable{color:#ecd3a8;border-color:#8a6a3f;background:#2c2218}
@media (prefers-reduced-motion:reduce){.lv-btn.pulse{animation:none}.lv-btn{transition:none}}
/* perf: резерв места до загрузки списка, чтобы подвал и фильтры не прыгали */
#lvList{min-height:110vh}
@media(max-width:820px){.lv-side{min-height:62px;box-sizing:border-box}}
#lvDemo:empty{height:20px;margin-bottom:45px!important}
