/* ClairPlay – Live score (matchs en direct & à venir) */
.ls{padding:96px 0 88px;background:#fff;overflow:hidden}
.ls-in{max-width:1200px;margin:0 auto;padding:0 5%}
.ls-head{text-align:center;max-width:654px;margin:0 auto 32px}
.ls-head h2{margin:12px 0 10px}
.ls-live-dot{display:inline-block;width:8px;height:8px;margin-right:8px;border-radius:50%;background:#ef4444;vertical-align:1px;box-shadow:0 0 0 0 rgba(239,68,68,.6);animation:ls-pulse 1.6s infinite}
.ls-filters{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:0 auto 28px}
.ls-filters button{height:36px;padding:0 14px;border-radius:999px;border:1px solid #e6e6e6;background:#fff;color:#555;font:500 12px var(--fonts--badge,monospace);letter-spacing:.02em;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.ls-filters button:hover{border-color:#000;color:#000}
.ls-filters button[aria-selected="true"]{background:#000;color:#fff;border-color:#000}
.ls-filters button:focus-visible,.ls-card a:focus-visible{outline:2px solid #6927da;outline-offset:2px}
.ls-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.ls-card{position:relative;background:#fff;border:1px solid #ededed;border-radius:16px;box-shadow:0 14px 40px -24px rgba(0,0,0,.18);overflow:hidden;transition:transform .25s,box-shadow .25s,border-color .25s}
.ls-card:hover{transform:translateY(-3px);box-shadow:0 22px 50px -24px rgba(105,39,218,.35);border-color:#dcd6f5}
.ls-card.is-live::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#21ccee,#1470ef 33%,#6927da 71%,#f23d94)}
.ls-card a{display:flex;flex-direction:column;gap:16px;height:100%;padding:18px 18px 16px;color:inherit;text-decoration:none}
.ls-league{font:500 11px var(--fonts--badge,monospace);letter-spacing:.06em;text-transform:uppercase;color:#888;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ls-teams{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px}
.ls-team{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:0;text-align:center}
.ls-team img,.ls-ph{width:44px;height:44px;object-fit:contain}
.ls-ph{display:flex;align-items:center;justify-content:center;border-radius:50%;background:#f3f3f5;font:600 16px var(--fonts--body,sans-serif);font-style:normal;color:#555}
.ls-team b{font:600 13px/1.25 var(--fonts--body,sans-serif);color:#000;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ls-center{display:flex;flex-direction:column;align-items:center;gap:4px}
.ls-score{font:700 26px/1 var(--fonts--body,sans-serif);color:#000;letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap}
.ls-score i{font-style:normal;color:#bbb;margin:0 4px}
.ls-vs{font:600 13px var(--fonts--badge,monospace);color:#aaa}
.ls-time{font:600 15px var(--fonts--body,sans-serif);color:#000}
.ls-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding-top:12px;border-top:1px dashed #ededed}
.ls-badge{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 9px;border-radius:999px;font:500 11px var(--fonts--badge,monospace);white-space:nowrap}
.ls-badge.is-live{background:#fee2e2;color:#b91c1c}
.ls-badge.is-live i{width:6px;height:6px;border-radius:50%;background:#ef4444;animation:ls-pulse 1.6s infinite}
.ls-badge.is-done{background:#f3f3f5;color:#666}
.ls-badge.is-soon{background:#f1ecff;color:#6927da}
.ls-watch{display:inline-flex;align-items:center;gap:5px;font:600 12px var(--fonts--body,sans-serif);color:#000;white-space:nowrap}
.ls-watch svg{width:14px;height:14px}
.ls-card:hover .ls-watch{color:#6927da}
.ls-skel{height:186px;background:linear-gradient(100deg,#f6f6f7 30%,#ededf0 50%,#f6f6f7 70%) 0 0/300% 100%;animation:ls-shim 1.4s linear infinite}
.ls-empty{text-align:center;color:#666;margin:24px 0 0}
.ls-note{text-align:center;font:400 12px var(--fonts--badge,monospace);color:#a6a6a6;margin:22px 0 0}
@keyframes ls-pulse{0%{box-shadow:0 0 0 0 rgba(239,68,68,.55)}70%{box-shadow:0 0 0 7px rgba(239,68,68,0)}100%{box-shadow:0 0 0 0 rgba(239,68,68,0)}}
@keyframes ls-shim{to{background-position:-300% 0}}
@media (max-width:991px){.ls-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.ls{padding:64px 0}.ls-card:nth-child(n+5){display:none}.ls-grid{grid-template-columns:1fr}.ls-filters{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;scrollbar-width:none;margin-left:-5vw;margin-right:-5vw;padding:0 5vw}.ls-filters::-webkit-scrollbar{display:none}.ls-filters button{flex:none}}
@media (prefers-reduced-motion:reduce){.ls-live-dot,.ls-badge.is-live i,.ls-skel{animation:none}.ls-card,.ls-card:hover{transition:none;transform:none}}
html[data-theme="dark"] .ls{background:#0a0a0f}
html[data-theme="dark"] .ls-card{background:#121219;border-color:rgba(255,255,255,.1);box-shadow:none}
html[data-theme="dark"] .ls-card:hover{border-color:rgba(167,139,250,.45);box-shadow:0 22px 50px -24px rgba(105,39,218,.6)}
html[data-theme="dark"] .ls-team b,html[data-theme="dark"] .ls-score,html[data-theme="dark"] .ls-time,html[data-theme="dark"] .ls-watch{color:#f2f2f5}
html[data-theme="dark"] .ls-card:hover .ls-watch{color:#c4b5fd}
html[data-theme="dark"] .ls-league,html[data-theme="dark"] .ls-empty{color:#a1a1aa}
html[data-theme="dark"] .ls-ph,html[data-theme="dark"] .ls-badge.is-done{background:#1b1b24;color:#a1a1aa}
html[data-theme="dark"] .ls-badge.is-live{background:rgba(239,68,68,.16);color:#fca5a5}
html[data-theme="dark"] .ls-badge.is-soon{background:rgba(105,39,218,.2);color:#c4b5fd}
html[data-theme="dark"] .ls-foot{border-top-color:rgba(255,255,255,.1)}
html[data-theme="dark"] .ls-filters button{background:#121219;border-color:rgba(255,255,255,.14);color:#a1a1aa}
html[data-theme="dark"] .ls-filters button:hover{border-color:#f2f2f5;color:#f2f2f5}
html[data-theme="dark"] .ls-filters button[aria-selected="true"]{background:#f2f2f5;color:#07070b;border-color:#f2f2f5}
html[data-theme="dark"] .ls-skel{background:linear-gradient(100deg,#121219 30%,#1b1b24 50%,#121219 70%) 0 0/300% 100%}
