/* Mnoria — liste des contributions (accordéons, éléments, pagination, onglets Score/Contributions,
   graphique des notes IA). Partagé par « Scores et contributions » (/contributions) et l'onglet
   Contributions du profil (/profil/:handle). Tout est scopé sous .contributions-shared : la page
   hôte doit placer ce conteneur autour du panneau. Déplacé tel quel depuis views/mon-univers.html
   (ex-sélecteurs .page-contributions, renommés), sans changement de rendu. */

    /* Textes sur fond clair (harmonisé avec le reste du site, 27/08/2026) */
    .contributions-shared .contributions-accordion {
      background: #f9fafb;
      border: 1px solid #e5e7eb;
      border-radius: 14px;
      margin-bottom: 12px;
      overflow: hidden;
    }
    .contributions-shared .contributions-accordion summary {
      list-style: none;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      padding: 15px 16px;
      user-select: none;
      -webkit-tap-highlight-color: transparent;
    }
    .contributions-shared .contributions-accordion summary::-webkit-details-marker {
      display: none;
    }
    .contributions-shared .contributions-accordion-label {
      color: #111827;
      font-size: 16px;
      font-weight: 700;
      display: inline-flex;
      align-items: center;
      gap: 9px;
    }
    /* Plus de bleu sur cette page (demande du 20/09/2026) : compteurs, pastilles, icônes de
       rubriques, bouton d'évolution et courbe en doré, celui des onglets Ancrer/Relier
       (.qcm-slot-btn-new, views/qcm-du-jour.html) ; fonds = ce doré très dilué. */
    .contributions-shared .contributions-count {
      color: #e99a2e;
      background: rgba(233, 154, 46, 0.14);
      border-radius: 999px;
      padding: 1px 9px;
      font-size: 12px;
      font-weight: 700;
      min-width: 18px;
      text-align: center;
    }
    .contributions-shared .contributions-accordion-label > i,
    .contributions-shared .contributions-accordion-label > .mnoria-arena-icon {
      color: #e99a2e;
    }
    .contributions-shared .contributions-count:empty {
      display: none;
    }
    .contributions-shared .contributions-accordion-chevron {
      color: #9ca3af;
      font-size: 13px;
      transition: transform 0.18s ease;
      flex: 0 0 auto;
    }
    .contributions-shared .contributions-accordion[open] .contributions-accordion-chevron {
      transform: rotate(180deg);
    }
    .contributions-shared .contributions-accordion-body {
      padding: 2px 12px 12px;
      border-top: 1px solid #e5e7eb;
      padding-top: 12px;
    }
    .contributions-shared .contribution-item {
      display: block;
      color: #111827;
      background: #ffffff;
      border: 1px solid #e5e7eb;
      border-radius: 12px;
      padding: 13px 15px;
      margin-bottom: 10px;
      text-decoration: none;
      transition: background 0.12s ease;
    }
    .contributions-shared .contribution-item:hover {
      background: #f3f4f6;
    }
    .contributions-shared .contribution-item:last-child {
      margin-bottom: 2px;
    }
    .contributions-shared .contribution-title {
      color: #111827;
      font-weight: 700;
      font-size: 15px;
      margin: 0 0 4px;
      line-height: 1.35;
    }
    .contributions-shared .contribution-subtitle {
      color: #6b7280;
      font-size: 13px;
      margin: 0 0 6px;
      line-height: 1.45;
      display: -webkit-box;
      -webkit-line-clamp: 3;
      -webkit-box-orient: vertical;
      overflow: hidden;
    }
    .contributions-shared .contribution-meta {
      color: #6b7280;
      font-size: 12px;
      display: flex;
      align-items: center;
      gap: 10px;
      flex-wrap: wrap;
    }
    .contributions-shared .contribution-badge {
      display: inline-flex;
      align-items: center;
      gap: 5px;
      background: rgba(233, 154, 46, 0.14);
      color: #e99a2e;
      border-radius: 999px;
      padding: 2px 9px;
      font-size: 11px;
      font-weight: 700;
    }
    .contributions-shared .contributions-pager {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 14px;
      padding: 4px 0 2px;
    }
    .contributions-shared .contributions-pager-btn {
      width: 32px;
      height: 32px;
      border-radius: 999px;
      border: 1px solid #d1d5db;
      background: #ffffff;
      color: #374151;
      font-size: 12px;
      cursor: pointer;
      display: inline-flex;
      align-items: center;
      justify-content: center;
    }
    .contributions-shared .contributions-pager-btn:disabled {
      opacity: 0.35;
      cursor: default;
    }
    .contributions-shared .contributions-pager-info {
      color: #6b7280;
      font-size: 13px;
      font-weight: 700;
      min-width: 44px;
      text-align: center;
    }
    .notes-evolution-btn {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      background: rgba(233, 154, 46, 0.14);
      color: #e99a2e;
      border: 1px solid rgba(233, 154, 46, 0.4);
      border-radius: 999px;
      padding: 8px 16px;
      font-size: 13px;
      font-weight: 700;
      cursor: pointer;
    }
    .notes-evolution-btn:hover {
      background: rgba(233, 154, 46, 0.25);
    }
    #notes-evolution-overlay {
      position: fixed;
      inset: 0;
      z-index: 100000;
      background: rgba(0, 0, 0, 0.6);
      backdrop-filter: blur(3px);
      -webkit-backdrop-filter: blur(3px);
      display: none;
      align-items: center;
      justify-content: center;
      padding: 18px;
      box-sizing: border-box;
    }
    #notes-evolution-overlay.open {
      display: flex;
    }
    .notes-evolution-panel {
      position: relative;
      width: min(100%, 420px);
      background: #ffffff;
      border: 1px solid #e5e7eb;
      border-radius: 18px;
      padding: 20px 16px 16px;
      box-shadow: 0 24px 60px rgba(0, 0, 0, 0.25);
      box-sizing: border-box;
    }
    .notes-evolution-title {
      color: #111827;
      font-size: 16px;
      font-weight: 800;
      margin: 0 34px 2px 4px;
    }
    .notes-evolution-subtitle {
      color: #6b7280;
      font-size: 12px;
      margin: 0 0 12px 4px;
    }
    .notes-evolution-close {
      position: absolute;
      top: 12px;
      right: 12px;
      width: 30px;
      height: 30px;
      border-radius: 50%;
      border: 1px solid #d1d5db;
      background: #f3f4f6;
      color: #6b7280;
      font-size: 14px;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
    }
    #notes-evolution-chart {
      width: 100%;
      display: block;
      touch-action: pan-y;
    }
    /* Info-bulle du graphique volontairement laissée sombre (comme un tooltip natif) :
       reste lisible et bien distincte, qu'elle flotte sur fond blanc ou sombre. */
    .notes-evolution-tooltip {
      position: absolute;
      background: #243038;
      border: 1px solid #3a4a55;
      border-radius: 10px;
      padding: 8px 11px;
      pointer-events: none;
      display: none;
      max-width: 210px;
      box-shadow: 0 8px 20px rgba(0, 0, 0, 0.35);
    }
    .notes-evolution-tooltip .tt-title {
      color: #e8e8e8;
      font-size: 12px;
      font-weight: 700;
      margin: 0 0 3px;
      overflow: hidden;
      text-overflow: ellipsis;
      display: -webkit-box;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
    }
    .notes-evolution-tooltip .tt-meta {
      color: #a0b0bb;
      font-size: 11px;
      margin: 0;
    }
    .contributions-shared .empty-state {
      color: #6b7280;
      background: #ffffff;
      border: 1px dashed #d1d5db;
      border-radius: 12px;
      padding: 14px 16px;
      font-size: 13.5px;
    }
    .contributions-shared .empty-state.contributions-loading {
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 22px 16px;
    }
    .contributions-loading-spinner {
      width: 30px;
      height: 30px;
      object-fit: contain;
      animation: mnoriaSpin 0.8s linear infinite;
    }
    /* Onglets "Score"/"Contributions" — même visuel exact que Découvrir/Ancrer/Relier/Mes
       acquis de la page Apprentissage (.qcm-category-group/.qcm-slot-btn/.qcm-slot-btn.active,
       qcm-du-jour.html), repris tel quel (demande du 01/09/2026, "boutons doivent etre cote
       à cote... reprend aussi la taille de la police, la police des titres" puis "avec comme
       deux pages indépendantes : scores et contributions") : deux vrais onglets fonctionnels
       (un seul panneau visible à la fois, cf. setContributionsPageTab plus bas), pas deux
       titres juste décoratifs. */
    .contributions-section-titles {
      display: flex;
      justify-content: center;
      align-items: baseline;
      gap: 9px;
      margin: 0 0 14px;
    }
    .contributions-section-title {
      position: relative;
      width: auto;
      flex: 0 0 auto;
      padding: 6px 3px 10px;
      border: none;
      background: none;
      color: #111827;
      font-family: "Barlow Condensed", Arial, sans-serif !important;
      font-size: 32px !important;
      font-weight: 600 !important;
      letter-spacing: 0.03em;
      text-transform: uppercase;
      white-space: nowrap;
      cursor: pointer;
    }
    .contributions-section-title.active {
      font-weight: 700 !important;
    }
    .contributions-section-title.active::after {
      content: "";
      position: absolute;
      left: 50%;
      bottom: 0;
      transform: translateX(-50%);
      width: 60%;
      height: 3px;
      border-radius: 999px;
      background: #f5b642;
    }
    @media (max-width: 480px) {
      .contributions-section-titles {
        gap: 8px;
      }
      .contributions-section-title {
        font-size: 20px !important;
        letter-spacing: 0.005em;
      }
    }
