/* OnlyGirth v44 — light, badge-specific CSS flares; no extra assets, scripts, or permissions.
   Effects are clipped INSIDE the chip, don't change dimensions and never intercept clicks. */
.gh-award {
  position:relative;
  isolation:isolate;
  overflow:hidden;
}
.gh-award > svg,
.gh-award > .og-award-label {
  position:relative;
  z-index:2;
}
.gh-award > .og-award-fx {
  position:absolute;
  z-index:1;
  inset:0;
  pointer-events:none;
  overflow:hidden;
  border-radius:inherit;
}
.gh-award > .og-award-fx::before,
.gh-award > .og-award-fx::after {
  content:"";
  position:absolute;
  display:block;
  pointer-events:none;
}

/* Supporter: small four-point gold stars twinkle near the coin. */
.gh-award-supporter {
  border-color:#d3a44a;
  box-shadow:0 0 8px rgba(239,191,74,.13),inset 0 1px rgba(255,240,175,.14);
}
.gh-award-supporter > .og-award-fx::before,
.gh-award-supporter > .og-award-fx::after {
  width:11px;height:11px;
  background:#fff1ad;
  clip-path:polygon(50% 0,59% 38%,100% 50%,59% 59%,50% 100%,41% 59%,0 50%,41% 38%);
  filter:drop-shadow(0 0 4px #f9d16b);
}
.gh-award-supporter > .og-award-fx::before {top:-3px;left:4px;animation:og44-gold-glint 3.6s ease-in-out infinite;}
.gh-award-supporter > .og-award-fx::after {bottom:-4px;right:5px;animation:og44-gold-glint 3.6s ease-in-out -1.6s infinite;}
@keyframes og44-gold-glint {
  0%,12%,53%,100%{opacity:0;transform:scale(.2) rotate(0deg)}
  22%,29%{opacity:.92;transform:scale(1.15) rotate(65deg)}
  36%{opacity:0;transform:scale(.4) rotate(120deg)}
}

/* Bug Finder: irregular green ink/splat bursts, with fine satellite droplets. */
.gh-award-bugFinder > .og-award-fx::before,
.gh-award-bugFinder > .og-award-fx::after {
  width:29px;height:25px;
  background:
    radial-gradient(ellipse at 48% 51%,rgba(142,236,158,.78) 0 26%,transparent 29%),
    radial-gradient(circle at 10% 23%,rgba(181,255,199,.80) 0 8%,transparent 10%),
    radial-gradient(circle at 85% 14%,rgba(118,221,147,.82) 0 8%,transparent 10%),
    radial-gradient(circle at 88% 81%,rgba(189,255,189,.75) 0 7%,transparent 9%),
    radial-gradient(circle at 22% 91%,rgba(141,243,157,.75) 0 7%,transparent 9%);
  clip-path:polygon(48% 0,63% 26%,86% 8%,79% 39%,100% 54%,73% 65%,88% 99%,54% 78%,29% 100%,29% 75%,0 69%,24% 46%,8% 14%,37% 28%);
}
.gh-award-bugFinder > .og-award-fx::before {top:-9px;left:-8px;animation:og44-bug-splat 5.1s ease-out infinite;}
.gh-award-bugFinder > .og-award-fx::after {bottom:-9px;right:-9px;animation:og44-bug-splat 5.1s ease-out -2.55s infinite;}
@keyframes og44-bug-splat {
  0%,8%,62%,100%{opacity:0;transform:scale(.15) rotate(-35deg)}
  14%{opacity:1;transform:scale(1.08) rotate(8deg)}
  22%{opacity:.8;transform:scale(.9) rotate(12deg)}
  38%{opacity:0;transform:scale(1.3) rotate(18deg)}
}

/* Officer: restrained ember flames lick upward within the crimson border. */
.gh-award-officer {
  box-shadow:inset 0 -2px rgba(230,72,25,.23),0 0 7px rgba(255,105,51,.12);
}
.gh-award-officer > .og-award-fx::before,
.gh-award-officer > .og-award-fx::after {
  width:27px;height:25px;
  bottom:-11px;
  background:linear-gradient(0deg,rgba(235,68,24,.8) 8%,rgba(255,151,54,.8) 52%,rgba(255,217,116,.80) 94%);
  clip-path:polygon(8% 100%,0 55%,22% 72%,38% 27%,51% 52%,68% 0,78% 49%,100% 33%,94% 100%);
  filter:drop-shadow(0 -2px 4px rgba(244,119,35,.4));
}
.gh-award-officer > .og-award-fx::before {left:0;animation:og44-fire-lift 2.3s ease-in-out infinite;}
.gh-award-officer > .og-award-fx::after {right:-2px;animation:og44-fire-lift 2.8s ease-in-out -.95s infinite reverse;}
@keyframes og44-fire-lift {
  0%,100%{opacity:.34;transform:translateY(4px) scale(.73,.67) skewX(-4deg)}
  32%{opacity:.80;transform:translateY(-3px) scale(.94,1.05) skewX(4deg)}
  67%{opacity:.52;transform:translateY(1px) scale(.81,.84) skewX(-6deg)}
}

/* Server Booster: a cool pink/lilac crystal sweep, deliberately different from
   Beta Tester's warm gold highlight. */
.gh-award-serverBooster {
  box-shadow:inset 0 1px rgba(255,229,248,.22),0 0 8px rgba(246,121,230,.2);
}
.gh-award-serverBooster > .og-award-fx::before {
  inset:-80% -45%;
  background:linear-gradient(90deg,transparent 32%,rgba(255,198,252,.06) 41%,rgba(255,229,255,.59) 50%,rgba(168,196,255,.13) 60%,transparent 69%);
  transform:translateX(-150%) rotate(22deg);
  animation:og44-booster-shine 4.8s ease-in-out infinite;
}
.gh-award-serverBooster > .og-award-fx::after {
  top:-2px;right:7px;width:11px;height:11px;
  background:#ffddfa;
  clip-path:polygon(50% 0,60% 40%,100% 50%,60% 59%,50% 100%,40% 59%,0 50%,40% 40%);
  animation:og44-booster-spark 4.8s ease-in-out infinite;
}
@keyframes og44-booster-shine {
  0%,15%{transform:translateX(-150%) rotate(22deg)}
  46%,100%{transform:translateX(155%) rotate(22deg)}
}
@keyframes og44-booster-spark {
  0%,25%,50%,100%{opacity:0;transform:scale(.1) rotate(0)}
  38%{opacity:.9;transform:scale(1.25) rotate(90deg)}
}

/* Developer: a real computer/terminal mark beside the label, no change to UID guard. */
.og-developer-badge {gap:5px;align-items:center}
.og-developer-badge .og-dev-computer {
  width:13px;height:13px;flex:none;
  color:#ffd58b;fill:none;stroke:currentColor;stroke-width:1.7;
  stroke-linecap:round;stroke-linejoin:round;
  filter:drop-shadow(0 0 2px rgba(255,192,81,.4));
}

/* Respect motion preferences and avoid dancing in forced-colors/high contrast. */
@media (prefers-reduced-motion:reduce) {
  .gh-award > .og-award-fx::before,
  .gh-award > .og-award-fx::after {animation:none!important;opacity:.22!important;transform:none!important;}
  .gh-award-serverBooster > .og-award-fx::before {opacity:0!important}
}
@media (forced-colors:active) {
  .gh-award > .og-award-fx {display:none}
}
