/* Unvarnish — Écosystème (toile) sidebar widget. Tokens = mode-aware. rem units only. */
.unv-ecosys{ margin:1.5rem 0 0; }
.unv-ecosys-h{ font-size:.95rem; line-height:1.2; margin:0 0 .55rem; color:var(--unv-ink); }
.unv-ecosys-canvas{
  position:relative; width:100%; height:14rem; box-sizing:border-box; overflow:hidden;
  border:1px solid var(--unv-line); border-radius:.6rem;
  background:radial-gradient(circle at 50% 42%, rgba(127,127,127,.10), transparent 70%);
  touch-action:pan-y;                 /* horizontal drag rotates; vertical still scrolls the page */
}
.unv-ecosys-canvas canvas{ display:block; }
.unv-ecosys-fallback{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  padding:1rem; text-align:center; font-size:.82rem; color:var(--unv-grey);
}
.unv-ecosys-fallback a{ color:var(--unv-ink); text-decoration:none; border-bottom:1px solid var(--unv-line); }
.unv-ecosys-fallback a:hover{ color:var(--unv-red); border-color:var(--unv-red); }
.unv-ecosys-tip{
  position:absolute; z-index:6; pointer-events:none; opacity:0; transition:opacity .12s ease;
  max-width:12rem; padding:.28rem .5rem; font-size:.72rem; line-height:1.3;
  color:var(--unv-ink); background:var(--unv-paper);
  border:1px solid var(--unv-line); border-radius:.35rem; box-shadow:0 .3rem .9rem rgba(0,0,0,.25);
}
.unv-ecosys-cta{
  display:inline-block; margin:.55rem 0 0; font-size:.8rem; color:var(--unv-grey);
  text-decoration:none; border-bottom:1px solid transparent; transition:color .2s ease, border-color .2s ease;
}
.unv-ecosys-cta:hover{ color:var(--unv-red); border-color:var(--unv-red); }
.unv-ecosys-zoom{ position:absolute; right:.5rem; bottom:.5rem; z-index:5; display:flex; flex-direction:column; gap:.25rem; }
.unv-ecosys-zoom button{
  width:1.7rem; height:1.7rem; display:flex; align-items:center; justify-content:center; padding:0;
  font-size:1.05rem; line-height:1; cursor:pointer;
  color:var(--unv-ink); background:var(--unv-paper); border:1px solid var(--unv-line); border-radius:.35rem;
  transition:color .15s ease, border-color .15s ease;
}
.unv-ecosys-zoom button:hover{ color:var(--unv-red); border-color:var(--unv-red); }
