.kpb-badge{position:fixed;line-height:0;display:inline-block;opacity:.96;transform-origin:center;transition:transform .15s ease, opacity .15s ease; z-index:var(--kpb-z,9999)}
.kpb-badge img{display:block;width:var(--kpb-size,12vw);height:auto;max-width:80vw;pointer-events:none;user-select:none}

/* sticky positions */
.kpb--tr{top:var(--kpb-offset,16px);right:var(--kpb-offset,16px)}
.kpb--bl{bottom:var(--kpb-offset,16px);left:var(--kpb-offset,16px)}
/* inline mode */
.kpb--inline{position:static; display:inline-block}

/* pulse + glow */
.kpb--pulse:hover{animation:kpb-pulse 1.2s cubic-bezier(.2,0,0,1) infinite}
.kpb--glow:hover{filter:drop-shadow(0 0 10px var(--kpb-glow,#F59E0B));}

@keyframes kpb-pulse {
  0% { transform:scale(1) }
  50%{ transform:scale(1.025) }
  100%{ transform:scale(1) }
}

/* shake on click */
.kpb--shake{animation:kpb-shake var(--kpb-shake,260ms) linear 1}
@keyframes kpb-shake {
  0%{transform:translate(0,0) rotate(0)}
  20%{transform:translate(-1px,1px) rotate(-0.6deg)}
  40%{transform:translate(2px,-1px) rotate(0.6deg)}
  60%{transform:translate(-2px,1px) rotate(-0.6deg)}
  80%{transform:translate(1px,-1px) rotate(0.6deg)}
  100%{transform:translate(0,0) rotate(0)}
}

@media (prefers-reduced-motion: reduce){
  .kpb-badge,.kpb-badge:hover{transition:none;animation:none;transform:none}
}
