.actors-3d-ready .sv-monster .sv-body,.actors-3d-ready .sv-player>:not(small),.actors-3d-ready .z-person>.z-character-art{visibility:hidden}
.actors-3d-ready .sv-monster,.actors-3d-ready .sv-player,.actors-3d-ready .z-person{filter:none!important;background:none!important;box-shadow:none!important}
.actors-3d-ready .sv-monster::before,.actors-3d-ready .sv-monster::after,.actors-3d-ready .sv-player::before,.actors-3d-ready .sv-player::after{display:none!important}
.actors-3d-ready .sv-monster small,.actors-3d-ready .sv-player small{position:absolute;top:8px;left:50%;transform:translateX(-50%);white-space:nowrap;text-shadow:0 2px 4px #151126}
.sv-compass{position:absolute;right:12px;top:185px;z-index:6;padding:9px 12px;border:1px solid #dd9eef88;border-radius:14px;background:#30243ee8;color:#fff;font-size:12px}
.sv-compass[aria-pressed=true]{color:#bff7c6;border-color:#9fdfb0}

/* Markers retain transparent, full-size hitboxes, never a tall opaque label. */
.sv-dialog.sv-game .sv-monster,.sv-dialog.sv-game .sv-player{width:70px;height:116px;background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0;overflow:visible;filter:none!important}
.sv-dialog.sv-game .sv-monster small,.sv-dialog.sv-game .sv-player small{position:absolute;top:auto;bottom:-22px;left:50%;width:max-content;max-width:140px;height:auto;min-height:0;transform:translateX(-50%);padding:2px 7px;border-radius:7px;font:750 11px/16px system-ui;white-space:nowrap}
.sv-dialog.sv-game .sv-monster:has(.actor-fallback) .sv-body,.sv-dialog.sv-game .sv-player:has(.actor-fallback) .gp-avatar{display:none}
.actor-fallback{display:block;width:70px;height:116px;filter:drop-shadow(0 1px 2px #09071188)}.actor-fallback svg{display:block;width:100%;height:100%;overflow:visible}
.actor-arm,.actor-leg{transform-box:view-box;transform-origin:40px 78px;animation:actor-idle 2.6s ease-in-out infinite alternate}.actor-arm{transform-origin:40px 45px}.actor-right{animation-delay:-1.3s}
.sv-running .actor-leg,.sv-player-moving .actor-leg{animation:actor-stride .65s ease-in-out infinite alternate}.sv-running .actor-arm,.sv-player-moving .actor-arm{animation:actor-swing .65s ease-in-out infinite alternate}.sv-running .actor-right,.sv-player-moving .actor-right{animation-delay:-.65s}
.actors-3d-ready .actor-fallback{visibility:hidden}
.sv-dialog.sv-game .sv-compass{top:calc(var(--sv-top,12px) + 245px);right:8px;max-width:120px;padding:7px 9px;min-height:36px;font:650 11px/1.3 system-ui;border-radius:10px}
@keyframes actor-stride{from{transform:rotate(-16deg)}to{transform:rotate(16deg)}}@keyframes actor-swing{from{transform:rotate(17deg)}to{transform:rotate(-17deg)}}@keyframes actor-idle{to{transform:rotate(2deg)}}
@media(prefers-reduced-motion:reduce){.actor-arm,.actor-leg{animation:none!important}}
