/* styles/utilities/shimmer.css — extrait de styles.css L762-L809. Shimmer + legacy theme-toggle + hover tooltips. */

/* ---- Shimmer on interactive elements + hover tooltips ---- */
.line-circle:not(.filled){
  border-style:dashed;
  animation:node-shimmer 1.8s ease-in-out infinite;
}
.line-circle:not(.filled){border-style:dashed}
.line-circle.filled{animation:none}

.station-card.corr .station-card-name.empty{
  animation:text-shimmer 1.8s ease-in-out infinite;
}

@keyframes node-shimmer{
  0%,100%{box-shadow:0 0 6px rgba(0,255,200,.1);border-color:var(--border-strong)}
  50%{box-shadow:0 0 28px rgba(0,255,200,.55);border-color:var(--accent)}
}
@keyframes text-shimmer{
  0%,100%{text-shadow:0 0 0 transparent}
  50%{text-shadow:0 0 12px rgba(0,255,200,.6);color:var(--accent)}
}

/* Hover tooltips via ::after */
.line-circle:not(.filled)::after{
  content:'Choisis une ligne';
  position:absolute;top:calc(100% + 8px);left:50%;
  transform:translateX(-50%);
  padding:4px 10px;border-radius:6px;
  background:var(--panel);border:1px solid var(--border);
  font-family:var(--sans);font-size:10px;font-weight:500;
  color:var(--fg-dim);white-space:nowrap;
  opacity:0;pointer-events:none;
  transition:opacity .15s ease;
}
.line-circle:not(.filled):hover::after{opacity:1}

.conn-add-btn.visible::after,
.conn-add-btn.coach-hint::after{
  content:'Ajouter une correspondance';
  position:absolute;top:calc(100% + 6px);left:50%;
  transform:translateX(-50%);
  padding:4px 10px;border-radius:6px;
  background:var(--panel);border:1px solid var(--border);
  font-family:var(--sans);font-size:10px;font-weight:500;
  color:var(--fg-dim);white-space:nowrap;
  opacity:0;pointer-events:none;
  transition:opacity .15s ease;
}
.conn-add-btn.visible:hover::after{opacity:1}

/* ---- Coaching 1re manche ----------------------------------------
   On réutilise EXACTEMENT les tooltips ci-dessus, juste forcés visibles
   (sans survol) tant que l'action n'a pas été survolée/tapée. La classe
   `coach-hint` est posée/retirée par chain.js (applyCoaching). Co-localisé
   ici pour gagner la cascade face aux règles opacity:0 ci-dessus. */
.line-circle.coach-hint:not(.filled)::after,
.conn-add-btn.coach-hint::after{ opacity:1; }
/* Le « + » est masqué hors survol : on force le bouton lui-même visible
   (sinon son ::after hérite de opacity:0). !important bat la règle
   tactile `.conn-add-btn{opacity:.6 !important}`. */
.conn-add-btn.coach-hint{ opacity:1 !important; pointer-events:auto; }
/* Node coaché au-dessus pour que sa bulle ne soit pas masquée. */
.line-circle.coach-hint,
.conn-add-btn.coach-hint{ z-index:6; }
