/* Level frames sit over the HUD skin: a framed avatar is a circle, the frame art drawn on top at full size. Loads last. */
.av:has(.frm),.li .av:has(.frm),.list .av:has(.frm),.av.lg:has(.frm){clip-path:none!important;overflow:visible!important;border-radius:50%!important;
  background:radial-gradient(80% 80% at 50% 30%,#1d3a74,#0a1736)!important;padding:0!important;box-shadow:none!important;position:relative}
.av:has(.frm) .avi,.av.lg:has(.frm) .avi{clip-path:circle(50% at 50% 50%)!important;border-radius:50%!important;width:100%;height:100%;object-fit:cover}
.av:has(.frm) img.ei{border-radius:0!important}
.frm{position:absolute;inset:-24%;pointer-events:none;background:center/contain no-repeat;z-index:2}

/* HUD chips: keep "100/100" whole on a 360-390px phone */
.hs{gap:3px;padding-inline:4px}
.hs b{font-size:.74rem!important;text-overflow:clip;letter-spacing:0}
.hs b small{font-size:.6rem}

/* Arabic letters must stay joined: any letter-spacing breaks the joining on iPhone Safari (map labels, HUD, headings). */
body,body *{letter-spacing:normal!important}
.map text,.map .lb{letter-spacing:normal!important;word-spacing:normal;direction:rtl;unicode-bidi:plaintext;font-family:'Cairo',sans-serif!important;font-variant:normal;text-transform:none}
