

.nb-shiny-button[data-flickering="1"]{
opacity: 0;
}
.nb-shiny-button {
display: flex;
width: fit-content;
position: relative;
border: none;
overflow: hidden;
cursor: pointer;
border-radius: var(--border-radius);
}
.nb-shiny-button__text {
position: relative;
}
.nb-shiny-button__background {
position: absolute;
inset: var(--border-width);
border-radius: calc(var(--border-radius) - var(--border-width));
background-color: var(--shiny-background);
}
.nb-shiny-button__effects {
position: absolute;
inset: 0;
opacity: 0;
transition: opacity var(--fade-duration);
}
.nb-shiny-button:hover .nb-shiny-button__effects {
opacity: 1;
}
.nb-shiny-button__glow {
position: absolute;
inset: 0;
background-image: 
radial-gradient(
100% 50% at calc(50% - var(--mx, 50%)) 0%,
var(--shiny-color) 0%,
transparent 80%
),
radial-gradient(
100% 50% at calc(var(--mx, 50%) + 50%) 100%,
var(--shiny-color) 0%,
transparent 80%
);
}
.nb-shiny-button__shine {
position: absolute;
inset: 0;
background-image: repeating-linear-gradient(
125deg,
transparent 0%,
transparent 15%,
var(--shiny-color) 25%,
transparent 35%,
transparent 50%
);
background-size: 200%;
background-position: calc(var(--mx, 50%) + 20%) var(--my, 50%);
mix-blend-mode: screen;
}