/* [AJOUT 23/09/2026, brainstorm "rapport d'avant-match"] Styles du rapport
   partage (match-report.js) - charge par prematch.html et index.html. */

/* 2 onglets en pilules : "Resume du match" (sobre) et "Analyse detaillee"
   (bleu Mantisnap + halo rotatif + reflet, meme config que l'ancien bouton
   "Analyse complete" de la frise, .date-panel-preview-cta dans header.css). */
.match-report-tabs { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 12px 0 10px; }
.match-report-tab { position: relative; overflow: hidden; border: 1px solid var(--border); background: rgba(var(--text-rgb),0.04); color: rgba(var(--text-rgb),0.65); font: inherit; font-size: 12.5px; font-weight: 700; padding: 8px 16px; border-radius: 20px; cursor: pointer; white-space: nowrap; transition: background-color .15s, color .15s; }
.match-report-tab:hover { background: rgba(var(--text-rgb),0.08); }
/* Onglet actif teinte en bleu (demande Jerome 25/09/2026). */
.match-report-tab.active { color: #93c5fd; background: rgba(59,130,246,0.18); border-color: rgba(59,130,246,0.55); }
:root[data-theme="light"] .match-report-tab.active { color: var(--blue); }
.match-report-tab-analyse, .match-report-tab-analyse:hover { background: var(--blue); color: #fff; border-color: transparent; opacity: .75; }
.match-report-tab-analyse.active { background: var(--blue); color: #fff; opacity: 1; box-shadow: 0 0 14px rgba(59,130,246,0.45); }
.match-report-tab-analyse::before {
  content: '';
  position: absolute; top: 0; left: -60%; width: 40%; height: 100%;
  background: linear-gradient(115deg, transparent, rgba(255,255,255,0.55), transparent);
  transform: skewX(-20deg);
  animation: matchReportShine 3.5s ease-in-out infinite;
}
@keyframes matchReportShine { 0%, 40% { left: -60%; } 60%, 100% { left: 130%; } }
.match-report-analyse-wrap { position: relative; width: fit-content; border-radius: 20px; }
@property --match-report-angle { syntax: '<angle>'; initial-value: 0deg; inherits: false; }
@keyframes matchReportGlowSpin { from { --match-report-angle: 0deg; } to { --match-report-angle: 360deg; } }
.match-report-analyse-wrap::before {
  content: '';
  position: absolute; inset: -2px; border-radius: inherit;
  padding: 2px;
  background: conic-gradient(
    from var(--match-report-angle, 0deg),
    transparent 0deg, transparent 260deg,
    #93c5fd 300deg, #fff 320deg, #93c5fd 340deg, transparent 360deg
  );
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  animation: matchReportGlowSpin 3.2s linear infinite;
  pointer-events: none;
  z-index: 1;
}
/* Match pas encore capture (>12h avant le coup d'envoi) : onglet grise, sans
   halo ni reflet. */
.match-report-analyse-wrap.disabled::before, .match-report-analyse-wrap.disabled .match-report-tab-analyse::before { display: none; }
.match-report-analyse-wrap.disabled .match-report-tab-analyse { opacity: .35; cursor: not-allowed; box-shadow: none; }
@media (prefers-reduced-motion: reduce) {
  .match-report-analyse-wrap::before, .match-report-tab-analyse::before { animation: none; }
}
.match-report-body { padding-bottom: 8px; }
.match-report-locked { padding: 16px 0 8px; }
.match-report-notice { padding: 14px 0; font-size: 12.5px; color: rgba(var(--text-rgb),0.6); }

/* Dossier "Analyse detaillee" - deplace depuis prematch.html (23/09/2026).
   Separateur fin + espace sur toutes les sections (meme rythme visuel). */
/* [25/09/2026, comme l'app] Un carre par marche (fond leger, bordure fine,
   coins arrondis). Un marche seul sur sa ligne prend toute la largeur. */
.dossier-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 10px; margin-bottom: 10px; }
.dossier-block { font-size: 12px; padding: 10px; border-radius: 10px; background: rgba(var(--text-rgb),0.03); border: 0.5px solid var(--border); min-width: 0; overflow-wrap: anywhere; }
.dossier-grid > .dossier-block:only-child { grid-column: 1 / -1; }
.mr-rows { display: flex; flex-direction: column; gap: 2px; color: var(--text); font-weight: 600; }
.mr-vrow { display: flex; align-items: flex-start; gap: 6px; }
.mr-vname { flex: 1; min-width: 0; }
.mr-score-rows { margin-top: 2px; font-weight: 700; }
.dossier-label { font-size: 10px; font-weight: 700; color: var(--blue); text-transform: uppercase; letter-spacing: 0.4px; margin-bottom: 4px; }
.dossier-val { color: var(--text); font-weight: 600; }
.scorer-line, .sidelined-line { font-size: 11px; color: rgba(var(--text-rgb),0.78); line-height: 1.6; }
/* Etoile d'impact joueur (0-3, starsPart()) en bleu accent (14/09/2026). */
.player-star { color: #93c5fd; vertical-align: -1px; margin-left: 1px; }
.h2h-record-line { font-size: 11px; color: rgba(var(--text-rgb),0.5); margin-top: 3px; }
/* [AJOUT 24/09/2026, brainstorm Jerome] Resultat reel sous l'analyse d'un
   match termine : jaune = realise, gris = pas realise (match-report.js,
   hitSpan/resultLine). Jaune plus sombre en theme clair pour rester lisible
   sur fond blanc. */
.mr-hit { color: #facc15; font-weight: 700; }
:root[data-theme="light"] .mr-hit { color: #a16207; }
.mr-miss { color: rgba(var(--text-rgb),0.38); }
.mr-legend { font-size: 11px; font-style: italic; color: rgba(var(--text-rgb),0.5); margin: 2px 0 10px; }
.mr-result-line { font-size: 11px; font-weight: 700; color: var(--text); margin-top: 5px; }
.ai-note { margin-top: 4px; padding-top: 6px; font-size: 11px; color: rgba(var(--text-rgb),0.4); font-style: italic; }
