/* La Clique — Ligne de progression et « Clic et sa clique » (19 oct. 2026)
   D'après la maquette du tableau de bord validée par Gabriel.
   Ordi : une ligne horizontale (101 → 102 → parcours), un rang de la clique au bout de chaque bout de ligne.
   Cellulaire : la même ligne, mais verticale. Tout s'arrête si l'appareil demande moins d'animations. */

.lp{padding:0 18px 18px;display:flex;flex-direction:column;gap:18px}
.lp-tete{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 24px;padding:16px 18px 0}
.lp-tete .kick{font-family:var(--mono);font-size:12px;letter-spacing:.1em;color:var(--cy)}
.lp-tete h2{margin:6px 0 0;font-size:20px;font-weight:600;color:#e6f1ff}
.lp-leg{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:13px;color:var(--mu);margin:0;padding:0;list-style:none}
.lp-leg li{display:inline-flex;align-items:center;gap:8px}
.lp-leg i{width:10px;height:10px;border-radius:50%;display:block}
.lp-leg .r{background:var(--cy);box-shadow:0 0 8px rgba(0,255,255,.8)}
.lp-leg .c{background:var(--lime);box-shadow:0 0 8px rgba(198,255,51,.8)}
.lp-leg .v{border:1.5px solid rgba(147,168,198,.6)}

/* La ligne */
.lp-ligne{display:flex;align-items:flex-start;gap:6px}
.lp-rang{flex:0 0 72px;display:flex;flex-direction:column;align-items:center;gap:6px;padding-top:24px;text-align:center}
.lp-rang svg{width:34px;height:38px;display:block}
.lp-rang .nm{font-family:var(--mono);font-size:11px;line-height:1.3}
.lp-rang .et,.lp-rang .long{display:none}
.lp-seg{min-width:0;display:flex;flex-direction:column;gap:8px}
.lp-seg .hd{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:0 6px}
.lp-seg .nm{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lp-seg .nm small{font-family:var(--mono);font-size:11px;font-weight:400;color:var(--mu);margin-right:8px}
.lp-seg .ct{font-family:var(--mono);font-size:12px;white-space:nowrap}
.lp-rail{position:relative;height:44px}
.lp-rail::before,.lp-rail .plein{content:"";position:absolute;left:14px;top:21px;height:3px;border-radius:9px}
.lp-rail::before{right:14px;background:rgba(255,255,255,.09)}
.lp-rail .plein{background:linear-gradient(90deg,var(--cy),var(--vi));box-shadow:0 0 12px rgba(0,255,255,.7);transition:width 1.4s cubic-bezier(.2,.8,.2,1)}
.lp-points{position:relative;display:flex;justify-content:space-between}

/* Un point = une mission (bouton de 44 px de haut pour le doigt) */
.lp-pt{width:28px;height:44px;display:grid;place-items:center;padding:0;border:0;border-radius:10px;background:transparent;cursor:pointer;transition:transform .2s}
.lp-pt:hover{transform:translateY(-2px)}
.lp-pt[aria-pressed="true"]{background:rgba(0,255,255,.10);box-shadow:inset 0 0 0 1.5px rgba(0,255,255,.7)}
.lp-pt:disabled{cursor:default;transform:none}
.lp-pt span{display:block;border-radius:50%}
.lp-pt.fait span{width:12px;height:12px;background:var(--cy);box-shadow:0 0 10px rgba(0,255,255,.8)}
.lp-pt.encours span{width:16px;height:16px;background:var(--lime);box-shadow:0 0 0 4px rgba(198,255,51,.22),0 0 18px rgba(198,255,51,.85);animation:lpPouls 2.2s ease-in-out infinite}
.lp-pt.avenir span{width:10px;height:10px;background:#0b1526;border:1.5px solid rgba(147,168,198,.5)}
.lp-pt.fantome span{width:8px;height:8px;background:#0b1526;border:1.5px dashed rgba(147,168,198,.3)}
@keyframes lpPouls{50%{transform:scale(1.18)}}

/* Le détail de la mission choisie */
.lp-detail{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 16px;padding:16px 18px;border-radius:14px;background:rgba(0,255,255,.05);border:1px solid rgba(0,255,255,.22)}
.lp-detail .txt{display:flex;flex-direction:column;gap:4px;min-width:0}
.lp-detail .k{font-family:var(--mono);font-size:12px;letter-spacing:.08em;color:var(--mu)}
.lp-detail .t{font-size:18px;font-weight:600}
.lp-detail .s{font-size:14px}
.lp-btn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 18px;border-radius:12px;font-size:14px;font-weight:600;text-decoration:none;color:var(--cy);background:rgba(0,255,255,.08);border:1px solid rgba(0,255,255,.3)}
.lp-btn:hover{background:rgba(0,255,255,.16)}

/* Clic et sa clique : les 4 rangs */
.cq{padding:0 18px 18px;display:flex;flex-direction:column;gap:14px}
.cq-prog{display:flex;flex-direction:column;gap:8px;padding-top:4px}
.cq-prog .l{display:flex;justify-content:space-between;gap:10px;font-size:13px;color:var(--mu)}
.cq-prog .l b{color:var(--lime)}
.cq-prog .l span:last-child{font-family:var(--mono)}
.cq-barre{height:8px;border-radius:9px;background:rgba(255,255,255,.1)}
.cq-barre i{display:block;height:8px;border-radius:9px;background:linear-gradient(90deg,var(--cy),var(--vi));box-shadow:0 0 12px rgba(0,255,255,.7);transition:width 1.4s cubic-bezier(.2,.8,.2,1)}
.cq-rangs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.cq-rangs li{display:flex;align-items:center;gap:12px;min-height:56px;padding:8px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.06)}
.cq-rangs li.prochain{background:rgba(198,255,51,.06);border-color:rgba(198,255,51,.3)}
.cq-rangs svg{flex:none;width:26px;height:28px}
.cq-rangs .q{flex:1 1 auto;display:flex;flex-direction:column;min-width:0}
.cq-rangs .q b{font-size:15px;font-weight:600}
.cq-rangs .q small{font-size:12px;color:var(--mu)}
.cq-rangs .e{font-family:var(--mono);font-size:11px;letter-spacing:.06em}

@media (max-width:1100px){.cq-rangs{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Cellulaire : la ligne devient verticale */
@media (max-width:820px){
  .lp-ligne{position:relative;flex-direction:column;gap:0;padding-left:4px}
  .lp-ligne::before{content:"";position:absolute;left:20px;top:20px;bottom:20px;width:3px;border-radius:9px;background:rgba(255,255,255,.09)}
  .lp-ligne .vplein{position:absolute;left:20px;top:20px;width:3px;border-radius:9px;background:linear-gradient(180deg,var(--cy) 60%,var(--vil));box-shadow:0 0 12px rgba(0,255,255,.7);transition:height 1.4s cubic-bezier(.2,.8,.2,1)}
  .lp-rang{position:relative;flex:none;flex-direction:row;align-items:center;gap:12px;padding:0;min-height:44px;text-align:left}
  .lp-rang .nm{font-family:var(--f);font-size:14px;font-weight:600}
  .lp-rang .court{display:none}
  .lp-rang .long{display:inline}
  .lp-rang .et{display:inline;font-family:var(--mono);font-size:11px;font-weight:400;margin-left:6px}
  .lp-seg{position:relative;flex:none !important;padding:10px 0 12px 48px}
  .lp-seg .hd{padding:0}
  .lp-seg .nm{white-space:normal}
  .lp-seg .nm small{display:block;margin:0}
  .lp-rail{height:auto}
  .lp-rail::before,.lp-rail .plein{display:none}
  .lp-points{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;justify-items:center}
  .lp-detail{flex-direction:column;align-items:flex-start}
  .cq-rangs{grid-template-columns:minmax(0,1fr)}
  #cqTitre + small{display:none}
}
@media (min-width:821px){.lp-ligne .vplein{display:none}}

@media (prefers-reduced-motion:reduce){.lp-pt.encours span{animation:none}.lp-rail .plein,.cq-barre i,.lp-ligne .vplein{transition:none}}

/* Puce « Ton rang » sous le titre du tableau de bord */
.rang-puce{display:inline-flex;align-items:center;gap:8px;margin:12px 0 0;min-height:34px;padding:0 14px;border-radius:999px;border:1px solid rgba(0,255,255,.3);background:rgba(6,14,30,.6);font-size:13px;color:var(--cy)}
.rang-puce b{font-weight:600}
