/* La silhouette reste un petit détail de la composition, jamais un contrôle. */
.shrimp-traveller {
  position: absolute;
  left: 18%;
  bottom: 109px;
  width: 96px;
  aspect-ratio: 568 / 610;
  color: var(--accent);
  --shrimp-eye: var(--green);
  pointer-events: none;
  user-select: none;
  z-index: 3;
}
:root[data-theme='dark'] .shrimp-traveller { --shrimp-eye: var(--cream); }
.shrimp-traveller.is-travelling {
  position: fixed;
  top: 0;
  left: 0;
  bottom: auto;
  z-index: 8;
  contain: layout style;
  transition: opacity 120ms ease;
}
.shrimp-traveller[data-surface='green'] { color: var(--gold); --shrimp-eye: var(--cream); }
.shrimp-drawing { width: 100%; height: auto; overflow: visible; }
.shrimp-eye { fill: var(--shrimp-eye); }
.shrimp-pose { transform-origin: 280px 320px; }
.shrimp-antenna-long, .shrimp-antenna-short { transform-origin: 432px 174px; }
.shrimp-tail { transform-origin: 118px 479px; }
.shrimp-leg-one { transform-origin: 310px 306px; }
.shrimp-leg-two { transform-origin: 280px 344px; }
.shrimp-leg-three { transform-origin: 143px 425px; }
.shrimp-leg-four { transform-origin: 129px 460px; }
.shrimp-traveller[hidden], .dialog-open .shrimp-traveller,
body:has(.menu-toggle[aria-expanded='true']) .shrimp-traveller { visibility: hidden; }
@media (max-width: 1000px) {
  .shrimp-traveller { width: 74px; left: 12%; bottom: 115px; }
}
@media (max-width: 700px) {
  .shrimp-traveller { width: 60px; left: 16%; bottom: 185px; }
}
@media (prefers-reduced-motion: reduce) {
  .shrimp-traveller *, .shrimp-traveller { animation: none !important; }
}
@media print { .shrimp-traveller { display: none !important; } }
