:root{--bg:#050914;--bg2:#08182c;--text:#f8fbff;--muted:#adc0d2;--line:#ffffff20;--deep:#061426;--red:#ef3340;--blue:#0066cc;--green:#00a859;--gold:#ffd166;--radius:28px;--shadow:0 24px 80px #0009}
    *{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial;background:radial-gradient(circle at 12% 8%,#174477 0 16%,transparent 42%),radial-gradient(circle at 88% 8%,#8c1534 0 18%,transparent 42%),radial-gradient(circle at 80% 92%,#087052 0 14%,transparent 35%),linear-gradient(135deg,var(--bg),var(--bg2) 56%,#07111f);color:var(--text);min-height:100vh}
    body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.10;background-image:linear-gradient(30deg,#fff 1px,transparent 1px);background-size:34px 34px;mask-image:radial-gradient(circle,#000,transparent 76%)}
    .wrap{width:min(1180px,calc(100% - 28px));margin:auto;padding:28px 0 48px}.hero{display:grid;grid-template-columns:1.15fr .85fr;gap:20px;align-items:stretch}.panel{border:1px solid var(--line);background:linear-gradient(180deg,#ffffff16,#ffffff08);backdrop-filter:blur(18px);border-radius:var(--radius);box-shadow:var(--shadow)}
    .title{position:relative;padding:28px;overflow:hidden}.title:after{content:"";position:absolute;right:-70px;bottom:-90px;width:330px;height:260px;background:radial-gradient(circle,#00a85955,transparent 60%),radial-gradient(circle at 70% 30%,#ef334075,transparent 48%);filter:blur(10px)}.brand{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:16px;position:relative;z-index:1}.official-logo{height:76px;max-width:330px;object-fit:contain;filter:drop-shadow(0 18px 35px #000a)}.logo-fallback{display:none;align-items:center;gap:12px;border:1px solid #ffffff28;border-radius:22px;padding:14px 16px;background:#ffffff10;font-weight:900;letter-spacing:.03em}.logo-fallback b{font-size:34px;background:linear-gradient(90deg,#fff,#ffd166,#ef3340,#0066cc);-webkit-background-clip:text;color:transparent}.badge{display:inline-flex;gap:8px;align-items:center;border:1px solid #ffffff24;border-radius:999px;padding:8px 12px;color:#dff3ff;background:#ffffff0d;font-size:13px;position:relative;z-index:1}.badge:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 16px var(--green)}
    h1{font-size:clamp(48px,8vw,82px);line-height:.95;margin:20px 0 18px;letter-spacing:-.07em;position:relative;z-index:1}.grad{background:linear-gradient(90deg,#fff 5%,#a8d8ff 48%,#ffd166 70%,#ff8da1 95%);-webkit-background-clip:text;color:transparent}.lead{font-size:clamp(16px,2.4vw,20px);line-height:1.55;color:var(--muted);max-width:760px;margin:0;position:relative;z-index:1}.stats{padding:22px;display:grid;grid-template-columns:1fr 1fr;gap:14px}.stat{background:#180d20aa;border:1px solid #ffffff12;border-radius:24px;padding:22px}.stat b{display:block;font-size:38px;line-height:1}.stat span{color:var(--muted);font-weight:700}
    .toolbar{margin:22px 0;display:grid;grid-template-columns:2fr repeat(3,1fr) auto;gap:10px;padding:14px}input,select,button{width:100%;border:1px solid #ffffff18;background:#061426;color:var(--text);border-radius:16px;padding:14px 16px;font:inherit;font-weight:750;outline:none}input::placeholder{color:#93a4b5}button{cursor:pointer;background:linear-gradient(135deg,#ef3340,#0066cc);border:0}.layout{display:grid;grid-template-columns:300px 1fr;gap:20px}.side{padding:18px;align-self:start;position:sticky;top:18px}.side h2{margin:0 0 14px;font-size:20px}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{border:1px solid #ffffff22;background:#ffffff0d;border-radius:999px;padding:9px 12px;color:#dcecff;font-weight:800;cursor:pointer}.chip:hover,.chip.active{background:linear-gradient(135deg,#ffffff28,#ffffff12);border-color:#ffd166aa;color:#fff}.chip.active:after{content:' ✓';color:#ffd166}.mini{margin-top:18px;color:var(--muted);font-size:13px;line-height:1.5}.actions{display:grid;gap:8px;margin-top:16px}.list{display:grid;gap:14px}.date-title{margin:10px 0 2px;color:#dcecff;font-size:16px;font-weight:900;text-transform:capitalize}
    .match{border:1px solid var(--line);background:linear-gradient(180deg,#ffffff14,#ffffff08);border-radius:24px;padding:18px;box-shadow:0 18px 50px #0005;position:relative;overflow:hidden}.match.live{border-color:#ef334099;box-shadow:0 0 0 1px #ef334055,0 18px 60px #ef334025}.match-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.match-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.tag{display:inline-flex;align-items:center;gap:8px;border:1px solid #ffffff22;background:#ffffff0d;border-radius:999px;padding:7px 10px;color:#d8e8f8;font-size:12px;font-weight:900}.live-dot{width:9px;height:9px;border-radius:50%;background:#ef3340;box-shadow:0 0 0 0 #ef3340;animation:pulse 1s infinite}@keyframes pulse{70%{box-shadow:0 0 0 12px #ef334000}100%{box-shadow:0 0 0 0 #ef334000}}
    .teams{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;margin:10px 0 16px}.team{display:flex;align-items:center;gap:10px;font-size:clamp(18px,3vw,26px);font-weight:950;letter-spacing:-.03em}.team.away{justify-content:flex-end;text-align:right}.flag{font-size:1.35em;line-height:1;filter:drop-shadow(0 4px 8px #0008)}.vs{color:var(--gold);font-weight:950}.info{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.info div{background:#06142699;border:1px solid #ffffff12;border-radius:16px;padding:10px;color:#c7d7e7;font-size:13px}.info b{display:block;color:#fff;font-size:13px;margin-bottom:3px}.fav{width:auto;padding:7px 10px;border-radius:999px;background:#ffffff12;border:1px solid #ffffff22;font-size:12px;white-space:nowrap}.fav.on{background:linear-gradient(135deg,#ffd166,#ef3340);color:#081426}.empty{padding:28px;text-align:center;color:var(--muted)}

    .feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}.feature-card{border:1px solid var(--line);background:linear-gradient(180deg,#ffffff12,#ffffff07);border-radius:24px;padding:16px}.feature-card h2{margin:0 0 10px;font-size:19px}.feature-card .small{color:var(--muted);font-size:13px;line-height:1.45}.mini-match{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;border-radius:16px;background:#0614269c;border:1px solid #ffffff12;margin-top:8px;cursor:pointer}.mini-match:hover{border-color:#ffd16677}.mini-teams{font-weight:900}.free-badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 8px;background:#00a85922;border:1px solid #00a85955;color:#dcfff0;font-size:11px;font-weight:900}.countdown{color:#ffd166;font-weight:950}.detail-btn,.cal-btn{width:auto;padding:7px 10px;border-radius:999px;background:#ffffff12;border:1px solid #ffffff22;font-size:12px;white-space:nowrap}.cal-btn{background:#00a85922;color:#eafff5}.modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;padding:18px;background:#0009;z-index:50}.modal.open{display:flex}.modal-card{width:min(680px,100%);max-height:92vh;overflow:auto;border:1px solid var(--line);background:linear-gradient(145deg,#0b223c,#1b1025);border-radius:28px;box-shadow:0 30px 90px #000}.modal-head{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:18px;border-bottom:1px solid var(--line)}.modal-body{padding:20px}.close{width:auto;background:#ffffff12;border:1px solid #ffffff22}.detail-title{font-size:clamp(26px,5vw,42px);font-weight:1000;letter-spacing:-.05em;margin:8px 0 16px}.venue-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:14px;margin:14px 0}.venue-photo{min-height:220px;border-radius:22px;border:1px solid #ffffff18;background:#061426 center/cover no-repeat;position:relative;overflow:hidden}.venue-photo:after{content:attr(data-label);position:absolute;left:14px;bottom:14px;right:14px;padding:10px 12px;border-radius:16px;background:#0008;border:1px solid #ffffff22;font-weight:900}.map-card{border:1px solid #ffffff18;border-radius:22px;background:linear-gradient(180deg,#061426,#0b2038);padding:14px;position:relative;overflow:hidden}.na-map{width:100%;aspect-ratio:1.38;border-radius:18px;background:radial-gradient(circle at 32% 32%,#0e5b8e55,transparent 32%),linear-gradient(135deg,#071426,#0f3154);border:1px solid #ffffff12;position:relative;overflow:hidden}.na-map svg{position:absolute;inset:0;width:100%;height:100%}.map-label{position:absolute;font-size:10px;font-weight:900;color:#dff3ff;background:#061426aa;border:1px solid #ffffff20;border-radius:999px;padding:4px 7px}.map-label.can{left:25%;top:18%}.map-label.usa{left:44%;top:48%}.map-label.mex{left:33%;top:72%}.map-ocean{position:absolute;right:9px;bottom:8px;color:#87a8c5;font-size:10px;font-weight:800;opacity:.75}.pin-map{position:absolute;width:15px;height:15px;border-radius:50%;background:#ef3340;border:3px solid #fff;box-shadow:0 0 0 8px #ef334033,0 0 25px #ef3340;transform:translate(-50%,-50%);z-index:4}.pin-map:after{content:attr(data-city);position:absolute;left:16px;top:-8px;white-space:nowrap;background:#ef3340;color:white;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:950;box-shadow:0 10px 25px #0008}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}.metric{padding:12px;border-radius:16px;background:#0614269c;border:1px solid #ffffff12}.metric b{display:block;font-size:12px;color:#adc0d2;margin-bottom:4px}.note-card{margin-top:14px;padding:14px;border-radius:18px;border:1px solid #ffd16644;background:#ffd16612;color:#f8e9be;line-height:1.45}.timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}.step{padding:12px;border-radius:16px;border:1px solid #ffffff14;background:#0614268c;color:#adc0d2;font-weight:800}.step.active{border-color:#ffd166aa;color:#fff;background:#ffd16618}.bottom-nav{display:none}

    /* V9 - navigation et expérience personnalisée */
    .tabs{margin:20px 0 14px;display:grid;grid-template-columns:repeat(5,1fr);gap:10px;padding:10px;border-radius:24px}
    .tab{background:#ffffff0d;border:1px solid #ffffff18;border-radius:18px;padding:12px 10px;color:#dcecff;font-weight:950}
    .tab.active{background:linear-gradient(135deg,#ffd166,#ef3340);color:#071426}
    .view{display:none}.view.active{display:block}
    .home-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:14px;margin-bottom:14px}
    .dashboard{padding:18px}.dashboard h2,.section-title{margin:0 0 12px;font-size:24px;letter-spacing:-.03em}.dashboard-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0}.kpi{background:#06142699;border:1px solid #ffffff12;border-radius:18px;padding:12px}.kpi b{display:block;font-size:26px}.kpi span{font-size:12px;color:var(--muted);font-weight:800}
    .team-picker{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.team-chip{width:auto;background:#ffffff0d;border:1px solid #ffffff22;border-radius:999px;padding:9px 12px}.team-chip.on{background:linear-gradient(135deg,#0066cc,#00a859);color:white}
    .stadium-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.stadium-card{overflow:hidden;border:1px solid var(--line);background:linear-gradient(180deg,#ffffff12,#ffffff07);border-radius:24px}.stadium-img{height:150px;background:#061426 center/cover no-repeat}.stadium-card .inner{padding:14px}.stadium-card h3{margin:0 0 8px}.host-map-page{padding:18px}.city-list{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px}.city-pill{border:1px solid #ffffff18;background:#06142699;border-radius:16px;padding:10px;cursor:pointer}.city-pill:hover{border-color:#ffd16677}.tv-day{margin:0 0 18px}.tv-row{display:grid;grid-template-columns:90px 1fr 170px;gap:10px;align-items:center;padding:12px;border-radius:16px;background:#0614269c;border:1px solid #ffffff12;margin:8px 0}.hero-match{border:1px solid #ffd16655;background:linear-gradient(135deg,#ffd16622,#ef334022);border-radius:22px;padding:16px}.hero-match .big{font-size:clamp(24px,4vw,42px);font-weight:1000;letter-spacing:-.04em}.empty-soft{color:var(--muted);padding:12px;border:1px dashed #ffffff25;border-radius:16px}
    @media(max-width:900px){.tabs{grid-template-columns:repeat(2,1fr)}.home-grid,.dashboard-kpis,.stadium-grid,.city-list,.tv-row{grid-template-columns:1fr}.tv-row{gap:4px}.tab{font-size:14px}}

    @media(max-width:900px){.hero,.layout,.toolbar,.feature-grid,.venue-grid{grid-template-columns:1fr}.side{position:static}.stats{grid-template-columns:1fr 1fr}.info,.metric-grid{grid-template-columns:1fr 1fr}.teams{grid-template-columns:1fr;gap:8px}.vs{display:none}.team.away{justify-content:flex-start;text-align:left}.match-head{align-items:flex-start}.match-actions{justify-content:flex-start}}
  

    .venue-photo{background:linear-gradient(135deg,#08182c,#0f3154);display:block}.venue-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}.venue-photo:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,#0000 35%,#000b)}.venue-photo:after{z-index:2}.venue-photo.no-photo{background:radial-gradient(circle at 50% 18%,#ffffff22,transparent 20%),linear-gradient(135deg,#0b223c,#061426)}.venue-photo.no-photo:before{content:"Photo du stade à compléter";display:flex;align-items:center;justify-content:center;text-align:center;padding:22px;color:#dff3ff;font-weight:900;letter-spacing:.02em;background:linear-gradient(135deg,#0b223c,#132f50)}.host-map-title{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:8px}.host-map-title span{color:#adc0d2;font-size:11px;font-weight:900}.na-map{aspect-ratio:1.42;background:linear-gradient(135deg,#061426,#0c2d52 58%,#061426)}.na-map svg .country{filter:drop-shadow(0 12px 18px #0006)}.na-map svg .border{stroke:#ffffff77;stroke-width:.35;stroke-dasharray:1.6 1.8;fill:none}.na-map svg .grid-line{stroke:#8ec8ff2e;stroke-width:.22}.map-label.can{left:33%;top:15%}.map-label.usa{left:55%;top:50%}.map-label.mex{left:42%;top:76%}.map-ocean{right:10px;bottom:9px}.city-dot{width:5px;height:5px;background:#ffd166aa}.city-dot.active{width:17px;height:17px}.city-dot.active:after{max-width:150px;overflow:hidden;text-overflow:ellipsis}

    .time-main{font-size:22px;font-weight:1000;letter-spacing:-.02em;color:#fff;line-height:1.1;margin-top:2px}.metric.time-metric{background:linear-gradient(135deg,#ffffff14,#ffd16614);border-color:#ffd16655}.metric.time-metric .big-hour{display:block;font-size:25px;font-weight:1000;color:#fff;margin-top:2px}.na-map{aspect-ratio:1.55;background:linear-gradient(135deg,#071426,#0e2c4e 55%,#061426)}.na-map svg .land{filter:drop-shadow(0 10px 18px #0005)}.city-dot{position:absolute;width:6px;height:6px;border-radius:50%;background:#ffd16699;border:1px solid #fff8;transform:translate(-50%,-50%);z-index:3}.city-dot.active{width:17px;height:17px;background:#ef3340;border:3px solid #fff;box-shadow:0 0 0 8px #ef334033,0 0 25px #ef3340;z-index:5}.city-dot.active:after{content:attr(data-city);position:absolute;left:18px;top:-8px;white-space:nowrap;background:#ef3340;color:white;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:950;box-shadow:0 10px 25px #0008}.map-compass{position:absolute;left:10px;bottom:9px;font-size:10px;color:#dff3ff;background:#061426aa;border:1px solid #ffffff20;border-radius:999px;padding:4px 7px;font-weight:900}.map-label.usa{left:47%;top:50%}.map-label.can{left:31%;top:19%}.map-label.mex{left:39%;top:77%}@media(max-width:640px){.time-main{font-size:21px}.metric.time-metric .big-hour{font-size:24px}}

    /* V10 — carte hôte plus lisible et interactive */
    .host-map-page .na-map{margin-top:16px}
    .na-map{isolation:isolate}
    .na-map.big-map{aspect-ratio:1.82;min-height:360px;border-radius:26px;background:
      radial-gradient(circle at 11% 54%,#0bb4ff20,transparent 18%),
      radial-gradient(circle at 82% 45%,#75d7ff18,transparent 20%),
      linear-gradient(135deg,#071426 0%,#0a2541 54%,#061426 100%)}
    .na-map svg .land{filter:drop-shadow(0 16px 22px #0008)}
    .na-map svg .coast{stroke:#dff3ff99;stroke-width:.42;fill:none}
    .na-map svg .country-name{font-size:5px;font-weight:900;fill:#ffffffd8;paint-order:stroke;stroke:#061426;stroke-width:1.4px;letter-spacing:.02em}
    .na-map svg .city-guide{stroke:#ffd16655;stroke-width:.18;stroke-dasharray:.9 1.4}
    .city-dot{appearance:none;width:10px;height:10px;padding:0;border-radius:999px;background:#ffd166;border:2px solid #fff;box-shadow:0 0 0 5px #ffd16622,0 8px 18px #0009;position:absolute;transform:translate(-50%,-50%);z-index:7;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,background .16s ease;border-color:#fff!important}
    .city-dot:hover,.city-dot:focus-visible{transform:translate(-50%,-50%) scale(1.42);background:#ef3340;box-shadow:0 0 0 8px #ef334033,0 12px 30px #000b;outline:none;z-index:12}
    .city-dot.active{width:18px;height:18px;background:#ef3340;border:3px solid #fff;box-shadow:0 0 0 9px #ef334033,0 0 28px #ef3340;z-index:13}
    .city-dot:after{content:attr(data-city) " · " attr(data-stadium);position:absolute;left:16px;top:-13px;white-space:nowrap;max-width:270px;overflow:hidden;text-overflow:ellipsis;background:#061426f2;color:white;border:1px solid #ffffff2c;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:950;box-shadow:0 18px 35px #000a;opacity:0;pointer-events:none;transform:translateX(-4px);transition:.16s ease}
    .city-dot:hover:after,.city-dot:focus-visible:after,.city-dot.active:after{opacity:1;transform:translateX(0)}
    .big-map .city-dot{width:12px;height:12px}.big-map .city-dot.major:after{opacity:.94;transform:translateX(0)}
    .map-legend{position:absolute;left:12px;top:12px;display:flex;gap:8px;flex-wrap:wrap;z-index:6}.map-legend span{font-size:10px;font-weight:950;color:#dff3ff;background:#061426bb;border:1px solid #ffffff22;border-radius:999px;padding:5px 8px}
    .stadium-detail-list{display:grid;gap:8px;margin-top:12px}.stadium-detail-list .mini-match{margin-top:0}.modal-card.stadium-modal{max-width:760px}
    @media(max-width:640px){.na-map.big-map{min-height:300px}.city-dot:after{max-width:190px;font-size:10px}.big-map .city-dot.major:after{opacity:0}.big-map .city-dot:hover:after,.big-map .city-dot:focus-visible:after{opacity:1}.map-legend{position:static;margin-bottom:8px}.na-map.big-map .map-legend{position:absolute}}

    /* V11 - groupes, arbre et fan zone */
    .tabs{grid-template-columns:repeat(8,1fr)}
    .v11-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.group-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.group-card{border:1px solid var(--line);background:linear-gradient(180deg,#ffffff12,#ffffff07);border-radius:22px;padding:14px}.group-card h3{margin:0 0 10px}.standings{width:100%;border-collapse:collapse;font-size:13px}.standings th,.standings td{padding:8px 6px;border-bottom:1px solid #ffffff12;text-align:left}.standings th{color:#adc0d2;font-size:11px;text-transform:uppercase}.standings td:last-child,.standings th:last-child{text-align:right}.bracket{display:grid;grid-template-columns:repeat(5,minmax(180px,1fr));gap:12px;overflow:auto;padding-bottom:8px}.round-col{display:grid;gap:10px;align-content:start}.round-col h3{margin:0 0 4px;font-size:15px;color:#ffd166}.bracket-match{min-height:78px;border:1px solid #ffffff18;background:#06142699;border-radius:18px;padding:10px}.bracket-match b{display:block;font-size:12px;color:#adc0d2;margin-bottom:5px}.fan-card{border:1px solid #ffffff18;background:linear-gradient(180deg,#ffffff12,#ffffff07);border-radius:24px;padding:16px}.quiz-option,.poll-option{display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%;margin-top:8px;background:#ffffff10;border:1px solid #ffffff1f;border-radius:16px;text-align:left}.quiz-option.good{border-color:#00a85988;background:#00a85922}.quiz-option.bad{border-color:#ef334088;background:#ef334022}.progress{height:8px;border-radius:999px;background:#ffffff16;overflow:hidden;margin-top:6px}.progress span{display:block;height:100%;background:linear-gradient(90deg,#ffd166,#ef3340,#0066cc)}.install-steps{display:grid;gap:8px;margin-top:10px}.install-steps div{padding:10px;border-radius:14px;background:#06142699;border:1px solid #ffffff12;color:#dcecff}.share-preview{border-radius:20px;border:1px solid #ffd16655;background:linear-gradient(135deg,#ffd16618,#ef334018,#0066cc18);padding:16px;margin-top:10px}.muted-pill{display:inline-flex;border:1px solid #ffffff22;border-radius:999px;padding:6px 9px;color:#adc0d2;font-size:12px;font-weight:900;margin:3px}
    @media(max-width:900px){.tabs{grid-template-columns:repeat(2,1fr)}.group-grid,.v11-grid{grid-template-columns:1fr}.bracket{grid-template-columns:1fr}}
  

    /* V17 — accueil premium stable, sans toucher au moteur */
    .hero{position:relative;overflow:hidden;grid-template-columns:1fr;margin-bottom:18px;min-height:430px;background:
      linear-gradient(90deg,#061426 0%,#071426e8 42%,#06142666 100%),
      radial-gradient(circle at 78% 25%,#ffffff22,transparent 14%),
      radial-gradient(circle at 48% 75%,#00a85922,transparent 22%),
      linear-gradient(135deg,#061426,#0d2442 58%,#061426);border:1px solid var(--line);border-radius:32px;box-shadow:var(--shadow)}
    .hero:before{content:"";position:absolute;inset:0;background:
      radial-gradient(ellipse at 76% 42%,#ffffff28 0 2%,transparent 3%),
      linear-gradient(180deg,#ffffff00 58%,#00000060),
      repeating-linear-gradient(90deg,#ffffff05 0 1px,transparent 1px 70px);opacity:.75;pointer-events:none}
    .hero:after{content:"";position:absolute;right:-8%;top:8%;width:58%;height:78%;border-radius:50%;background:radial-gradient(ellipse,#1d87ff33,transparent 58%);filter:blur(18px);pointer-events:none}
    .hero .title{border:0;background:transparent;box-shadow:none;max-width:680px;position:relative;z-index:1;padding:34px 24px}.hero .stats{display:none}
    .brand-mark{display:flex;align-items:center;gap:12px;margin-bottom:18px}.brand-mark img{width:76px;height:76px;object-fit:contain;filter:drop-shadow(0 14px 24px #0008)}.brand-text{font-weight:1000;line-height:.92;letter-spacing:-.04em;font-size:24px}.brand-text span{display:block}.brand-text .year{background:linear-gradient(135deg,#ffd166,#ef3340,#d633ff,#1589ff);-webkit-background-clip:text;background-clip:text;color:transparent}
    .title .badge{display:inline-flex;margin:0 0 16px;background:#ffffff10;border-color:#ffffff1d}.title h1{font-size:clamp(52px,9vw,112px);line-height:.88;letter-spacing:-.075em;margin:8px 0 16px}.title h1 .grad{display:block}.title .lead{font-size:clamp(18px,2.4vw,26px);max-width:760px;color:#dcecff;line-height:1.35}
    .hero-benefits{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:28px;max-width:720px}.benefit{display:grid;gap:8px;place-items:center;text-align:center;color:#fff;font-weight:950}.benefit i{font-style:normal;font-size:30px;display:grid;place-items:center;width:54px;height:54px;border-radius:18px;background:#061426cc;border:1px solid #ffffff20;box-shadow:0 14px 35px #0005}.benefit span{font-size:13px;line-height:1.15}
    .home-premium-grid{display:grid;grid-template-columns:1.05fr 1fr .95fr;gap:14px;margin-top:16px}.home-premium-grid .feature-card{min-height:245px;display:flex;flex-direction:column}.home-premium-grid .wide{grid-column:span 1}.card-title{display:flex;align-items:center;gap:8px;margin:0 0 14px;font-size:19px}.match-feature-teams{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;margin:18px 0}.match-feature-team{text-align:center;font-weight:1000}.match-feature-team .flag{font-size:48px;display:block;margin-bottom:6px}.match-feature-vs{font-size:24px;font-weight:1000;color:#fff}.match-meta-line{display:grid;gap:8px;color:#dcecff;font-weight:800}.home-btn{margin-top:auto;width:100%;border-radius:14px;border:1px solid currentColor;background:#06142688;color:#fff;padding:12px 14px;font-weight:950}.tv-mini-row,.upcoming-row,.follow-row{display:grid;grid-template-columns:60px 1fr auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #ffffff12}.tv-mini-row:last-child,.upcoming-row:last-child,.follow-row:last-child{border-bottom:0}.tv-channel{font-weight:950;color:#dcecff}.stadium-day-photo{height:94px;border-radius:16px;background:#0b223c center/cover no-repeat;border:1px solid #ffffff16;margin:8px 0 12px}.world-cup-strip{margin:18px 0;padding:18px;border:1px solid #ffffff16;border-radius:24px;background:linear-gradient(135deg,#ffd16617,#00a85914,#0066cc18);display:flex;align-items:center;justify-content:space-between;gap:18px}.world-cup-strip h2{margin:0;font-size:24px}.world-cup-strip p{margin:6px 0 0;color:#dcecff}.strip-logos{display:flex;gap:12px;font-size:36px;align-items:center}.fav-cta{margin-top:14px;padding:16px;border:1px solid #ffffff16;border-radius:20px;background:#ffffff08;display:flex;justify-content:space-between;gap:12px;align-items:center}
    .public-footer{margin-top:34px;border-top:1px solid #ffffff14;padding:22px 0;color:#adc0d2;display:flex;justify-content:space-between;gap:16px;align-items:center}.public-footer b{color:#fff}.public-footer .links{display:flex;gap:16px;flex-wrap:wrap}.public-footer button{width:auto;padding:8px 10px;border-radius:12px;background:#ffffff0a;border:1px solid #ffffff16;color:#dcecff}
    .match-head{gap:8px}.match-head>.tag{white-space:nowrap;flex:0 0 auto}.match-actions{display:flex;flex-wrap:nowrap;gap:7px;align-items:center;overflow-x:auto;max-width:100%;padding-bottom:2px;-webkit-overflow-scrolling:touch}.match-actions .tag,.match-actions button{white-space:nowrap;flex:0 0 auto}.match-actions::-webkit-scrollbar{height:0}.match-actions .fav,.match-actions .detail-btn{padding:7px 10px;font-size:12px;border-radius:12px}.match-actions .tag{font-size:11px;padding:7px 9px}.mini-details{font-size:13px;color:#adc0d2;line-height:1.45;margin-top:8px}
    @media(max-width:960px){.home-premium-grid{grid-template-columns:1fr 1fr}.home-premium-grid .feature-card:last-child{grid-column:1/-1}.hero-benefits{grid-template-columns:repeat(5,1fr)}.benefit i{width:48px;height:48px;font-size:26px}.public-footer{display:grid}}
    @media(max-width:640px){.wrap{width:min(100% - 20px,1180px);padding-top:14px}.hero{min-height:auto;border-radius:26px}.hero .title{padding:24px 16px}.brand-mark img{width:60px;height:60px}.brand-text{font-size:19px}.title h1{font-size:56px}.title .lead{font-size:17px}.hero-benefits{grid-template-columns:repeat(5,1fr);gap:6px;margin-top:22px}.benefit i{width:42px;height:42px;border-radius:14px;font-size:24px}.benefit span{font-size:11px}.home-premium-grid{grid-template-columns:1fr}.home-premium-grid .feature-card{min-height:auto}.world-cup-strip,.fav-cta{display:grid}.strip-logos{font-size:28px}.tabs{position:sticky;top:0;z-index:20;display:flex;overflow-x:auto;gap:8px;border-radius:0;margin-left:-10px;margin-right:-10px;padding:10px}.tabs .tab{white-space:nowrap;flex:0 0 auto;padding:10px 12px}.match-head{display:flex;align-items:center;flex-wrap:nowrap}.match-head>.tag{font-size:11px;max-width:42%;overflow:hidden;text-overflow:ellipsis}.match-actions{justify-content:flex-start}.match-actions .fav,.match-actions .detail-btn{font-size:11px;padding:6px 8px}.match-actions .tag{font-size:10px;padding:6px 8px}.modal-card{width:calc(100% - 14px);border-radius:22px}.metric-grid{grid-template-columns:1fr}.info{grid-template-columns:1fr 1fr}.public-footer{font-size:13px}}

  
    /* V19 — accueil dashboard premium, stable moteur */
    body{background:#020b16 radial-gradient(circle at 72% 18%,#102a58 0,#08182d 30%,#020b16 70%) fixed;color:var(--text)}
    .wrap{width:min(1320px,calc(100% - 32px));padding-top:18px}
    .site-header{position:sticky;top:12px;z-index:60;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:12px 18px;margin-bottom:18px;border-radius:28px;background:linear-gradient(180deg,#061426f4,#03101fde);backdrop-filter:blur(22px);box-shadow:0 18px 55px #0008}
    .site-logo{display:flex;align-items:center;gap:10px;cursor:pointer;min-width:170px}.site-logo img{width:58px;height:58px;}.site-logo div{line-height:.88;font-weight:1000;letter-spacing:.01em}.site-logo b{display:block;font-size:18px}.site-logo span{display:block;font-size:24px;font-weight:1000;background:linear-gradient(90deg,#ffd166,#ff4d6d,#1d87ff);-webkit-background-clip:text;color:transparent}
    .desktop-nav{display:flex;justify-content:center;gap:18px}.nav-link{background:transparent;border:0;color:#fff;font-weight:900;font-size:15px;padding:13px 4px;position:relative;cursor:pointer;white-space:nowrap}.nav-link:after{content:"";position:absolute;left:0;right:0;bottom:2px;height:3px;border-radius:999px;background:linear-gradient(90deg,#ffd166,#ff2f7d,#00d4ff);opacity:0;transform:scaleX(.2);transition:.2s}.nav-link.active:after,.nav-link:hover:after{opacity:1;transform:scaleX(1)}
    .site-actions{display:flex;align-items:center;gap:10px}.icon-action,.fav-action,.mobile-menu{border:1px solid #ffffff25;background:#061426cc;color:#fff;border-radius:14px;padding:11px 14px;font-weight:950;cursor:pointer}.fav-action{border-color:#ffd16666}.icon-action{font-size:22px;width:48px;height:48px;display:grid;place-items:center}.mobile-menu{display:none}
    .hero{min-height:420px;border-radius:32px;border:1px solid #ffffff18;background:linear-gradient(90deg,#061426 0%,#061426e8 39%,#06142680 63%,#06142620 100%),radial-gradient(circle at 82% 40%,#ffd16622 0 3%,transparent 19%),radial-gradient(circle at 76% 50%,#ffffff2a 0 1%,transparent 19%),linear-gradient(135deg,#061426,#0b315c 48%,#07111f);box-shadow:var(--shadow);position:relative;overflow:hidden;margin-bottom:18px}.hero:before{background:linear-gradient(12deg,transparent 0 51%,#ffffff18 51.2% 51.6%,transparent 52%),radial-gradient(ellipse at 78% 68%,#00a85955 0 12%,transparent 33%),repeating-linear-gradient(90deg,transparent 0 76px,#ffffff08 77px 78px),repeating-linear-gradient(0deg,transparent 0 54px,#ffffff05 55px 56px)}
    .hero:after{content:"";position:absolute;right:-10%;bottom:-32%;width:78%;height:72%;border-radius:50%;background:radial-gradient(ellipse,#ffffff24 0 2%,#ffffff08 3% 5%,transparent 6%),radial-gradient(ellipse,#1d87ff33,transparent 58%);filter:blur(2px);pointer-events:none}
    .hero .title{padding:42px 34px;max-width:700px}.brand-mark{display:none}.badge{display:none}.title h1{font-size:clamp(62px,8vw,112px);line-height:.86;margin:0 0 20px;letter-spacing:-.06em}.title .lead{font-size:clamp(20px,2.1vw,26px);max-width:620px;color:#f4f8ff;margin-bottom:24px}.hero-benefits{grid-template-columns:repeat(5,1fr);gap:18px;margin-top:32px}.benefit i{background:#061426aa;border-color:#ffffff22}.benefit span{font-size:15px;text-shadow:0 3px 16px #000}
    .hero-kpis{display:grid;grid-template-columns:repeat(3,1fr);max-width:420px;border:1px solid #ffffff25;border-radius:18px;overflow:hidden;margin-top:24px}.hero-kpis div{padding:14px 18px;background:#06142680;border-right:1px solid #ffffff18}.hero-kpis div:last-child{border-right:0}.hero-kpis b{font-size:28px;display:block}.hero-kpis span{font-size:13px;color:#dcecff;font-weight:800}
    .home-premium-grid{grid-template-columns:1.05fr 1fr .95fr .95fr .95fr;align-items:stretch;gap:14px}.home-premium-grid .feature-card{min-height:270px;border-radius:22px}.feature-card{border:1px solid #ffffff18;background:linear-gradient(180deg,#061426ee,#03101fd8);box-shadow:0 20px 55px #0007}.feature-card:nth-child(1){border-color:#ff2f7d66;background:linear-gradient(145deg,#211038,#061426)}.feature-card:nth-child(2){border-color:#00a3ff66}.feature-card:nth-child(3){border-color:#ffd16666}.feature-card:nth-child(4){border-color:#00a85966}.feature-card:nth-child(5){border-color:#1d87ff66}.card-title{font-size:17px;text-transform:uppercase;letter-spacing:.01em}.match-feature-teams{margin:12px 0}.match-feature-team .flag{font-size:56px}.match-meta-line{font-size:14px}.home-btn{border-radius:13px;text-transform:none}.tv-mini-row,.upcoming-row,.follow-row{font-size:14px}.stadium-day-photo{height:116px}
    .world-cup-strip{display:grid;grid-template-columns:auto 1fr;align-items:center;margin-top:22px;padding:22px;background:linear-gradient(90deg,#20100c,#06231e,#061426);border-color:#ffd16633}.world-cup-strip:before{content:"🏆";font-size:58px;filter:drop-shadow(0 10px 20px #000)}.strip-logos{justify-content:flex-end}.fav-cta{background:#061426cc;border-radius:18px}.public-footer{margin-top:28px;border-radius:24px;background:#061426e0;border:1px solid #ffffff14;padding:20px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#dcecff}.public-footer .footer-brand{display:flex;align-items:center;gap:12px}.public-footer img{width:54px;height:54px}.public-footer b{display:block;color:#fff}.footer-links{display:flex;gap:22px;flex-wrap:wrap}.footer-links button{background:transparent;border:0;color:#dcecff;font-weight:800;cursor:pointer}
    .tabs{margin-bottom:20px}.match-head{gap:8px}.match-actions{display:flex;flex-wrap:nowrap;align-items:center;gap:6px}.match-actions .fav,.match-actions .detail-btn,.match-actions .tag{white-space:nowrap;flex:0 0 auto}.time-main{font-size:28px!important;font-weight:1000;color:#fff}
    .note-card{display:none!important}
    @media(max-width:1180px){.desktop-nav{gap:10px}.nav-link{font-size:13px}.home-premium-grid{grid-template-columns:repeat(2,1fr)}.home-premium-grid .feature-card:nth-child(5){grid-column:1/-1}.hero{min-height:360px}}
    @media(max-width:780px){.wrap{width:min(100% - 18px,1320px);padding-bottom:88px}.site-header{top:8px;grid-template-columns:auto 1fr auto;padding:10px 12px;border-radius:22px}.mobile-menu{display:block;width:44px;height:44px;padding:0}.site-logo img{width:44px;height:44px}.site-logo{min-width:0}.site-logo div b{font-size:13px}.site-logo div span{font-size:18px}.desktop-nav{display:none}.site-actions{gap:6px}.icon-action{width:42px;height:42px;font-size:18px}.fav-action{font-size:12px;padding:10px 12px}.hero{border-radius:26px;min-height:0}.hero .title{padding:28px 18px}.title h1{font-size:54px;line-height:.9}.title .lead{font-size:16px}.hero-benefits{grid-template-columns:repeat(5,1fr);gap:7px;margin-top:18px}.benefit i{width:40px;height:40px;font-size:22px}.benefit span{font-size:10px}.hero-kpis{grid-template-columns:repeat(3,1fr);max-width:100%}.hero-kpis div{padding:10px 8px}.hero-kpis b{font-size:22px}.hero-kpis span{font-size:11px}.home-premium-grid{grid-template-columns:1fr;gap:12px}.home-premium-grid .feature-card{min-height:auto}.feature-card:nth-child(n+3){padding:14px}.world-cup-strip{grid-template-columns:1fr;padding:16px}.world-cup-strip:before{display:none}.fav-cta{display:grid}.public-footer{display:grid;text-align:left}.footer-links{gap:12px}.tabs{position:fixed;left:0;right:0;bottom:0;top:auto;z-index:80;margin:0;border-radius:22px 22px 0 0;padding:9px 8px;display:grid;grid-template-columns:repeat(5,1fr);overflow:visible;background:#061426f6}.tabs .tab{font-size:11px;line-height:1.1;white-space:normal;padding:8px 4px;border-radius:14px}.tabs .tab:nth-child(4),.tabs .tab:nth-child(5),.tabs .tab:nth-child(8){display:none}.match-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}.match-head>.tag{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.match-actions{justify-content:flex-end;max-width:100%;overflow:hidden}.match-actions .fav,.match-actions .detail-btn,.match-actions .tag{font-size:10px;padding:6px 7px}.match-actions .tag:first-child{display:none}.time-main{font-size:25px!important}.modal-card{max-height:88vh}}

  
    /* V19 correctifs navigation + hero premium */
    .hero{background:
      linear-gradient(90deg,#061426 0%,#061426f4 34%,#061426b8 52%,#06142644 75%,#06142611 100%),
      radial-gradient(circle at 78% 30%,#ffffff3a 0 1.2%,transparent 8%),
      radial-gradient(ellipse at 74% 58%,#00a85960 0 10%,transparent 30%),
      url('https://images.unsplash.com/photo-1508098682722-e99c43a406b2?auto=format&fit=crop&w=1600&q=80') center right/cover no-repeat !important;
    }
    .hero:before{background:
      linear-gradient(12deg,transparent 0 51%,#ffffff18 51.2% 51.6%,transparent 52%),
      repeating-linear-gradient(90deg,transparent 0 76px,#ffffff08 77px 78px),
      repeating-linear-gradient(0deg,transparent 0 54px,#ffffff05 55px 56px) !important;
    }
    .hero:after{background:radial-gradient(ellipse at 82% 60%,#1d87ff38,transparent 58%) !important}
    .site-logo,.nav-link,.tab,.icon-action,.fav-action,.home-btn,.mini-match,.city-pill,.stadium-card,button{touch-action:manipulation}
    @media(max-width:780px){
      .site-header{gap:10px}
      .site-actions{gap:10px;margin-left:8px}
      .icon-action{margin-left:4px}
      .fav-action{white-space:nowrap}
      .tabs .tab{white-space:nowrap;font-size:10px}
    }


    /* V21 — corrections navigation mobile/desktop */
    html{scroll-behavior:smooth;scroll-padding-top:112px}
    .mobile-drawer{display:none}
    @media(max-width:780px){
      html{scroll-padding-top:92px}
      .wrap{padding-bottom:24px!important}
      .site-header{gap:12px!important}
      .mobile-menu{display:grid!important;place-items:center;flex:0 0 44px}
      .site-actions{gap:10px!important}
      .icon-action{margin-left:8px}
      .tabs{display:none!important;position:static!important}
      .mobile-drawer{display:none;position:sticky;top:78px;z-index:55;margin:-8px 0 14px;padding:10px;border:1px solid #ffffff18;border-radius:20px;background:#061426f5;box-shadow:0 18px 45px #0008;grid-template-columns:repeat(2,1fr);gap:8px}
      .mobile-drawer.open{display:grid}
      .mobile-drawer button{padding:12px 10px;border-radius:14px;background:#ffffff0d;border:1px solid #ffffff16;color:#eaf5ff;font-weight:950;text-align:left}
      .mobile-drawer button.active{background:linear-gradient(135deg,#ffd166,#ef3340);color:#061426;border-color:transparent}
    }
    @media(min-width:781px){.mobile-drawer{display:none!important}}


    /* V22 — accès direct aux matchs sur mobile */
    @media(max-width:780px){
      #view-matches .toolbar,
      #view-matches .side,
      #view-matches .feature-grid{
        display:none!important;
      }
      #view-matches .layout{
        display:block!important;
      }
      #view-matches .list{
        margin-top:0!important;
      }
      #view-matches{
        scroll-margin-top:88px;
      }
      #list{
        scroll-margin-top:96px;
      }
    }

  
    /* V23 — pop-up détails plus fluide sur mobile : seul le contenu du pop-up défile */
    body.modal-lock{overflow:hidden!important;touch-action:none}
    .modal{overscroll-behavior:contain;touch-action:none;padding:14px}
    .modal-card{display:flex;flex-direction:column;overflow:hidden;max-height:min(92dvh,760px)}
    .modal-head{position:sticky;top:0;z-index:5;background:linear-gradient(145deg,#0b223c,#1b1025);backdrop-filter:blur(16px)}
    .modal-body{overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;max-height:calc(min(92dvh,760px) - 74px);padding-bottom:28px}
    .modal-body img{max-width:100%;display:block}
    .close{position:relative;z-index:6}


    /* V24 — recherche mobile sous forme de panneau dédié */
    .mobile-search-close{display:none}
    @media(max-width:780px){
      body.mobile-search-open{overflow:hidden}
      body.mobile-search-open::after{
        content:'';position:fixed;inset:0;background:#0009;backdrop-filter:blur(8px);z-index:110;
      }
      body.mobile-search-open #view-matches .toolbar{
        display:grid!important;position:fixed;left:12px;right:12px;top:82px;z-index:130;
        grid-template-columns:1fr!important;gap:10px;padding:14px;border-radius:24px;
        box-shadow:0 28px 80px #000c;border-color:#ffffff30;background:#071426f8;
      }
      body.mobile-search-open #view-matches .toolbar input,
      body.mobile-search-open #view-matches .toolbar select,
      body.mobile-search-open #view-matches .toolbar button{
        min-height:48px;font-size:15px;
      }
      body.mobile-search-open #view-matches .toolbar .mobile-search-close{
        display:block;background:#ffffff12;border:1px solid #ffffff25;color:#fff;
      }
    }

    @media(max-width:780px){.modal{align-items:flex-end;padding:8px;background:#000c}.modal-card{width:100%;max-height:88dvh;border-radius:24px 24px 0 0}.modal-head{padding:14px 14px}.modal-body{max-height:calc(88dvh - 64px);padding:16px 14px 28px}.modal-head .close{padding:10px 14px;border-radius:999px}.venue-grid{grid-template-columns:1fr!important}.venue-photo{min-height:190px}.detail-title{font-size:30px!important;line-height:1.02}}

    /* V25 — modal fluide desktop/mobile : verrouille l’arrière-plan et masque la navigation */
    html.modal-lock, body.modal-lock{overflow:hidden!important}
    body.modal-lock .site-header,
    body.modal-lock .tabs,
    body.modal-lock .mobile-drawer{opacity:0!important;pointer-events:none!important;transform:translateY(-10px);transition:opacity .18s ease,transform .18s ease}
    body.modal-lock .modal{z-index:9999!important}
    .modal{overflow:hidden;overscroll-behavior:none}
    .modal-card{overscroll-behavior:contain}
    .modal-body{overscroll-behavior:contain}
    @media(min-width:781px){.modal{align-items:center!important}.modal-card{max-height:calc(100dvh - 48px)!important}.modal-body{max-height:calc(100dvh - 140px)!important}}


    /* V28 — bannière d’installation PWA */
    .install-banner{position:fixed;left:50%;bottom:18px;transform:translateX(-50%) translateY(20px);width:min(560px,calc(100% - 24px));z-index:9000;display:none;align-items:center;gap:14px;padding:14px;border:1px solid #ffffff22;border-radius:24px;background:linear-gradient(135deg,#071426f8,#101f3cf8 55%,#261124f8);box-shadow:0 24px 80px #000b;backdrop-filter:blur(20px);opacity:0;transition:.25s ease}
    .app-update-banner{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);width:min(480px,calc(100% - 32px));z-index:9500;background:linear-gradient(90deg,#ffd166,#ff9f43);color:#061426;padding:14px 18px;border-radius:18px;font-weight:900;font-size:14px;display:flex;align-items:center;justify-content:center;gap:14px;box-shadow:0 12px 32px #00000066;font-family:inherit;flex-wrap:wrap;text-align:center}
    .app-update-banner button{background:#061426;color:#ffd166;-webkit-text-fill-color:#ffd166;border:none;border-radius:10px;padding:8px 14px;font-weight:900;cursor:pointer;font-family:inherit;flex-shrink:0}
    @media(max-width:780px){.app-update-banner{bottom:80px;padding:12px 16px;font-size:13px;width:calc(100% - 24px)}}
    .install-banner.show{display:flex;opacity:1;transform:translateX(-50%) translateY(0)}
    .install-banner img{width:48px;height:48px;border-radius:14px;box-shadow:0 10px 24px #0008;flex:0 0 auto}.install-banner-text{min-width:0;flex:1}.install-banner-text b{display:block;font-size:15px}.install-banner-text span{display:block;color:#adc0d2;font-size:12px;margin-top:2px}.install-banner-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}.install-btn{width:auto;padding:11px 13px;border-radius:14px;background:linear-gradient(135deg,#ffd166,#ef3340);color:#071426;font-size:13px;font-weight:1000}.install-close{width:40px;height:40px;padding:0;border-radius:14px;background:#ffffff12;border:1px solid #ffffff20;color:#fff;font-size:18px}

    /* V28 — fiches équipes premium */
    .teams-overview{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;margin-top:18px}.team-card-premium{position:relative;overflow:hidden;border:1px solid #ffffff16;border-radius:24px;background:linear-gradient(145deg,#061426,#0b223c);padding:18px;cursor:pointer;box-shadow:0 18px 48px #0006;transition:.2s}.team-card-premium:hover{transform:translateY(-2px);border-color:#ffd16688}.team-card-premium .team-flag-big{font-size:48px;line-height:1;margin-bottom:12px}.team-card-premium h3{margin:0;font-size:22px;letter-spacing:-.03em}.team-card-premium p{margin:8px 0 0;color:#adc0d2;font-size:13px;line-height:1.45}.team-card-premium .team-card-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.team-card-premium .team-card-meta span{font-size:11px;font-weight:900;border:1px solid #ffffff18;background:#ffffff0d;border-radius:999px;padding:6px 8px}.team-card-premium.followed{border-color:#ffd16699;background:linear-gradient(145deg,#201036,#061426)}.team-detail-hero{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:center;margin-bottom:16px}.team-detail-hero .flag-hero{font-size:72px;filter:drop-shadow(0 12px 24px #0008)}.team-detail-hero h2{margin:0;font-size:clamp(34px,6vw,58px);letter-spacing:-.06em}.team-detail-hero p{margin:6px 0 0;color:#adc0d2}.team-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.team-detail-card{border:1px solid #ffffff14;border-radius:22px;background:#0614269c;padding:16px}.team-detail-card h3{margin:0 0 12px}.team-match-row,.team-stadium-row{display:grid;grid-template-columns:72px 1fr auto;gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid #ffffff12}.team-match-row:last-child,.team-stadium-row:last-child{border-bottom:0}.team-match-row b,.team-stadium-row b{display:block}.team-match-row small,.team-stadium-row small{color:#adc0d2}.team-path{display:grid;gap:8px}.team-path div{border:1px solid #ffffff14;background:#ffffff08;border-radius:16px;padding:12px;font-weight:900}.team-path div span{display:block;margin-top:4px;color:#adc0d2;font-size:12px;font-weight:700}.team-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.team-actions button{width:auto}.team-link{cursor:pointer}.team-link:hover{text-decoration:underline;text-decoration-color:#ffd166;text-underline-offset:4px}@media(max-width:780px){.teams-overview{grid-template-columns:1fr 1fr;gap:10px}.team-card-premium{padding:14px;border-radius:20px}.team-card-premium .team-flag-big{font-size:36px}.team-card-premium h3{font-size:17px}.team-card-premium p{font-size:12px}.team-detail-grid{grid-template-columns:1fr}.team-detail-hero{grid-template-columns:1fr;text-align:center}.team-detail-hero .flag-hero{font-size:64px}.team-match-row,.team-stadium-row{grid-template-columns:58px 1fr;}.team-match-row .free-badge{grid-column:1/-1;justify-self:start}.team-card-premium .team-card-meta span:nth-child(n+3){display:none}}

    .install-help{position:fixed;inset:0;z-index:10000;display:none;align-items:center;justify-content:center;padding:18px;background:#000a;backdrop-filter:blur(10px)}.install-help.open{display:flex}.install-help-card{width:min(430px,100%);border:1px solid #ffffff22;border-radius:28px;background:linear-gradient(145deg,#0b223c,#1b1025);box-shadow:0 30px 90px #000;padding:22px}.install-help-card h2{margin:0 0 8px;font-size:24px}.install-help-card p{margin:0 0 14px;color:#adc0d2;line-height:1.45}.install-steps-clean{display:grid;gap:10px;margin:14px 0}.install-step-clean{display:flex;gap:10px;align-items:flex-start;border:1px solid #ffffff16;background:#061426aa;border-radius:18px;padding:12px;color:#eaf5ff}.install-step-clean b{display:grid;place-items:center;width:26px;height:26px;border-radius:999px;background:linear-gradient(135deg,#ffd166,#ef3340);color:#071426;flex:0 0 auto}.install-help-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.install-secondary{background:#ffffff12;border:1px solid #ffffff20;color:#fff}
    @media(max-width:780px){.install-banner{bottom:14px;border-radius:22px}.install-banner img{width:44px;height:44px}.install-banner-text b{font-size:14px}.install-banner-text span{font-size:11px}.install-btn{padding:10px 11px;font-size:12px}.install-close{width:38px;height:38px}.install-banner-actions{gap:6px}body.mobile-search-open .install-banner,body.modal-lock .install-banner{display:none!important}}

  
    @media(max-width:780px){.hero-stadium-day{align-items:flex-start!important}.hero-stadium-day>div:last-child{width:100%}.hero-stadium-day button{flex:1;min-width:140px}}

  

    /* V36 — score/statut Supabase stable sans casser détails/favoris */
    .score-pill{display:grid;place-items:center;min-width:86px;padding:8px 12px;border-radius:18px;background:linear-gradient(135deg,#ffffff18,#ffffff0a);border:1px solid #ffffff24;box-shadow:0 12px 26px #0005}
    .score-pill .score-line{font-size:clamp(24px,4vw,38px);font-weight:1000;letter-spacing:-.04em;color:#fff;line-height:1}
    .score-pill .score-state{margin-top:4px;font-size:11px;font-weight:950;color:#ffd166;text-transform:uppercase;white-space:nowrap}
    .score-pill.live-score{border-color:#ef334088;background:linear-gradient(135deg,#ef334026,#ffffff0a)}
    .score-pill.finished-score{border-color:#00a85966;background:linear-gradient(135deg,#00a85922,#ffffff0a)}
    .score-detail{display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:center;margin:16px 0 18px;padding:16px;border-radius:22px;background:#06142699;border:1px solid #ffffff18}
    .score-detail-team{font-size:18px;font-weight:1000}.score-detail-team.away{text-align:right}.score-detail-center{font-size:40px;font-weight:1000;color:#fff;letter-spacing:-.05em;text-align:center}.score-detail-status{text-align:center;color:#ffd166;font-weight:950;font-size:12px;text-transform:uppercase;margin-top:4px}
    @media(max-width:640px){.score-pill{min-width:72px;padding:7px 10px}.score-pill .score-line{font-size:28px}.score-detail{grid-template-columns:1fr;gap:8px;text-align:center}.score-detail-team.away{text-align:center}.score-detail-center{font-size:36px}}


    /* V71 — buteurs / événements de match */
    .goal-events{margin:14px 0 16px;border:1px solid #ffffff18;background:linear-gradient(180deg,#ffffff10,#ffffff06);border-radius:22px;padding:14px}
    .goal-events h3{margin:0 0 10px;font-size:17px;letter-spacing:-.02em}
    .goal-row{display:grid;grid-template-columns:54px 1fr;gap:10px;align-items:start;padding:10px 0;border-top:1px solid #ffffff12}
    .goal-row:first-of-type{border-top:0}.goal-minute{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#ffd16622;border:1px solid #ffd16655;color:#ffd166;font-weight:1000;padding:5px 8px;white-space:nowrap}.goal-player{font-weight:1000;color:#fff}.goal-meta{display:block;color:#adc0d2;font-size:12px;margin-top:2px}.match-scorers-mini{margin:-4px 0 12px;padding:10px 12px;border-radius:16px;background:#06142688;border:1px solid #ffffff12;color:#dcecff;font-size:13px;line-height:1.45}.match-scorers-mini b{color:#ffd166}
    @media(max-width:640px){.goal-events{padding:12px;border-radius:18px}.goal-row{grid-template-columns:48px 1fr}.match-scorers-mini{font-size:12px}}


    /* V38 — classements automatiques des groupes */
    .standings .rank{width:32px;color:#ffd166;font-weight:1000;text-align:center}.standings .team-cell{font-weight:900}.standings .num{text-align:center}.standings .pts{font-size:16px;color:#fff}.standings .gd-positive{color:#7df0b2}.standings .gd-negative{color:#ff9aa8}.group-card.has-results{border-color:#ffd16655;background:linear-gradient(180deg,#ffffff14,#ffd16608)}.group-card .group-note{margin-top:10px;color:#adc0d2;font-size:12px;line-height:1.45}
    @media(max-width:640px){.standings{font-size:12px}.standings th,.standings td{padding:7px 4px}.standings .hide-mobile{display:none}.standings .pts{font-size:15px}}



    /* V41 — ordre mobile accueil + favoris propre */
    @media(max-width:780px){
      #featuredBox{order:1}
      #freeTodayBox{order:2}
      #homeUpcomingBox{order:3}
      #stadiumDiscoveryBox{order:4}
      #monMondialBox{order:5}
    }

    .poll-match-card{border:1px solid #ffffff14;background:#06142688;border-radius:18px;padding:12px;margin-top:12px}
    .poll-option[disabled]{opacity:.82;cursor:default}

    /* V48 — Hero PC rempli + nettoyage choix équipes */
    .hero-info-card{
      position:absolute;right:34px;top:50%;transform:translateY(-50%);z-index:3;
      width:min(390px,34vw);border:1px solid #ffffff24;border-radius:28px;
      background:linear-gradient(145deg,#061426ee,#101f3ccf 55%,#271122d8);
      box-shadow:0 28px 80px #0009;backdrop-filter:blur(18px);padding:20px;overflow:hidden
    }
    .hero-info-card:before{content:"";position:absolute;inset:-1px;background:radial-gradient(circle at 78% 15%,#ffd16633,transparent 28%),radial-gradient(circle at 5% 100%,#00a85933,transparent 30%);pointer-events:none}
    .hero-info-card>*{position:relative;z-index:1}.hero-info-eyebrow{display:inline-flex;align-items:center;gap:7px;border:1px solid #ffffff24;background:#ffffff10;border-radius:999px;padding:7px 10px;color:#ffd166;font-size:12px;font-weight:1000;letter-spacing:.05em;text-transform:uppercase}
    .hero-info-title{font-size:28px;line-height:1.05;font-weight:1000;letter-spacing:-.04em;margin:14px 0 8px}.hero-info-sub{color:#dcecff;line-height:1.45;font-weight:800;margin-bottom:14px}.hero-info-score{display:flex;align-items:center;justify-content:center;gap:18px;margin:14px 0 16px;padding:14px;border-radius:20px;background:#00000025;border:1px solid #ffffff16}.hero-info-team{text-align:center;font-weight:1000;min-width:0}.hero-info-team span{display:block;font-size:34px;margin-bottom:4px}.hero-info-vs{font-size:24px;font-weight:1000;color:#ffd166}.hero-info-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.hero-info-meta div{border:1px solid #ffffff14;background:#06142699;border-radius:16px;padding:10px;color:#adc0d2;font-size:12px}.hero-info-meta b{display:block;color:#fff;margin-bottom:3px}.hero-info-actions{display:flex;gap:10px;margin-top:14px}.hero-info-actions button{width:auto;flex:1;padding:11px 12px;border-radius:14px}.hero-info-actions button.secondary{background:#ffffff10;border:1px solid #ffffff20;color:#fff}.fav-cta{display:none!important}
    @media(max-width:900px){.hero-info-card{display:none!important}.hero{background-position:center right!important}}
    @media(min-width:901px){.hero .title{max-width:720px}.hero .lead{max-width:560px}.hero-benefits{max-width:640px}.hero-kpis{max-width:390px}}


    /* V53 DEV — bloc Actualités SEO */
    .news-preview{margin-top:18px;background:linear-gradient(135deg,#07182a,#09111f);border:1px solid #ffffff16;border-radius:24px;padding:20px;box-shadow:0 18px 50px #00000030}
    .news-preview-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-end;margin-bottom:14px}
    .news-preview h2{margin:0;color:#fff;font-size:26px}.news-preview p{margin:6px 0 0;color:#adc0d2}.news-preview a.news-all{color:#071426;background:#ffd166;border-radius:14px;padding:10px 14px;text-decoration:none;font-weight:950;white-space:nowrap}
    .news-preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.news-card-home{display:block;text-decoration:none;color:#eaf5ff;background:#ffffff08;border:1px solid #ffffff12;border-radius:18px;padding:16px;min-height:145px}.news-card-home:hover{background:#ffffff12;transform:translateY(-1px)}.news-card-home .cat{display:inline-flex;margin-bottom:10px;color:#ffd166;font-weight:900;font-size:12px;text-transform:uppercase;letter-spacing:.06em}.news-card-home h3{margin:0 0 8px;font-size:18px;line-height:1.15}.news-card-home p{font-size:13px;margin:0;color:#b9c9d8}.news-card-home small{display:block;margin-top:12px;color:#7f94aa;font-weight:800}.news-card-img{height:108px;border-radius:14px;margin:-4px -4px 12px;background:#0b223c center/cover no-repeat;border:1px solid #ffffff12}
    @media(max-width:780px){.news-preview-head{display:grid}.news-preview-grid{grid-template-columns:1fr}.news-preview a.news-all{display:inline-flex;justify-content:center}}


    /* V54 DEV — footer liens alignés en deux lignes */
    .footer-links{
      display:grid!important;
      grid-template-columns:repeat(4,max-content);
      gap:12px 24px!important;
      justify-content:center;
      align-items:center;
    }
    .footer-links button,
    .footer-links a{
      white-space:nowrap;
    }
    @media(max-width:780px){
      .footer-links{
        grid-template-columns:repeat(2,max-content);
        justify-content:start;
        gap:10px 18px!important;
      }
    }


  
/* V72 — Hero uniquement sur l'accueil */
body:not(.home-active) .hero{
  display:none!important;
}

/* V72 — ancrage prochain match */
.next-match-anchor{
  scroll-margin-top:120px;
}
@media(max-width:780px){
  .next-match-anchor{
    scroll-margin-top:96px;
  }
}

  
/* V76 — Pronostics visiteurs */
.prediction-card{margin-top:14px;margin-bottom:20px;border:1px solid #ffffff16;background:#06142699;border-radius:20px;padding:14px}
.prediction-card h3{margin:0 0 8px;font-size:18px}
.prediction-sub{color:#adc0d2;font-size:13px;line-height:1.45;margin:0 0 12px}
.prediction-options{display:grid;gap:8px}
.prediction-option{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;width:100%;text-align:left;background:#ffffff0d;border:1px solid #ffffff1f;border-radius:16px;padding:11px 12px;color:#fff}
.prediction-option:hover{border-color:#ffd16688}
.prediction-option.selected{background:linear-gradient(135deg,#ffd16624,#ef334024);border-color:#ffd166aa}
.prediction-option[disabled]{cursor:default;opacity:.95}
.prediction-option b{font-size:14px}
.prediction-option span{font-size:12px;color:#adc0d2;font-weight:900}
.prediction-bar{height:8px;background:#ffffff14;border-radius:999px;overflow:hidden;margin-top:7px}
.prediction-bar i{display:block;height:100%;background:linear-gradient(90deg,#ffd166,#ef3340,#0066cc);border-radius:999px}
.prediction-note{margin-top:10px;color:#adc0d2;font-size:12px;line-height:1.4}
.prediction-total{display:inline-flex;margin-top:8px;border:1px solid #ffffff18;background:#ffffff0a;border-radius:999px;padding:6px 9px;color:#dcecff;font-size:12px;font-weight:900}


/* V77 SAFE — Hero mobile allégé uniquement */
@media(max-width:780px){
  .hero{min-height:auto!important;margin-bottom:12px!important}
  .hero .title{padding:18px 16px!important}
  .title .badge{display:none!important}
  .hero-benefits{display:none!important}
  .title h1{font-size:42px!important;line-height:.9!important;margin:0 0 10px!important}
  .title .lead{font-size:14px!important;line-height:1.35!important;margin-bottom:0!important}
}

/* V77 SAFE — accès pronostic rapide sans casser le moteur */
.quick-predict-btn{
  margin:10px 0 12px;
  width:100%;
  border:1px solid #ffd16655;
  background:linear-gradient(135deg,#ffd16622,#ef334022);
  color:#fff;
  border-radius:16px;
  padding:10px 12px;
  font-weight:1000;
}
.quick-predict-btn.quick-predict-done{
  border:1px solid #00c96e55;
  background:linear-gradient(135deg,#00a85922,#00c96e22);
}


/* ─── V80 CHALLENGE + LEADERBOARD ──────────────────────────────────────── */

/* Leaderboard */
.challenge-leaderboard{background:#061426e8;border:1px solid #ffffff14;border-radius:22px;padding:20px;margin-top:12px}

.podium-wrap{display:flex;align-items:flex-end;justify-content:center;gap:8px;margin:14px 0 20px}
.podium-col{display:flex;flex-direction:column;align-items:center;width:30%;max-width:104px}
.podium-medal{font-size:22px;margin-bottom:4px}
.podium-col-first .podium-medal{font-size:30px}
.podium-avatar{width:52px;height:52px;border-radius:50%;background:#ffffff10;display:flex;align-items:center;justify-content:center;font-size:24px;margin-bottom:6px;border:2px solid #c7d2e0}
.podium-col-first .podium-avatar{width:60px;height:60px;font-size:28px;border-color:#ffd166;background:#ffd16622}
.podium-name{font-size:12px;font-weight:700;color:#fff;text-align:center}
.podium-col-first .podium-name{font-size:13px;font-weight:900;color:#ffd166}
.podium-pts{font-size:11px;color:#8fa6bd;margin-bottom:8px}
.podium-col-first .podium-pts{color:#ffd166;font-weight:700}
.podium-bar{width:100%;background:linear-gradient(180deg,#c7d2e022,#c7d2e00a);border-radius:10px 10px 0 0;border:1px solid #c7d2e033;border-bottom:none}
.podium-col-first .podium-bar{background:linear-gradient(180deg,#ffd16633,#ffd16608);border-color:#ffd16655}
.podium-col:nth-child(3) .podium-avatar{border-color:#d8935c}
.podium-col:nth-child(3) .podium-bar{background:linear-gradient(180deg,#d8935c22,#d8935c0a);border-color:#d8935c33}

.champion-hero{position:relative;background:linear-gradient(160deg,#1a1030 0%,#061426 55%);border-radius:22px;padding:32px 20px 24px;text-align:center;overflow:hidden;border:1px solid #ffffff14}
.champion-confetti{position:absolute;font-size:24px;opacity:.45}
.champion-confetti-1{top:10px;left:10px;transform:rotate(-15deg)}
.champion-confetti-2{top:14px;right:10px;transform:rotate(20deg)}
.champion-confetti-3{bottom:14px;left:20px;transform:rotate(10deg);font-size:20px}
.champion-confetti-4{bottom:20px;right:20px;transform:rotate(-20deg)}
.champion-eyebrow{font-size:13px;font-weight:700;letter-spacing:.12em;color:#ffd166;margin-bottom:14px}
.champion-trophy{font-size:60px;line-height:1;margin-bottom:10px}
.champion-label{font-size:12px;font-weight:700;letter-spacing:.1em;color:#8fa6bd;margin-bottom:6px}
.champion-team{display:flex;align-items:center;justify-content:center;gap:10px}
.champion-flag{font-size:32px}
.champion-name{font-size:28px;font-weight:900;color:#fff}
.champion-final-score{font-size:13px;color:#ffd166;font-weight:700;margin-top:10px}
.champion-stats{background:#061426e8;border:1px solid #ffffff14;border-radius:18px;padding:18px 20px;margin-top:14px}
.champion-stats-title{font-size:11px;font-weight:700;letter-spacing:.08em;color:#8fa6bd;margin-bottom:10px}
.champion-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}
.champion-stat-card{background:#ffffff08;border-radius:12px;padding:12px}
.champion-stat-num{font-size:20px;font-weight:900;color:#fff}
.champion-stat-label{font-size:10px;color:#8fa6bd;margin-top:2px}
.champion-topscorer{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(90deg,#ffd16622,#ff9f4322);border-radius:12px;padding:10px 12px;border:1px solid #ffd16640}
.champion-topscorer-left{display:flex;align-items:center;gap:8px}
.champion-topscorer-label{font-size:11px;color:#ffd166;font-weight:700}
.champion-topscorer-name{font-size:12px;color:#fff;font-weight:900}
.champion-topscorer-goals{font-size:16px;font-weight:900;color:#ffd166}
.challenge-empty{text-align:center;padding:28px;color:#8fa6bd;border:1px dashed #ffffff18;border-radius:18px;margin-top:12px}
.lb-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #ffffff0a}
.lb-row:last-child{border-bottom:none}
.lb-row.lb-me{background:#ffd16610;border-radius:14px;padding:12px;margin:4px -12px}
.lb-rank{font-size:22px;width:34px;text-align:center;flex-shrink:0}
.lb-avatar{font-size:24px;flex-shrink:0}
.lb-info{flex:1;min-width:0}
.lb-info b{display:block;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lb-bar{height:5px;background:#ffffff10;border-radius:99px;margin-top:6px}
.lb-bar-fill{height:100%;background:linear-gradient(90deg,#ffd166,#ff6b6b);border-radius:99px;transition:width .5s}
.lb-pts{text-align:right;flex-shrink:0}
.lb-pts b{display:block;font-size:20px;font-weight:950;color:#ffd166}
.lb-pts small{font-size:11px;color:#8fa6bd}
.lb-cta{text-align:center;margin-top:16px;padding:14px;background:#ffffff08;border-radius:14px;color:#8fa6bd;font-size:14px}

/* AUTH MODAL — override total */
.auth-modal{display:none!important;position:fixed;inset:0;background:#000000bb;backdrop-filter:blur(12px);z-index:99999;align-items:center;justify-content:center;padding:20px}
.auth-modal.auth-modal-open{display:flex!important}

/* ── Phase finale V82 ───────────────────────────────────────────── */
.bk-tabs{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:22px}
.bk-tab{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 6px;border-radius:18px;border:1.5px solid #ffffff18;background:#ffffff08;color:#8fa6bd;font-weight:900;font-size:11px;cursor:pointer;transition:.2s;line-height:1.2;width:100%}
.bk-tab:hover{border-color:#ffffff35;background:#ffffff12;color:#dcecff}
.bk-tab-active{border-color:#ffd166!important;background:linear-gradient(145deg,#ffd16622,#ffd16608)!important;color:#ffd166!important}
.bk-tab-emoji{font-size:22px;line-height:1}
.bk-tab-label{font-size:12px;font-weight:950}
.bk-tab-badge{background:#00a85940;color:#00a859;border-radius:99px;padding:2px 7px;font-size:10px;font-weight:900;border:1px solid #00a85960}
.bk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.bk-card{border:1.5px solid #ffffff15;background:#ffffff0a;border-radius:20px;padding:16px 18px;cursor:pointer;transition:.15s}
.bk-card:hover{border-color:#ffffff28;background:#ffffff12;transform:translateY(-1px)}
.bk-live{border-color:#ffd16655!important;background:linear-gradient(135deg,#ffd16614,#ef334010)!important}
.bk-done{border-color:#ffffff22;background:#ffffff07}
.bk-top{display:flex;align-items:center;gap:8px;margin-bottom:12px;flex-wrap:wrap}
.bk-badge{border-radius:99px;padding:3px 10px;font-size:10px;font-weight:950}
.bk-badge-live{background:#ef3340;color:#fff}
.bk-badge-done{background:#ffffff14;color:#adc0d2}
.bk-badge-free{background:#00a85920;color:#00a859;border:1px solid #00a85945;margin-left:auto}
.bk-date{color:#8fa6bd;font-size:11px;font-weight:700}
.bk-matchup{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;margin-bottom:12px}
.bk-left,.bk-right{display:flex;align-items:center}
.bk-right{justify-content:flex-end}
.bk-team{display:flex;align-items:center;gap:7px}
.bk-tbd{opacity:.6}
.bk-flag{font-size:22px;line-height:1;flex-shrink:0}
.bk-name{font-size:13px;font-weight:800;color:#dcecff}
.bk-winner{color:#ffd166!important;font-weight:950!important}
.bk-loser{color:#8fa6bd!important;font-weight:700!important}
.bk-name-tbd{color:#8fa6bd;font-size:11px;font-style:italic;font-weight:700}
.bk-score{font-size:22px;font-weight:950;color:#fff;background:#ffffff14;border-radius:12px;padding:7px 14px;min-width:65px;text-align:center;letter-spacing:-.02em}
.bk-score-live{color:#ffd166;background:#ffd16615}
.bk-vs{font-size:12px;color:#8fa6bd;font-weight:700;padding:6px 10px;text-align:center}
.bk-meta{font-size:11px;color:#8fa6bd;padding-top:10px;border-top:1px solid #ffffff10}
.bk-empty{color:#8fa6bd;text-align:center;padding:40px;border:1px dashed #ffffff18;border-radius:18px;font-size:14px}
@media(max-width:640px){.bk-tabs{gap:5px}.bk-tab{padding:10px 4px;border-radius:14px}.bk-tab-emoji{font-size:18px}.bk-tab-label{font-size:10px}.bk-grid{grid-template-columns:1fr}.bk-score{font-size:18px;padding:5px 10px;min-width:50px}.bk-name{font-size:12px}.bk-flag{font-size:18px}}

/* ── Phase finale V83 — onglets horizontaux ── */
.bk-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.bk-tab{flex:1 1 auto;padding:12px 16px;border-radius:14px;border:1.5px solid #ffffff18;background:#ffffff08;color:#8fa6bd;font-weight:800;font-size:13px;cursor:pointer;transition:.2s;white-space:nowrap;text-align:center;min-width:120px}
.bk-tab:hover{border-color:#ffffff35;background:#ffffff12;color:#dcecff}
.bk-tab-active{border-color:#ffd166!important;background:linear-gradient(145deg,#ffd16622,#ffd16608)!important;color:#ffd166!important}
.bk-tab-badge{background:#00a85940;color:#00a859;border-radius:99px;padding:2px 8px;font-size:11px;font-weight:900;border:1px solid #00a85960;margin-left:6px}
.bk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:14px}
@media(max-width:640px){.bk-tab{min-width:0;font-size:11px;padding:10px 10px}.bk-grid{grid-template-columns:1fr}}

/* ── Home Premium V83 ───────────────────────────────────────── */

/* Match featured */
.hm-match-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;flex-wrap:wrap;gap:8px}
.hm-phase-tag{background:#ffffff14;color:#adc0d2;border-radius:99px;padding:4px 12px;font-size:11px;font-weight:800}
.hm-match-actions{display:flex;align-items:center;gap:8px}
.hm-live-badge{background:#ef3340;color:#fff;border-radius:99px;padding:4px 12px;font-size:11px;font-weight:950;animation:pulse 1.5s infinite}
.hm-done-badge{background:#ffffff14;color:#adc0d2;border-radius:99px;padding:4px 12px;font-size:11px;font-weight:800}
.hm-next-badge{background:#ffd16620;color:#ffd166;border-radius:99px;padding:4px 12px;font-size:11px;font-weight:800;border:1px solid #ffd16640}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.7}}

/* Équipes */
.hm-teams{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:18px 0;cursor:pointer;border-top:1px solid #ffffff10;border-bottom:1px solid #ffffff10;margin-bottom:14px}
.hm-team{display:flex;flex-direction:column;align-items:flex-start;gap:4px}
.hm-team-right{align-items:flex-end}
.hm-flag{font-size:36px;line-height:1}
.hm-team-name{font-size:16px;font-weight:950;color:#dcecff}
.hm-winner .hm-team-name{color:#ffd166}
.hm-score-block{text-align:center}
.hm-score{font-size:32px;font-weight:950;color:#fff;background:#ffffff14;border-radius:16px;padding:10px 18px;min-width:90px;text-align:center;letter-spacing:-.03em}
.hm-score-live{color:#ffd166;background:#ffd16618;box-shadow:0 0 20px #ffd16630}
.hm-score-sep{color:#8fa6bd;margin:0 4px}
.hm-vs{font-size:18px;color:#8fa6bd;font-weight:700;padding:6px}
.hm-kickoff{font-size:22px;font-weight:950;color:#ffd166}
.hm-scorers{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}
.hm-scorers span{font-size:10px;color:#8fa6bd;background:#ffffff0a;border-radius:6px;padding:2px 6px}

/* Barre progression */
.hm-progress{height:3px;background:#ffffff10;border-radius:99px;margin-bottom:14px;overflow:hidden}
.hm-progress-bar{height:100%;background:#ffffff30;border-radius:99px;transition:.5s}
.hm-progress-live{background:linear-gradient(90deg,#ffd166,#ef3340)}

/* Meta grid */
.hm-meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px}
.hm-meta-item{background:#ffffff08;border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:2px}
.hm-meta-label{font-size:10px;color:#8fa6bd;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.hm-meta-val{font-size:13px;font-weight:800;color:#dcecff}
.hm-free{background:#00a85920;color:#00a859;border-radius:99px;padding:1px 7px;font-size:10px;font-weight:900;border:1px solid #00a85940;margin-left:4px}

/* TV rows */
.hm-tv-row{display:grid;grid-template-columns:50px 1fr auto;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid #ffffff10;cursor:pointer}
.hm-tv-row:last-of-type{border-bottom:none}
.hm-tv-row:hover{opacity:.8}
.hm-tv-time{font-size:15px;font-weight:950;color:#ffd166}
.hm-tv-teams{font-size:13px;font-weight:700;color:#dcecff;margin-bottom:2px}
.hm-tv-meta{font-size:11px;color:#8fa6bd}
.hm-tv-badge{display:flex;flex-direction:column;gap:3px;align-items:flex-end}
.hm-m6{background:#00a85920;color:#00a859;border:1px solid #00a85940;border-radius:6px;padding:2px 7px;font-size:11px;font-weight:900}
.hm-bein{background:#ffffff10;color:#adc0d2;border-radius:6px;padding:2px 7px;font-size:10px;font-weight:800}

/* Upcoming rows */
.hm-upcoming-row{display:grid;grid-template-columns:64px 1fr auto;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid #ffffff10;cursor:pointer}
.hm-upcoming-row:last-of-type{border-bottom:none}
.hm-upcoming-row:hover{opacity:.8}
.hm-upc-date{text-align:center}
.hm-upc-date b{display:block;font-size:11px;color:#ffd166;font-weight:900}
.hm-upc-date span{font-size:13px;font-weight:950;color:#fff}
.hm-upc-teams{font-size:13px;font-weight:700;color:#dcecff;margin-bottom:2px}
.hm-upc-meta{font-size:10px;color:#8fa6bd}
.hm-upc-tv{display:flex;flex-direction:column;gap:3px;align-items:flex-end}

@media(max-width:480px){
  .hm-flag{font-size:28px}
  .hm-team-name{font-size:14px}
  .hm-score{font-size:26px;padding:8px 14px;min-width:70px}
  .hm-meta-grid{grid-template-columns:1fr}
}

/* ── Fiche match premium V83 ─────────────────────────────────── */
.det-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:8px}
.det-phase{background:#ffffff14;color:#adc0d2;border-radius:99px;padding:4px 12px;font-size:11px;font-weight:800}
.det-teams{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:20px 0;border-top:1px solid #ffffff10;border-bottom:1px solid #ffffff10;margin-bottom:20px}
.det-team{display:flex;flex-direction:column;align-items:center;gap:6px;flex:1;text-align:center}
.det-team-right{align-items:center}
.det-score-block{display:flex;flex-direction:column;align-items:center;gap:6px;flex-shrink:0}
.det-flag{font-size:40px;line-height:1}
.det-name{font-size:17px;font-weight:950;color:#dcecff}
.det-winner .det-name{color:#ffd166}
.det-score{font-size:36px;font-weight:950;color:#fff;background:#ffffff14;border-radius:16px;padding:12px 20px;text-align:center;min-width:100px;letter-spacing:-.03em}
.det-score-live{color:#ffd166;background:#ffd16618;box-shadow:0 0 24px #ffd16628}
.det-sep{color:#8fa6bd;margin:0 6px}
.det-vs{font-size:20px;color:#8fa6bd;font-weight:700;padding:8px 12px;text-align:center}

/* Stats */
.det-section{margin-bottom:20px}
.det-section-title{font-size:14px;font-weight:950;color:#dcecff;margin:0 0 12px;display:flex;align-items:center;gap:6px}
.det-stats-header{display:flex;justify-content:space-between;font-size:12px;font-weight:800;color:#dcecff;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid #ffffff10}
.det-stat-row{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid #ffffff08}
.det-stat-row:last-child{border-bottom:none}
.det-stat-val{font-size:13px;font-weight:800;color:#fff;text-align:center}
.det-stat-bar-wrap{display:flex;flex-direction:column;align-items:center;gap:5px}
.det-stat-label{font-size:10px;color:#8fa6bd;font-weight:700;text-align:center}
.det-stat-bar{width:100%;display:flex;align-items:center;height:5px;gap:2px}
.det-stat-home-bar{height:5px;border-radius:3px;background:#ffd166;transition:.3s}
.det-stat-away-bar{height:5px;border-radius:3px;background:#ffffff40;transition:.3s}
.det-stat-divider{width:2px;height:7px;background:#ffffff15;flex-shrink:0;border-radius:1px}
.det-poss-wrap{display:flex;align-items:center;justify-content:center;gap:20px;margin-bottom:18px;padding:14px;background:#ffffff06;border-radius:16px;border:1px solid #ffffff10}
.det-poss-circle{position:relative;width:80px;height:80px;flex-shrink:0}
.det-poss-circle svg{transform:rotate(-90deg)}
.det-poss-val{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1px}
.det-poss-val span:first-child{font-size:16px;font-weight:800;color:#fff}
.det-poss-val span:last-child{font-size:9px;color:#8fa6bd;font-weight:700}
.det-poss-labels{display:flex;flex-direction:column;gap:8px}
.det-poss-label{display:flex;align-items:center;gap:8px}
.det-poss-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.det-poss-dot-home{background:#ffd166}
.det-poss-dot-away{background:#ffffff50}
.det-poss-label span{font-size:12px;color:#8fa6bd}
.det-poss-label strong{font-size:13px;color:#dcecff;font-weight:800;margin-left:auto;padding-left:12px}
.det-stats-loading{color:#8fa6bd;font-size:13px;text-align:center;padding:16px}

/* Timeline */
.det-timeline{display:flex;flex-direction:column;gap:6px}
.det-event{display:grid;grid-template-columns:36px 24px 1fr;align-items:center;gap:8px;padding:8px 10px;border-radius:12px;background:#ffffff08}
.det-event-home{border-left:3px solid #ffd16660}
.det-event-away{border-left:3px solid #ef334060}
.det-event-min{font-size:11px;font-weight:950;color:#ffd166;text-align:right}
.det-event-icon{font-size:16px;text-align:center}
.det-event-desc{font-size:12px;font-weight:700;color:#dcecff}
.det-event-team{font-size:10px;color:#8fa6bd;margin-top:1px}

/* Info grid */
.det-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.det-info-item{background:#ffffff08;border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:2px}
.det-info-label{font-size:10px;color:#8fa6bd;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.det-info-val{font-size:13px;font-weight:800;color:#dcecff}
.det-photo{margin-bottom:16px}
.det-actions{display:flex;gap:8px;flex-wrap:wrap}
.det-actions button{flex:1;min-width:100px;padding:10px;border-radius:14px;border:1px solid #ffffff25;background:#ffffff10;color:#dcecff;font-weight:800;font-size:12px;cursor:pointer}
.det-actions button:first-child{background:linear-gradient(135deg,#ffd16622,#ffd16608);border-color:#ffd16640;color:#ffd166}

@media(max-width:480px){.det-flag{font-size:30px}.det-name{font-size:14px}.det-score{font-size:28px;padding:10px 14px;min-width:80px}.det-info-grid{grid-template-columns:1fr}}

/* ── Animation BUT ───────────────────────────────────────────── */
@keyframes goalPulse{0%{transform:scale(1);background:#ef334020}25%{transform:scale(1.15);background:#ef334060}50%{transform:scale(1.1);background:#ef334040}100%{transform:scale(1);background:#ef334020}}
@keyframes goalText{0%{opacity:0;transform:scale(.8)}20%{opacity:1;transform:scale(1.1)}80%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.9)}}
.det-score-goal{animation:goalPulse .4s ease forwards!important;background:#ef334030!important;border:2px solid #ef334080!important}
.det-goal-text{font-size:22px;font-weight:950;color:#ef3340;animation:goalText 2.5s ease forwards;display:block;text-align:center;letter-spacing:.05em;text-shadow:0 0 20px #ef334080}
.hm-score-goal{animation:goalPulse .4s ease!important;background:#ef334030!important}

/* Fix score inline */
.det-score{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;flex-direction:row!important}
.det-teams{min-height:100px}

/* Tirs au but */
.hm-pen{font-size:11px;color:#ffd166;font-weight:800;text-align:center;margin-top:4px}
.det-pen{font-size:12px;color:#ffd166;font-weight:900;text-align:center;background:#ffd16615;border:1px solid #ffd16640;border-radius:99px;padding:4px 10px;white-space:nowrap}
.bk-pen{font-size:10px;color:#ffd166;font-weight:800;text-align:center;margin-top:3px}

.list-pen{text-align:center;font-size:12px;color:#ffd166;font-weight:900;background:#ffd16615;border:1px solid #ffd16640;border-radius:99px;padding:4px 12px;margin:8px auto 14px;width:fit-content}

/* ── Featured box premium style Flashscore V84 ──────────────── */
.hm-fz-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;margin:16px 0 14px;border-bottom:1px solid #ffffff12}
.hm-fz-tab{flex:1;padding:10px 8px;background:transparent;border:none;border-bottom:2px solid transparent;color:#8fa6bd;font-weight:900;font-size:12px;cursor:pointer;transition:.2s}
.hm-fz-tab:hover{color:#dcecff}
.hm-fz-tab-active{color:#ffd166!important;border-bottom-color:#ffd166!important}
.hm-fz-panel{margin-bottom:16px}
.hm-fz-empty{color:#8fa6bd;font-size:13px;text-align:center;padding:20px}
.hm-fz-stats-loading{color:#8fa6bd;font-size:13px;text-align:center;padding:20px}

/* Timeline résumé */
.hm-fz-timeline{display:flex;flex-direction:column;gap:5px;max-height:280px;overflow-y:auto;padding-right:4px}
.hm-fz-timeline::-webkit-scrollbar{width:4px}
.hm-fz-timeline::-webkit-scrollbar-thumb{background:#ffffff20;border-radius:99px}
.hm-fz-event{display:grid;grid-template-columns:32px 22px 1fr;align-items:center;gap:8px;padding:7px 9px;border-radius:10px;background:#ffffff06}
.hm-fz-event-home{border-left:2px solid #ffd16650}
.hm-fz-event-away{border-left:2px solid #ef334050}
.hm-fz-min{font-size:10px;font-weight:950;color:#ffd166;text-align:right}
.hm-fz-icon{font-size:14px;text-align:center}
.hm-fz-desc{font-size:11px;font-weight:700;color:#dcecff}
.hm-fz-sub{color:#8fa6bd;font-size:10px;font-weight:600}

/* Stats bars */
.hm-fz-stats-header{display:flex;justify-content:space-between;font-size:12px;font-weight:900;color:#8fa6bd;margin-bottom:10px}
.hm-fz-stat-row{display:grid;grid-template-columns:38px 1fr 38px;align-items:center;gap:8px;margin-bottom:9px}
.hm-fz-stat-val{font-size:12px;font-weight:950;color:#fff;text-align:center}
.hm-fz-stat-bar-wrap{display:flex;flex-direction:column;gap:3px;align-items:center}
.hm-fz-stat-label{font-size:10px;color:#8fa6bd;font-weight:700;text-align:center}
.hm-fz-stat-bar{width:100%;height:5px;background:#ffffff10;border-radius:99px;overflow:hidden}
.hm-fz-stat-fill{height:100%;border-radius:99px}
.hm-fz-stat-home{background:linear-gradient(90deg,#ffd166,#ff9f43);float:left}
.hm-fz-stat-away{background:linear-gradient(90deg,#ef3340,#ff6b6b);float:right}

/* Compositions */
.hm-fz-lineups-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.hm-fz-lineup-team{font-size:11px}
.hm-fz-lineup-head{display:flex;flex-direction:column;gap:2px;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid #ffffff10}
.hm-fz-lineup-head b{font-size:13px;color:#dcecff}
.hm-fz-lineup-head span{font-size:10px;color:#8fa6bd;font-weight:700}
.hm-fz-lineup-list{display:flex;flex-direction:column;gap:4px}
.hm-fz-player{display:grid;grid-template-columns:20px 1fr auto;align-items:center;gap:6px;padding:4px 6px;border-radius:8px;background:#ffffff06}
.hm-fz-player-num{font-size:10px;font-weight:950;color:#ffd166;text-align:center}
.hm-fz-player-pos{font-size:9px;color:#8fa6bd;font-weight:700}
.hm-fz-player-sub{opacity:.7}
.hm-fz-subs-title{font-size:10px;color:#8fa6bd;font-weight:900;text-transform:uppercase;letter-spacing:.05em;margin:10px 0 6px}

@media(max-width:640px){
  .hm-fz-lineups-grid{grid-template-columns:1fr}
  .hm-fz-tab{font-size:11px;padding:8px 4px}
}

/* ── Dernier résultat (bloc compact, secondaire) ──────────────── */
#lastResultBox{padding:18px 20px;background:#ffffff05;border:1px solid #ffffff10}
.lr-eyebrow{font-size:10px;color:#8fa6bd;font-weight:900;text-transform:uppercase;letter-spacing:.06em;margin-bottom:12px;display:flex;align-items:center;gap:6px}
.lr-eyebrow::before{content:'';width:5px;height:5px;border-radius:50%;background:#00a859;display:inline-block}
.lr-match{cursor:pointer}
.lr-teams{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.lr-team{display:flex;align-items:center;gap:7px;flex:1;min-width:0}
.lr-team-right{justify-content:flex-end}
.lr-flag{font-size:22px;flex-shrink:0}
.lr-name{font-size:13px;font-weight:800;color:#c8d6e5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lr-winner .lr-name{color:#ffd166;font-weight:950}
.lr-score{font-size:16px;font-weight:950;color:#fff;background:#ffffff12;border-radius:10px;padding:5px 12px;white-space:nowrap;flex-shrink:0}
.lr-pen{font-size:10px;color:#ffd166;font-weight:700}
.lr-goals{font-size:11px;color:#8fa6bd;text-align:center;padding-top:10px;margin-top:2px;border-top:1px solid #ffffff08}
.lr-cta{display:flex;align-items:center;justify-content:center;gap:5px;font-size:11px;color:#8fa6bd;font-weight:800;margin-top:12px;transition:.2s}
.lr-match:hover .lr-cta{color:#ffd166}
.lr-arrow{transition:.2s}
.lr-match:hover .lr-arrow{transform:translateX(2px)}

/* ── Titre contextuel premium ─────────────────────────────────── */
.hm-title-eyebrow{font-size:11px;font-weight:950;color:#ffd166;text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px}
#featuredBox{position:relative;overflow:hidden}
#featuredBox::before{content:'';position:absolute;top:-50%;right:-20%;width:60%;height:200%;background:radial-gradient(circle,#ffd16608,transparent 70%);pointer-events:none}

/* ── Fiche match : onglets premium V85 ──────────────────────── */
.det-tabs{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;margin:18px 0 16px}
.det-tabs::-webkit-scrollbar{display:none}
.det-tab{padding:8px 4px;background:#ffffff08;border:1px solid #ffffff12;border-radius:12px;color:#8fa6bd;font-weight:800;font-size:11px;cursor:pointer;white-space:nowrap;transition:.2s;text-align:center;width:100%}
.det-tab:hover{background:#ffffff12;color:#dcecff}
.det-tab-active{background:#ffd16618!important;border-color:#ffd16650!important;color:#ffd166!important}
.det-panel{margin-bottom:18px}
.det-empty{color:#8fa6bd;font-size:13px;text-align:center;padding:24px}
.det-sub{color:#8fa6bd;font-size:11px;font-weight:600}

/* Timeline résumé */
.det-timeline{display:flex;flex-direction:column;gap:6px;max-height:320px;overflow-y:auto;padding-right:4px}
.det-timeline::-webkit-scrollbar{width:4px}
.det-timeline::-webkit-scrollbar-thumb{background:#ffffff20;border-radius:99px}
.det-event{display:grid;grid-template-columns:36px 24px 1fr;align-items:center;gap:8px;padding:8px 10px;border-radius:12px;background:#ffffff06}
.det-event-home{border-left:2px solid #ffd16650}
.det-event-away{border-left:2px solid #ef334050}
.det-event-min{font-size:11px;font-weight:950;color:#ffd166;text-align:right}
.det-event-icon{font-size:15px;text-align:center}
.det-event-desc{font-size:12px;font-weight:700;color:#dcecff}
.det-event-team{font-size:10px;color:#8fa6bd;margin-top:1px}

/* Compositions */
.det-lineups-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.det-lineup-team{font-size:11px}
.det-lineup-head{display:flex;flex-direction:column;gap:2px;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid #ffffff10}
.det-lineup-head b{font-size:13px;color:#dcecff}
.det-lineup-head span{font-size:10px;color:#8fa6bd;font-weight:700}
.det-lineup-list{display:flex;flex-direction:column;gap:4px}
.det-player{display:grid;grid-template-columns:20px 1fr auto;align-items:center;gap:6px;padding:4px 6px;border-radius:8px;background:#ffffff06}
.det-player-num{font-size:10px;font-weight:950;color:#ffd166;text-align:center}
.det-player-pos{font-size:9px;color:#8fa6bd;font-weight:700}
.det-player-sub{opacity:.7}
.det-subs-title{font-size:10px;color:#8fa6bd;font-weight:900;text-transform:uppercase;letter-spacing:.05em;margin:10px 0 6px}

/* Prédictions */
.det-pred-probs{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}
.det-pred-prob{display:grid;grid-template-columns:80px 1fr 40px;align-items:center;gap:10px}
.det-pred-prob-label{font-size:12px;font-weight:800;color:#dcecff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.det-pred-prob-bar{height:8px;background:#ffffff10;border-radius:99px;overflow:hidden}
.det-pred-prob-bar div{height:100%;border-radius:99px;transition:.3s}
.det-pred-prob-val{font-size:12px;font-weight:950;color:#fff;text-align:right}
.det-pred-winner{background:#ffd16615;border:1px solid #ffd16640;border-radius:14px;padding:10px 14px;font-size:13px;color:#dcecff;text-align:center;margin-bottom:10px}
.det-pred-advice{font-size:12px;color:#8fa6bd;text-align:center;font-style:italic;margin-bottom:14px}
.det-pred-comp-title{font-size:11px;color:#8fa6bd;font-weight:900;text-transform:uppercase;letter-spacing:.05em;margin:14px 0 10px}

/* H2H */
.det-h2h-list{display:flex;flex-direction:column;gap:6px}
.det-h2h-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 12px;background:#ffffff06;border-radius:10px;font-size:11px}
.det-h2h-date{color:#8fa6bd;font-weight:700;flex-shrink:0}
.det-h2h-match{color:#dcecff;font-weight:700;text-align:right}
.det-h2h-match b{color:#ffd166;margin:0 4px}

@media(max-width:640px){
  .det-lineups-grid{grid-template-columns:1fr}
  .det-tab{font-size:11px;padding:8px 10px}
  .det-pred-prob-label{font-size:11px}
}

/* ── Terrain de foot pour compositions ──────────────────────── */
.pitch-header{display:flex;justify-content:space-between;gap:10px;margin-bottom:12px}
.pitch-team-info{display:flex;flex-direction:column;gap:2px}
.pitch-team-info-right{text-align:right;align-items:flex-end}
.pitch-team-info b{font-size:13px;color:#dcecff}
.pitch-team-info span{font-size:10px;color:#8fa6bd;font-weight:700}
.pitch-wrap{width:100%;margin-bottom:16px}
.pitch{position:relative;width:100%;aspect-ratio:3/4;background:linear-gradient(180deg,#0d4d2e,#0a3d24 50%,#0d4d2e);border-radius:14px;overflow:hidden;border:2px solid #ffffff20}
.pitch::before{content:'';position:absolute;inset:8px;border:1.5px solid #ffffff25;border-radius:6px}
.pitch-halfway{position:absolute;top:50%;left:8px;right:8px;height:1.5px;background:#ffffff25}
.pitch-circle{position:absolute;top:50%;left:50%;width:60px;height:60px;border:1.5px solid #ffffff25;border-radius:50%;transform:translate(-50%,-50%)}
.pitch-player{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:2px;z-index:2}
.pitch-player-dot{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:950;color:#061426;box-shadow:0 2px 6px #00000050}
.pitch-home .pitch-player-dot{background:#ffd166}
.pitch-away .pitch-player-dot{background:#ef3340;color:#fff}
.pitch-player-name{font-size:8px;font-weight:800;color:#fff;background:#00000080;border-radius:4px;padding:1px 4px;white-space:nowrap;max-width:60px;overflow:hidden;text-overflow:ellipsis}
.det-lineups-subs-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}

@media(max-width:480px){
  .pitch-player-dot{width:20px;height:20px;font-size:9px}
  .pitch-player-name{font-size:7px;max-width:46px}
  .det-lineups-subs-grid{grid-template-columns:1fr}
}

/* ── Live Center V86 ────────────────────────────────────────── */
.live-nav-badge{background:#ef3340;color:#fff;border-radius:99px;padding:1px 7px;font-size:10px;font-weight:950;margin-left:5px;animation:livePulse 1.5s infinite}
.live-tab-badge{background:#ef3340;color:#fff;border-radius:99px;padding:1px 6px;font-size:9px;font-weight:950;margin-left:4px;animation:livePulse 1.5s infinite}
@keyframes livePulse{0%,100%{opacity:1}50%{opacity:.6}}
.nav-link-live{color:#ef3340!important}
.tab-live{position:relative}
.mobile-drawer-live{color:#ef3340!important;font-weight:950!important}

#view-live{padding:0 0 30px}
.lc-header{margin-bottom:18px}
.lc-title{font-size:22px;font-weight:950;color:#fff;margin:0 0 4px}
.lc-sub{font-size:13px;color:#8fa6bd;margin:0}

.lc-empty{text-align:center;padding:60px 20px;background:#ffffff06;border:1px solid #ffffff10;border-radius:24px}
.lc-empty-icon{font-size:48px;margin-bottom:12px}
.lc-empty h2{font-size:18px;color:#dcecff;margin:0 0 8px}
.lc-empty p{font-size:13px;color:#8fa6bd;margin:0 0 20px}
.lc-next-match{display:inline-block;background:#ffffff08;border:1px solid #ffffff15;border-radius:18px;padding:20px 24px;cursor:pointer;max-width:380px}
.lc-next-teams{display:flex;align-items:center;justify-content:center;gap:10px;font-size:14px;font-weight:800;color:#dcecff;margin-bottom:14px}
.lc-next-vs{color:#8fa6bd;font-size:12px}
.lc-countdown{font-size:32px;font-weight:950;color:#ffd166;letter-spacing:.02em;margin-bottom:10px;font-variant-numeric:tabular-nums}
.lc-next-meta{font-size:12px;color:#8fa6bd}

.lc-focus-card{background:linear-gradient(135deg,#ffd16610,#ef334008);border:1.5px solid #ffd16640;border-radius:24px;padding:22px;margin-bottom:20px}
.lc-focus-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.lc-focus-phase{font-size:11px;color:#8fa6bd;font-weight:800;background:#ffffff10;border-radius:99px;padding:4px 10px}
.lc-focus-teams{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;cursor:pointer;margin-bottom:14px}
.lc-focus-team{display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.lc-focus-team-right{align-items:flex-end}
.lc-focus-flag{font-size:38px;line-height:1}
.lc-focus-name{font-size:16px;font-weight:950;color:#dcecff}
.lc-focus-score{font-size:34px;font-weight:950;color:#ffd166;text-align:center;letter-spacing:-.02em}
.lc-focus-sep{color:#8fa6bd;margin:0 4px}
.lc-scorers{display:flex;flex-direction:column;gap:2px}
.lc-scorers span{font-size:10px;color:#8fa6bd;font-weight:700}
.lc-focus-meta{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:#8fa6bd;margin:14px 0 16px}

.lc-mini-list{margin-top:8px}
.lc-mini-list-title{font-size:11px;color:#8fa6bd;font-weight:900;text-transform:uppercase;letter-spacing:.05em;margin-bottom:10px}
.lc-mini-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.lc-mini{display:block;width:100%;text-align:left;background:#ffffff08;border:1.5px solid #ffffff15;border-radius:16px;padding:12px 14px;cursor:pointer;transition:.15s}
.lc-mini:hover{background:#ffffff12}
.lc-mini-active{border-color:#ffd16660;background:#ffd16612}
.lc-mini-top{margin-bottom:8px}
.lc-mini-live{font-size:10px;color:#ef3340;font-weight:950}
.lc-mini-teams{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;font-weight:700;color:#dcecff}
.lc-mini-score{font-size:13px;font-weight:950;color:#ffd166;background:#ffffff10;border-radius:8px;padding:2px 8px}

@media(max-width:640px){
  .lc-focus-flag{font-size:30px}
  .lc-focus-name{font-size:13px}
  .lc-focus-score{font-size:26px}
  .lc-countdown{font-size:26px}
  .lc-mini-grid{grid-template-columns:1fr}
}

/* Animation BUT étendue au Live Center */
.lc-focus-score-goal{animation:goalPulse .4s ease forwards!important}
.lc-mini-goal{animation:goalPulse .4s ease!important;border-color:#ef334080!important}

.notif-banner{background:linear-gradient(135deg,#1a0f2bf8,#0a1f3cf8 55%,#0f2a1ff8)}

/* ── Pronostic score exact V87 ───────────────────────────────── */
.pred-rules-banner{background:#ffd16615;border:1px solid #ffd16640;border-radius:12px;padding:8px 12px;font-size:11px;color:#ffd166;font-weight:800;margin-bottom:14px;text-align:center}
.pred-score-inputs{display:flex;align-items:center;justify-content:center;gap:14px;margin:16px 0}
.pred-team-col{display:flex;flex-direction:column;align-items:center;gap:8px}
.pred-team-name{font-size:12px;font-weight:800;color:#dcecff;text-align:center;max-width:90px}
.pred-score-input{width:64px;height:64px;border-radius:16px;border:2px solid #ffffff20;background:#ffffff10;color:#fff;font-size:28px;font-weight:950;text-align:center;outline:none;transition:.2s;-moz-appearance:textfield}
.pred-score-input::-webkit-outer-spin-button,.pred-score-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.pred-score-input:focus{border-color:#ffd166;background:#ffd16615}
.pred-score-input:disabled{opacity:.6;color:#ffd166;background:#ffffff08;border-color:#ffd16640;cursor:not-allowed}
.pred-qual-btn:disabled{opacity:.55;cursor:not-allowed}
.pred-dash{font-size:24px;font-weight:950;color:#8fa6bd}
.pred-qualifier-wrap{margin:12px 0;padding:12px;background:#ffffff08;border-radius:14px;border:1px solid #ffffff12}
.pred-qualifier-btns{display:flex;gap:8px;margin-top:8px}
.pred-qual-btn{flex:1;padding:10px;border-radius:12px;border:1.5px solid #ffffff20;background:#ffffff08;color:#dcecff;font-weight:800;font-size:13px;cursor:pointer;transition:.2s}
.pred-qual-btn:hover{border-color:#ffd16660;background:#ffd16615}
.pred-qual-selected{border-color:#ffd166!important;background:#ffd16622!important;color:#ffd166!important}
.pred-submit-btn{width:100%;padding:13px;border-radius:16px;border:none;background:linear-gradient(90deg,#ffd166,#ff9f43);color:#061426;font-weight:950;font-size:14px;cursor:pointer;margin-top:12px;transition:.2s}
.pred-submit-btn:hover{opacity:.9;transform:translateY(-1px)}
.pred-voted-score{font-size:18px;font-weight:950;color:#dcecff;text-align:center;margin:10px 0}
.pred-voted-score span{color:#ffd166;margin:0 8px}
.pred-voted-qualifier{font-size:12px;color:#8fa6bd;text-align:center;margin-top:4px}
.pred-modify-btn{width:100%;padding:10px;border-radius:14px;border:1px solid #ffffff20;background:transparent;color:#8fa6bd;font-weight:800;font-size:12px;cursor:pointer;margin-top:10px;transition:.2s}
.pred-modify-btn:hover{border-color:#ffd16640;color:#ffd166}
