/* SVG paint animation works for both touch and mouse without moving lot boundaries. */
@keyframes ux-lot-available{0%,100%{fill-opacity:1}50%{fill-opacity:.64}}
@keyframes ux-lot-select{0%{fill-opacity:.45;stroke-opacity:.55}100%{fill-opacity:1;stroke-opacity:1}}
@keyframes ms-reveal{from{opacity:.65;transform:translateY(14px)}to{opacity:1;transform:none}}
/* Starting offsets are explicit SVG lengths, set before the paths animate. */
@keyframes ux-lot-trace{to{stroke-dashoffset:0px}}
@keyframes grLedCorre{to{stroke-dashoffset:0px}}
@keyframes grClientLotRun{to{stroke-dashoffset:0px}}
.ux-lot-trace{fill:none!important;stroke:#008eac;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;display:none}
.ux-pl-quadro .ux-pl-lote.sel>.ux-lot-trace{stroke:#fff1b8;stroke-width:3}
#dxfMapViewport .dxf-lot-group.selected>.ux-lot-trace{stroke:#fff1b8}
.ux-pl-quadro .ux-pl-lote.sel>path:not(.ux-lot-trace){fill-opacity:1}
/* Keep the actual moving stroke independent of SVG filter repaint bugs in
   Safari. Its contrasting runner, head and static track carry the highlight. */
#grMapa .gr-led-corrida,#grMapa .gr-led-cabeca,#grMapa .gr-hover-contorno,
.gr-client-lot-runner,.gr-client-lot-head{filter:none;vector-effect:none;pointer-events:none}
#dxfMapSvg .dxf-lot-group:hover .dxf-lot-shape,
#dxfMapSvg .dxf-lot-group.selected .dxf-lot-shape{filter:none!important}
.ux-motion-host:not(.motion-ready) .gr-led-corrida,
.ux-motion-host:not(.motion-ready) .gr-led-cabeca,
.ux-motion-host:not(.motion-ready) .gr-client-lot-runner,
.ux-motion-host:not(.motion-ready) .gr-client-lot-head,
.ux-motion-host:not(.motion-ready) .dxf-lot-group.selected .dxf-lot-shape{animation-play-state:paused!important}
@media screen and (prefers-reduced-motion:no-preference){
 .motion-ready .ux-lot-trace{display:block;animation:ux-lot-trace 2.8s linear 2}
 .map-art.motion-ready .map-lot[data-status="available"]:not(.selected),
 .ux-pl-quadro.motion-ready .ux-pl-lote[data-status="available"]:not(.sel)>path{
  animation:ux-lot-available 2.6s ease-in-out 2;
 }
 .map-art.motion-ready .map-lot.selected,
 .ux-pl-quadro.motion-ready .ux-pl-lote.sel>path:not(.ux-lot-trace){
  animation:ux-lot-select .7s ease-out;
 }
 .ms-motion-enter{animation:ms-reveal .6s cubic-bezier(.2,.7,.2,1) both;animation-delay:var(--ms-delay,0ms)}
}
/* Selection remains visible with Reduce Motion, without a moving target. */
@media(prefers-reduced-motion:reduce){
 .map-art .map-lot,.ux-pl-quadro .ux-pl-lote>path,.ms-motion-enter{animation:none!important;fill-opacity:1;stroke-opacity:1}
 .ms-motion-enter{opacity:1;transform:none}
}
@media print{.map-art .map-lot,.ux-pl-quadro .ux-pl-lote>path,.ms-motion-enter{animation:none!important;opacity:1;fill-opacity:1;transform:none}}

/* Monte Siao: contorno dourado continuo e brilho no lote selecionado. */
@keyframes ms-lot-glow{0%,100%{stroke-opacity:1}50%{stroke-opacity:.45}}
.map-art .ux-lot-trace{stroke:#d08a12}
.map-art .map-lot.selected{stroke:#002b60;stroke-width:2.6}
.map-art .map-lot.selected{stroke:#002b60;stroke-width:1.4}
.ms-led{pointer-events:none;display:none}
.ms-led-preenche{stroke:none;opacity:.13}
.ms-led-trilho{fill:none;opacity:.34;stroke-linecap:round;stroke-linejoin:round}
.ms-led-cabeca{fill:none;stroke:#fff6df;stroke-linecap:round}
@media screen and (prefers-reduced-motion:no-preference){.map-art.motion-ready .ux-lot-trace{animation:ux-lot-trace 1.9s linear infinite}.map-art.motion-ready .map-lot.selected{animation:ux-lot-select .7s ease-out}.map-art.motion-ready .ms-led{display:block}.map-art.motion-ready .ms-led-cabeca{animation:ux-lot-trace 1.9s linear infinite}}
