:root{
  --ds-bg:#0f1115;
  --ds-card:#171b22;
  --ds-text:#e8edf5;
  --ds-text-contr:#ffffff;
  --ds-accent:#F8AF37;
  --ds-border:#263040;
  --ds-chip:#0f141b;
  --ds-black:#0b1220;
}

/* LIGHT THEME */
.dsdsr-light{
  --ds-bg:#ffffff;
  --ds-card:#ffffff;
  --ds-text:#0f172a;
  --ds-text-contr:#ffffff; /* label blanc */
  --ds-border:#e5e7eb;
  --ds-chip:#f8fafc;
  --ds-black:#000000;
}

.dsdsr-wrap{max-width:1100px;margin:10px auto;color:var(--ds-text);}
.dsdsr-title{font-size:22px;margin:8px 0 16px 0;}

.dsdsr-card{background:var(--ds-card);border:1px solid var(--ds-border);border-radius:14px;padding:14px;margin:12px 0;box-shadow:0 6px 16px rgba(0,0,0,.06);}
.dsdsr-card-title{font-weight:600;margin-bottom:10px;border-left:4px solid var(--ds-accent);padding-left:8px;display:flex;align-items:center;gap:10px}
.dsdsr-table{width:100%;border-collapse:separate;border-spacing:0 6px;}

.dsdsr-table tbody td{background:var(--ds-chip);border:1px solid var(--ds-border);padding:10px 12px;}
.dsdsr-light .dsdsr-table tbody td{background:#ffffff;}
.dsdsr-table tbody tr td:first-child{border-radius:10px 0 0 10px;}
.dsdsr-table tbody tr td:last-child{border-radius:0 10px 10px 0;}
.dsdsr-compact tbody td{padding:8px 10px;font-size:14px;}

.dsdsr-chips{display:flex;flex-wrap:wrap;gap:8px}
.dsdsr-chip{background:var(--ds-chip);border:1px solid var(--ds-border);padding:6px 10px;border-radius:999px;font-size:14px}

/* Browser: label blanc, select blanc/texte noir + dropdown blanc (selon support) */
.dsdsr-browser{display:flex;align-items:center;gap:10px;margin:18px 0}
.dsdsr-browser label{font-weight:700;color:#ffffff;}
.dsdsr-select{
  padding:10px 14px;border:1px solid #d1d5db;border-radius:12px;
  background:#ffffff !important;color:#111827 !important;min-width:340px;
  line-height:1.4;appearance:none;-webkit-appearance:none;-moz-appearance:none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'><path d='M5 7l5 6 5-6' fill='none' stroke='%23111827' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  background-repeat:no-repeat;background-position:right 10px center;background-size:18px 18px;
}
.dsdsr-select option{background:#ffffff;color:#111827}

/* VS line + sets centrés + sous-score */
.dsdsr-vs-line{display:flex;align-items:center;justify-content:center;gap:14px;margin:10px 0}
.dsdsr-vs-line .team{display:flex;align-items:center;gap:8px;font-size:18px}
.dsdsr-vs-line .score{font-weight:800;font-size:22px;background:var(--ds-chip);border:1px solid var(--ds-border);padding:6px 12px;border-radius:10px;line-height:1}

.dsdsr-subscore{margin-top:4px;text-align:center;font-size:13px;opacity:.8}

.dsdsr-sets{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.dsdsr-sets-center{justify-content:center}
.dsdsr-set{
  background:var(--ds-chip);
  border:1px solid var(--ds-border);
  padding:6px 10px;
  border-radius:10px;
  font-size:14px
}
.dsdsr-set.red{border-color:#ef4444}
.dsdsr-set.blue{border-color:#3b82f6}
.dsdsr-set.tie{border-style:dashed;border-color:#9ca3af}
.dsdsr-winner{margin-top:8px;font-style:italic;opacity:.9}

/* Medals */
.dsdsr-medal{display:inline-block;width:14px;height:14px;border-radius:50%;vertical-align:middle;margin-left:4px}
.dsdsr-medal.m1{background:linear-gradient(145deg,#f9d976,#f39f33)}
.dsdsr-medal.m2{background:linear-gradient(145deg,#f0f0f0,#bdbdbd)}
.dsdsr-medal.m3{background:linear-gradient(145deg,#f2c08d,#b87333)}

/* Legend next to "Équipes" */
.dsdsr-legend{display:inline-flex;gap:8px;margin-left:6px}
.dsdsr-legend .lis{width:26px;height:12px;border-radius:999px;background:transparent;border:2px solid currentColor;display:inline-block}
.dsdsr-legend .lis.red{color:#ef4444;border-color:#ef4444}
.dsdsr-legend .lis.blue{color:#3b82f6;border-color:#3b82f6}

/* Per-side liserets inside each set */
.dsdsr-set .score-pill{
  display:inline-block;
  padding:2px 8px;
  border-radius:8px;
  border:2px solid transparent;
  line-height:1.2;
}
.dsdsr-set .score-pill.red{ border-color:#ef4444; }
.dsdsr-set .score-pill.blue{ border-color:#3b82f6; }
.dsdsr-set.tie .score-pill{ border-style:dashed; border-color:#9ca3af; }



.dsdsr-light 


.dsdsr-table thead th {
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: .3px;
  text-align: left;
  padding: 6px 10px;
  color: #ffffff !important; /* white in dark */
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  font-weight: 600;
}
.dsdsr-light .dsdsr-table thead th {
  color: #000000 !important; /* black in light */
}

/* v1.4.4: Header toujours lisible, fond blanc */
.dsdsr-table thead th{
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:.3px;
  text-align:left;
  padding:8px 12px;
  color:#111827 !important;     /* texte foncé */
  background:#ffffff !important;/* fond blanc forcé */
  border:1px solid var(--ds-border) !important;
  box-shadow:none !important;
  font-weight:700;
}
.dsdsr-light .dsdsr-table thead th{
  color:#111827 !important;     /* idem en light */
  background:#ffffff !important;
}

/* v1.4.5: bloc tableau blanc arrondi */
.dsdsr-table {
  width: 100%;
  border-collapse: collapse;
  margin: 0;
  border-radius: 12px;
  overflow: hidden;
  background: #ffffff;
  color: #111827;
}
.dsdsr-table thead th {
  background: #ffffff !important;
  color: #111827 !important;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  padding: 8px 12px;
  border-bottom: 2px solid #e5e7eb;
}
.dsdsr-table tbody td {
  padding: 10px 12px;
  border-top: 1px solid #e5e7eb;
  background: #ffffff;
}


/* v1.6.1: Bracket columns */
.dsdsr-bracket{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:10px}
.dsdsr-bracket-col{background:var(--ds-card);border:1px solid var(--ds-border);border-radius:14px;padding:12px}
.dsdsr-light .dsdsr-bracket-col{background:#ffffff;border:1px solid #e5e7eb}
.dsdsr-bracket-col .col-title{font-weight:700;margin-bottom:10px}
.dsdsr-bracket .match-card{background:var(--ds-chip);border:1px solid var(--ds-border);border-radius:12px;padding:8px 10px;margin-bottom:10px}
.dsdsr-light .dsdsr-bracket .match-card{background:#ffffff;border:1px solid #e5e7eb}
.dsdsr-bracket .match-card .teams{display:flex;align-items:center;justify-content:center;gap:10px}
.dsdsr-bracket .match-card .teams .t{display:flex;align-items:center;gap:6px}
.dsdsr-bracket .match-card .teams .midscore{font-weight:800}
.dsdsr-bracket .match-card .sets{margin-top:6px;font-size:13px}
.dsdsr-bracket .match-card .sets .set-line{margin-top:2px}


/* v1.6.3: Podium layout */
.dsdsr-podium{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px;align-items:end}
.dsdsr-podium .p{background:var(--ds-card);border:1px solid var(--ds-border);border-radius:14px;padding:12px;text-align:center}
.dsdsr-light .dsdsr-podium .p{background:#ffffff;border:1px solid #e5e7eb}
.dsdsr-podium .p1{transform:translateY(-8px);box-shadow:0 10px 18px rgba(0,0,0,.06)}
.dsdsr-podium .place{font-size:22px;font-weight:800;opacity:.9}
.dsdsr-podium .name{margin-top:6px;font-weight:600}


/* v1.6.4: Podium */
.dsdsr-podium{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px;align-items:end}
.dsdsr-podium .p{background:var(--ds-card);border:1px solid var(--ds-border);border-radius:14px;padding:12px;text-align:center}
.dsdsr-light .dsdsr-podium .p{background:#ffffff;border:1px solid #e5e7eb}
.dsdsr-podium .p1{transform:translateY(-8px);box-shadow:0 10px 18px rgba(0,0,0,.06)}
.dsdsr-podium .place{font-size:22px;font-weight:800;opacity:.9}
.dsdsr-podium .name{margin-top:6px;font-weight:600}


/* v1.6.5: ensure spacing after bracket for podium */
.dsdsr-bracket + .dsdsr-podium{margin-top:16px}


/* v1.6.6: make sure podium is visibly boxed */
.dsdsr-podium{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px;align-items:end}
.dsdsr-podium .p{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:14px;text-align:center;box-shadow:0 2px 6px rgba(0,0,0,.04)}
.dsdsr-dark .dsdsr-podium .p{background:#121212;border-color:#2a2a2a}


/* v1.6.7: spacing when bracket + matches are shown by browser */
.dsdsr-bracket + .dsdsr-matches{margin-top:18px}


/* v1.6.8: nicer podium (gold/silver/bronze accents) */
.dsdsr-podium{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px;align-items:end}
.dsdsr-podium .p{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:16px;text-align:center;box-shadow:0 4px 10px rgba(0,0,0,.04)}
.dsdsr-dark .dsdsr-podium .p{background:#121212;border-color:#2a2a2a}
.dsdsr-podium .p1{transform:translateY(-8px)}
.dsdsr-podium .p1 .place{background:linear-gradient(180deg,#f9d65c,#e9b949);-webkit-background-clip:text;color:transparent}
.dsdsr-podium .p2 .place{color:#98a2b3}
.dsdsr-podium .p3 .place{color:#b86e36}
.dsdsr-podium .place{font-size:26px;font-weight:900;letter-spacing:.5px}
.dsdsr-podium .name{margin-top:8px;font-weight:700}
/* Space when browser prints bracket + matches */
.dsdsr-bracket + .dsdsr-matches{margin-top:18px}


/* v1.7.0: podium medals + flags + section title */
.dsdsr-section-title{margin:18px 2px 8px;font-weight:800;font-size:18px;opacity:.9}
.dsdsr-podium{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px;align-items:end}
.dsdsr-podium .p{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:16px 14px;text-align:center;box-shadow:0 4px 10px rgba(0,0,0,.05)}
.dsdsr-dark .dsdsr-podium .p{background:#121212;border-color:#2a2a2a}
.dsdsr-podium .p1{transform:translateY(-8px)}
.dsdsr-podium .medal{font-size:18px;margin-bottom:4px}
.dsdsr-podium .place{font-size:26px;font-weight:900}
.dsdsr-podium .name{margin-top:6px;font-weight:700}
.dsdsr-bracket + .dsdsr-matches{margin-top:18px}


/* === DSDSR Browser sequence blocks === */
.dsdsr-podium-block{display:flex;justify-content:center;padding:8px}
.dsdsr-podium-row{display:flex;gap:16px;align-items:flex-end}
.dsdsr-podium-row .pod{border:1px solid var(--dsdsr-bd,#e5e5e5);border-radius:12px;padding:10px 14px;min-width:130px;display:flex;flex-direction:column;align-items:center}
.dsdsr-podium-row .rk{font-weight:700;margin-bottom:6px}
.dsdsr-nq-title{margin:10px 0 6px}
.dsdsr-match{border:1px solid var(--dsdsr-bd,#e5e5e5);border-radius:12px;padding:10px;margin:10px 0}
.dsdsr-match .hdr{display:flex;justify-content:space-between;align-items:center;font-weight:600;margin-bottom:6px}
.dsdsr-match .sets .set{display:inline-block;margin-right:6px}
.dsdsr-match .foot{opacity:.8;margin-top:4px}


/* Group cards spacing */
.dsdsr-card + .dsdsr-card{margin-top:14px}
.dsdsr-chips{display:flex;flex-wrap:wrap;gap:8px}
.dsdsr-chip{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.06);border:1px solid var(--dsdsr-bd,#e5e5e5);border-radius:18px;padding:6px 10px}
.dsdsr-card-title{display:flex;align-items:center;gap:8px}


/* Podium colors */
.pod-gold{background:#F8AF37; color:#111; border-color:rgba(0,0,0,.1)}
.pod-silver{background:#C0C0C0; color:#111; border-color:rgba(0,0,0,.1)}
.pod-bronze{background:#CD7F32; color:#fff; border-color:rgba(0,0,0,.15)}
.pod-fourth{background:#e3e3e3; color:#111}
.dsdsr-podium-row .pod{box-shadow:0 2px 6px rgba(0,0,0,.15)}
/* Red/Blue roles in group matches */
.role{display:inline-block;width:10px;height:10px;border-radius:50%;margin:0 6px;vertical-align:middle}
.role-red{background:#d32f2f}
.role-blue{background:#1976d2}


/* Podium medal colors */
.dsdsr-podium .step-1,.pod-gold{background:#F8AF37;color:#111;border-color:rgba(0,0,0,.1)}
.dsdsr-podium .step-2,.pod-silver{background:#C0C0C0;color:#111;border-color:rgba(0,0,0,.1)}
.dsdsr-podium .step-3,.pod-bronze{background:#CD7F32;color:#fff;border-color:rgba(0,0,0,.15)}
.dsdsr-podium .step-4,.pod-fourth{background:#e3e3e3;color:#111}
.dsdsr-podium-row .pod{box-shadow:0 2px 6px rgba(0,0,0,.15)}
/* Red/Blue role pills */
.dsdsr-match .role{display:inline-block;width:10px;height:10px;border-radius:50%;margin:0 6px;vertical-align:middle}
.dsdsr-match .role-red{background:#d32f2f}
.dsdsr-match .role-blue{background:#1976d2}
/* Pseudo-element fallback if role spans absent */




/* Podium refined heights + medals */
.dsdsr-podium{display:flex;gap:16px;align-items:flex-end;justify-content:center;margin:12px 0 20px}
.dsdsr-podium .pod{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;border:1px solid rgba(0,0,0,.12);border-radius:14px;padding:12px 16px;min-width:140px;box-shadow:0 2px 6px rgba(0,0,0,.15)}
.dsdsr-podium .rk{font-weight:700;margin-bottom:8px}
.dsdsr-podium .nm{font-weight:600;text-align:center}
.dsdsr-podium .step-1{height:140px}
.dsdsr-podium .step-2{height:120px}
.dsdsr-podium .step-3{height:105px}
.dsdsr-podium .step-4{height:95px}
.pod-gold{background:#F8AF37;color:#111}
.pod-silver{background:#C0C0C0;color:#111}
.pod-bronze{background:#CD7F32;color:#fff}
.pod-fourth{background:#e3e3e3;color:#111}

/* Role badges */
.dsdsr-match .role{display:inline-block;width:10px;height:10px;border-radius:50%;margin:0 6px;vertical-align:middle}
.dsdsr-match .role-red{background:#d32f2f}
.dsdsr-match .role-blue{background:#1976d2}




/* Center sets line */
.dsdsr-match .sets{display:flex;justify-content:center;gap:12px;margin-top:6px}
.dsdsr-match .set{display:inline-flex;gap:6px}
/* Podium heights on actual DOM used */
.dsdsr-podium-row .step-1{height:140px}
.dsdsr-podium-row .step-2{height:120px}
.dsdsr-podium-row .step-3{height:105px}
.dsdsr-podium-row .step-4{height:95px}
/* Medal colors already defined, ensure rounded + shadow */
.dsdsr-podium-row .pod{box-shadow:0 2px 6px rgba(0,0,0,.15)}
