/* Écran « Séance terminée » — refonte visuelle.
   Portée #session-summary-overlay. Les valeurs (points, exercices, séries,
   durée, records, rang) restent écrites par showSessionSummary() comme
   avant ; seuls l'habillage et l'entrée en scène changent. Teintes :
   --summary-rank (couleur du rang atteint) ; or quand un record est battu. */

#session-summary-overlay .summary-box{position:relative;isolation:isolate;overflow-x:hidden;padding-top:26px;border:0;border-top:1px solid color-mix(in srgb,var(--summary-rank,var(--accent)) 55%,transparent);background:radial-gradient(90% 46% at 50% 0%,color-mix(in srgb,var(--summary-rank,var(--accent)) 26%,transparent),transparent 72%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='100'%3E%3Cpath d='M28 66L0 50L0 16L28 0L56 16L56 50L28 66L28 100' fill='none' stroke='%23fff' stroke-opacity='.05' stroke-width='1.2'/%3E%3C/svg%3E") 0 0/28px 50px,linear-gradient(180deg,#141418,#0b0b0e 60%);box-shadow:0 -20px 60px color-mix(in srgb,var(--summary-rank,var(--accent)) 22%,transparent)}
#session-summary-overlay .summary-box.has-record{--summary-gold:#fbbf24}

/* Rayons lumineux derrière le badge */
#session-summary-overlay .summary-glow{position:absolute;z-index:-1;left:50%;top:-70px;width:420px;height:420px;margin-left:-210px;border-radius:50%;pointer-events:none;background:repeating-conic-gradient(from 0deg,color-mix(in srgb,var(--summary-rank,var(--accent)) 22%,transparent) 0 6deg,transparent 6deg 18deg);-webkit-mask:radial-gradient(circle,#000 18%,transparent 62%);mask:radial-gradient(circle,#000 18%,transparent 62%);opacity:.7;animation:smRays 24s linear infinite}

/* Badge du rang */
#session-summary-overlay .summary-emblem{width:92px;height:92px;margin:0 auto 6px;filter:drop-shadow(0 10px 18px rgba(0,0,0,.55)) drop-shadow(0 0 22px color-mix(in srgb,var(--summary-rank,var(--accent)) 65%,transparent));animation:smFloat 4.5s ease-in-out infinite}
#session-summary-overlay .summary-emblem:empty{display:none}
#session-summary-overlay .summary-emblem svg{width:100%;height:100%}

/* Bandeau « Séance terminée » */
#session-summary-overlay .summary-kicker{display:inline-flex;align-items:center;gap:7px;padding:6px 12px 6px 8px;border-radius:999px;background:rgba(34,197,94,.12);box-shadow:inset 0 0 0 1px rgba(34,197,94,.4);color:#86efac;font-size:11px;letter-spacing:2px}
#session-summary-overlay .summary-kicker::before{content:'';width:16px;height:16px;border-radius:50%;background:#22c55e url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4L18 8' fill='none' stroke='%23fff' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat;box-shadow:0 0 10px rgba(34,197,94,.7)}

/* Points */
#session-summary-overlay .summary-points{margin:12px 0 20px}
#session-summary-overlay .summary-points b{display:inline-block;font:900 92px/.9 'Barlow Condensed',sans-serif;letter-spacing:-1px;background:linear-gradient(180deg,#fff 30%,color-mix(in srgb,var(--summary-gold,var(--summary-rank,var(--accent))) 70%,#fff));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;filter:drop-shadow(0 6px 24px color-mix(in srgb,var(--summary-gold,var(--summary-rank,var(--accent))) 45%,transparent))}
#session-summary-overlay .summary-points b::before{content:'+';font-size:.55em;vertical-align:.5em;margin-right:2px}
#session-summary-overlay .summary-points span{margin-top:8px;font-size:12px;letter-spacing:2.4px;color:#bdb8b4}

/* Statistiques */
#session-summary-overlay .summary-grid{gap:10px;margin-bottom:16px}
#session-summary-overlay .summary-stat{position:relative;padding:40px 6px 12px;border:1px solid rgba(255,255,255,.07);border-radius:18px;background:linear-gradient(170deg,rgba(255,255,255,.06),rgba(255,255,255,.015))}
#session-summary-overlay .summary-stat::before{content:'';position:absolute;left:50%;top:12px;width:20px;height:20px;margin-left:-10px;background:color-mix(in srgb,var(--summary-rank,var(--accent)) 80%,#fff);-webkit-mask:var(--sm-icon) center/contain no-repeat;mask:var(--sm-icon) center/contain no-repeat}
#session-summary-overlay .summary-stat:nth-child(1){--sm-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M6.5 6.5v11M17.5 6.5v11M3.5 9v6M20.5 9v6M6.5 12h11'/%3E%3C/svg%3E")}
#session-summary-overlay .summary-stat:nth-child(2){--sm-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linejoin='round'%3E%3Cpath d='M12 3 3 8l9 5 9-5zM3 12.5l9 5 9-5M3 17l9 5 9-5'/%3E%3C/svg%3E")}
#session-summary-overlay .summary-stat:nth-child(3){--sm-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='13' r='8'/%3E%3Cpath d='M12 9v4l2.5 2M9.5 2.5h5'/%3E%3C/svg%3E")}
#session-summary-overlay .summary-stat b{font:900 28px/1 'Barlow Condensed',sans-serif;color:#fff}
#session-summary-overlay .summary-stat span{margin-top:6px;font-size:9.5px;letter-spacing:1.6px;color:#a29d9a}

/* Records */
#session-summary-overlay .summary-records{position:relative;overflow:hidden;text-align:left;margin-bottom:14px;padding:16px;border-radius:18px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03)}
#session-summary-overlay .summary-box.has-record .summary-records{border:1px solid transparent;background:linear-gradient(160deg,#2a1f08,#17120a) padding-box,linear-gradient(135deg,#fff3c4,#fbbf24 40%,#b45309) border-box;box-shadow:0 12px 30px rgba(251,191,36,.18)}
#session-summary-overlay .summary-box.has-record .summary-records::after{content:'';position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(255,236,170,.25) 50%,transparent 65%);transform:translateX(-120%);animation:smShine 3.6s cubic-bezier(.4,0,.2,1) infinite 1.2s;pointer-events:none}
#session-summary-overlay .summary-rec-title{font:900 18px/1.1 'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.6px;color:#fde68a;margin-bottom:10px}
#session-summary-overlay .summary-rec-title.muted{font:600 13px/1.3 'Barlow',sans-serif;text-transform:none;letter-spacing:0;color:#cfcac6}
#session-summary-overlay .summary-rec-empty{color:#a29d9a;font-size:12px}
#session-summary-overlay .summary-rec-row{align-items:center;padding:8px 0;border-top:1px solid rgba(255,255,255,.07);font-size:13px;color:#e7e2dc}
#session-summary-overlay .summary-rec-row b{padding:4px 9px;border-radius:999px;background:rgba(251,191,36,.16);color:#fde68a;font-size:13px}

/* Rang */
#session-summary-overlay .summary-rank-cur{display:inline-block;padding:7px 14px;border-radius:999px;background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);font-size:12.5px}
#session-summary-overlay .summary-rank-up{position:relative;overflow:hidden;padding:14px;border-radius:18px;font:900 22px/1.1 'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.6px;color:#fff;background:radial-gradient(100% 140% at 50% 0%,color-mix(in srgb,var(--summary-rank) 40%,transparent),transparent 70%),rgba(255,255,255,.03);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--summary-rank) 55%,transparent),0 0 30px color-mix(in srgb,var(--summary-rank) 25%,transparent);animation:smRankPulse 2.4s ease-in-out infinite}

/* Bilan PRO : même langage, plus compact */
#session-summary-overlay .pc-recap{margin-top:16px;border-radius:20px;border-color:rgba(255,255,255,.08);background:linear-gradient(170deg,rgba(255,255,255,.05),rgba(255,255,255,.01)),#0f0f12}
#session-summary-overlay .pc-recap h2{font-size:24px}

/* Partager */
#session-summary-overlay .summary-share{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:10px;min-height:58px;margin-top:16px;border-radius:18px;background:radial-gradient(120% 140% at 100% 0%,rgba(255,255,255,.25),transparent 50%),linear-gradient(135deg,color-mix(in srgb,var(--accent) 72%,#fff),var(--accent) 50%,color-mix(in srgb,var(--accent) 70%,#000));color:#fff;letter-spacing:1.6px;box-shadow:0 14px 30px rgba(var(--accent-rgb),.42),inset 0 1px 0 rgba(255,255,255,.35)}
#session-summary-overlay .summary-share svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
#session-summary-overlay .summary-share::after{content:'';position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.35) 50%,transparent 65%);transform:translateX(-120%);animation:smShine 3.8s cubic-bezier(.4,0,.2,1) infinite 1.6s;pointer-events:none}
#session-summary-overlay .summary-close-link{min-height:44px;color:#a29d9a}

/* Entrée en scène, une fois la fiche ouverte */
#session-summary-overlay.show .summary-emblem{animation:smEmblemIn .8s cubic-bezier(.34,1.56,.64,1) both .1s,smFloat 4.5s ease-in-out infinite 1s}
#session-summary-overlay.show .summary-kicker,#session-summary-overlay.show .summary-points span,#session-summary-overlay.show .summary-stat,#session-summary-overlay.show .summary-records,#session-summary-overlay.show .summary-rank,#session-summary-overlay.show #summary-pro-recap,#session-summary-overlay.show .summary-share{animation:smRise .55s cubic-bezier(.16,1,.3,1) both}
#session-summary-overlay.show .summary-kicker{animation-delay:.2s}
#session-summary-overlay.show .summary-points span{animation-delay:.35s}
#session-summary-overlay.show .summary-stat:nth-child(1){animation-delay:.4s}
#session-summary-overlay.show .summary-stat:nth-child(2){animation-delay:.47s}
#session-summary-overlay.show .summary-stat:nth-child(3){animation-delay:.54s}
#session-summary-overlay.show .summary-records{animation-delay:.62s}
#session-summary-overlay.show .summary-rank{animation-delay:.7s}
#session-summary-overlay.show #summary-pro-recap{animation-delay:.78s}
#session-summary-overlay.show .summary-share{animation-delay:.86s}

@keyframes smRays{to{transform:rotate(360deg)}}
@keyframes smFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes smEmblemIn{0%{opacity:0;transform:scale(.3) rotate(-25deg)}100%{opacity:1;transform:none}}
@keyframes smRise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes smShine{0%{transform:translateX(-120%)}40%,100%{transform:translateX(120%)}}
@keyframes smRankPulse{0%,100%{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--summary-rank) 55%,transparent),0 0 24px color-mix(in srgb,var(--summary-rank) 20%,transparent)}50%{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--summary-rank) 80%,transparent),0 0 40px color-mix(in srgb,var(--summary-rank) 40%,transparent)}}

@media(max-width:360px){
  #session-summary-overlay .summary-points b{font-size:76px}
  #session-summary-overlay .summary-stat b{font-size:23px}
}
@media(prefers-reduced-motion:reduce){
  #session-summary-overlay *,#session-summary-overlay *::before,#session-summary-overlay *::after{animation:none!important}
}

/* Progression vers le rang suivant : la part d'avant la séance en gris,
   le gain de la séance dans la couleur du rang visé. */
#session-summary-overlay .summary-progress{margin:12px 0 0;padding:14px 16px;border-radius:18px;text-align:left;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03)}
#session-summary-overlay .sp-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;font:600 12.5px/1.3 'Barlow',sans-serif;color:#a29d9a}
#session-summary-overlay .sp-head b{color:var(--sp-rank,var(--accent-soft));font-weight:800}
#session-summary-overlay .sp-head .sp-pct{font:900 22px/1 'Barlow Condensed',sans-serif;color:#fff;font-variant-numeric:tabular-nums}
#session-summary-overlay .sp-bar{position:relative;height:10px;margin:10px 0 8px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden}
#session-summary-overlay .sp-bar i{position:absolute;top:0;bottom:0;left:0;border-radius:999px}
#session-summary-overlay .sp-old{background:rgba(255,255,255,.28)}
#session-summary-overlay .sp-gain{background:linear-gradient(90deg,color-mix(in srgb,var(--sp-rank,var(--accent)) 70%,#fff),var(--sp-rank,var(--accent)));box-shadow:0 0 12px color-mix(in srgb,var(--sp-rank,var(--accent)) 60%,transparent);transform-origin:0 50%}
#session-summary-overlay.show .sp-gain{animation:paGrowX 1s cubic-bezier(.16,1,.3,1) .9s both}
#session-summary-overlay .sp-sub{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 10px;font-size:11.5px;line-height:1.3;color:#8f8a86}
#session-summary-overlay .sp-sub span:first-child{color:#e9e5e0;font-weight:700}
#session-summary-overlay .summary-progress.is-max .sp-head{justify-content:center;color:#fde68a;font-weight:800}
@media(prefers-reduced-motion:reduce){#session-summary-overlay .sp-gain{animation:none!important}}
