

/* ---- animated line-SVG icon ---- */
.tileSvg { width: 28px; height: 28px; overflow: visible; }

.tileSvg__ring,
.tileSvg__shape,
.tileSvg__path {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.tileSvg__ring {
  opacity: 0.30;
  stroke-width: 1.4;
  stroke-dasharray: 9 7;
  transform-origin: center;
  animation: tileSpin 14s linear infinite;
}

.tileSvg__shape {
  opacity: 0.95;
  transform-origin: center;
  animation: tileFloat 3.4s ease-in-out infinite;
}

.tileSvg__path {
  stroke-dasharray: 40 8;
  transform-origin: center;
  animation: tileDraw 3.6s ease-in-out infinite;
}
@keyframes tileSpin { to { transform: rotate(360deg); } }
@keyframes tileFloat { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }
@keyframes tileDraw { 0%, 100% { stroke-dashoffset: 0; opacity: 1; } 50% { stroke-dashoffset: 12; opacity: 0.85; } }

@media (prefers-reduced-motion: reduce) {
  .tileSvg__ring, .tileSvg__shape, .tileSvg__path { animation: none !important; }
}