.nmlb-wrap{position:relative;display:inline-block;line-height:0;overflow:hidden}
.nmlb-wrap img{display:block;max-width:100%;height:auto}
.nmlb-wrap .nmlb-bloom{position:absolute;inset:0;pointer-events:none;mix-blend-mode:screen;opacity:0.9;transform-origin:center center;transition:transform .2s ease}
.nmlb-wrap .nmlb-aura{position:absolute;inset:0;pointer-events:none;mix-blend-mode:screen;opacity:1;background:transparent;transition:transform .1s ease}
.nmlb-wrap.nmlb-hover-only .nmlb-bloom{opacity:0}
.nmlb-wrap.nmlb-hover-only:hover .nmlb-bloom{opacity:var(--nmlb-opacity,0.9)}
@keyframes nmlb-pulse{0%{opacity:calc(var(--nmlb-opacity,.9)*(1 - var(--nmlb-pulse,0)))}50%{opacity:var(--nmlb-opacity,.9)}100%{opacity:calc(var(--nmlb-opacity,.9)*(1 - var(--nmlb-pulse,0)))}}

/* UI overlay */
.nmlb-ui{position:absolute;right:10px;bottom:10px;display:flex;gap:6px;z-index:3;opacity:.0;transition:opacity .2s ease}
.nmlb-wrap:hover .nmlb-ui{opacity:.95}
.nmlb-ui button{font:600 12px/1.1 system-ui,Segoe UI,Roboto,Arial;padding:6px 10px;border-radius:999px;border:0;background:#111;color:#fff;box-shadow:0 2px 10px rgba(0,0,0,.25);cursor:pointer}
.nmlb-ui button:hover{transform:scale(1.05)}
.nmlb-ui{pointer-events:auto}
