/* Shared by index.html and notification.html.
   Keep the avatar diameter fixed. prepare.py centres each asset on its
   opening; widthPerAvatar in assets/avatar-halos/<id>.source.json scales
   only the decoration so every opening fits the same avatar circle.
   Crowns, ears and other ornaments retain their original proportions. */
.avatar-has-halo { position: relative; overflow: visible !important; }
.avatar-halo {
  position: absolute;
  left: 50%; top: 50%;
  width: 180%; aspect-ratio: 1;
  transform: translate(-50%, -50%);
  z-index: 7; pointer-events: none;
}
.avatar-halo > img { display: block; width: 100%; height: 100%; object-fit: contain; }
/* Same geometry for sibling overlays and overlays inside notification avatars. */
.avatar-halo[data-halo-id="gold-dragon"] { width: 203.4%; }
.avatar-halo[data-halo-id="wings"] { width: 158.8%; }
.avatar-halo[data-halo-id="samurai"] { width: 224.8%; }
.avatar-halo[data-halo-id="cat"] { width: 151.4%; }
.avatar-halo[data-halo-id="bat"] { width: 164.7%; }
.avatar-halo[data-halo-id="demon"] { width: 180.8%; }
.avatar-halo[data-halo-id="games"] { width: 181.9%; }
.avatar-halo[data-halo-id="princess"] { width: 160.6%; }
.avatar-halo[data-halo-id="cates"] { width: 149.7%; }
.avatar-halo[data-halo-id="bunny"] { width: 271.8%; }
