.rg-unit{position:relative;width:var(--rg-size,64px);height:var(--rg-size,64px);isolation:isolate;overflow:visible;cursor:pointer;touch-action:manipulation;outline:none}
.rg-orient{position:absolute;inset:0;transform:rotate(var(--rg-angle,0deg));transform-origin:50% 50%;pointer-events:none}
.rg-sprite{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;user-select:none;pointer-events:none;filter:drop-shadow(0 2px 2px #0008)}
.rg-effects{position:absolute;inset:0;pointer-events:none;overflow:visible}
.rg-effects.rear{z-index:-1}.rg-effects.front{z-index:2}
.rg-team{position:absolute;left:calc(50% - 3px);bottom:1px;width:6px;height:6px;border-radius:50%;background:var(--rg-team,#91c17c);box-shadow:0 0 0 1px #10201c,0 0 5px #0008;pointer-events:none}
.rg-unit[data-team="none"] .rg-team{display:none}
.rg-unit:focus-visible{outline:2px solid #dcca87;border-radius:50%}
.rg-unit[data-state="moving"][data-domain="ground"] .rg-sprite{animation:rg-track .36s ease-in-out infinite}
.rg-unit[data-domain="air"] .rg-sprite{animation:rg-flight 3s ease-in-out infinite}
.rg-unit[data-domain="naval"] .rg-sprite{animation:rg-water 3.2s ease-in-out infinite}
.rg-unit[data-state="attacking"] .rg-sprite{animation:none}
.rg-unit[data-paused="true"] .rg-sprite,.rg-unit[data-paused="true"] .rg-radar,.rg-unit[data-paused="true"] .rg-fx{animation-play-state:paused}
.rg-fx{position:absolute;pointer-events:none;object-fit:contain;opacity:0;transform-origin:center;animation:rg-particle var(--duration,900ms) linear forwards}
.rg-fx.additive{mix-blend-mode:screen}
.rg-radar{position:absolute;inset:12%;border:1px solid #9ade9740;border-radius:50%;background:conic-gradient(from 0deg,transparent 0deg 270deg,#9ade9704 275deg,#9ade9750 359deg);animation:rg-scan 2.8s linear infinite;pointer-events:none;z-index:-1}
@keyframes rg-particle{0%{opacity:0;transform:translate(0,0) scale(var(--start,.3)) rotate(var(--spin,0deg))}12%{opacity:var(--opacity,.65)}65%{opacity:calc(var(--opacity,.65)*.65)}100%{opacity:0;transform:translate(var(--dx,0px),var(--dy,0px)) scale(var(--end,1.2)) rotate(calc(var(--spin,0deg) + 25deg))}}
@keyframes rg-track{0%,100%{translate:0 0}50%{translate:0 .35px}}
@keyframes rg-flight{0%,100%{translate:0 -1px}50%{translate:0 1px}}
@keyframes rg-water{0%,100%{rotate:-.3deg}50%{rotate:.3deg}}
@keyframes rg-scan{to{rotate:360deg}}
@media(prefers-reduced-motion:reduce){.rg-unit .rg-sprite,.rg-radar,.rg-fx{animation:none!important}.rg-fx{display:none}}
