@property --shiny-angle{syntax:"<angle>";initial-value:0deg;inherits:false}@property --shiny-angle-offset{syntax:"<angle>";initial-value:0deg;inherits:false}@property --shiny-percent{syntax:"<percentage>";initial-value:5%;inherits:false}@property --shiny-shine{syntax:"<color>";initial-value:white;inherits:false}.shiny{--shiny-percent:var(--arc,5%);--shiny-shine:var(--shine,white);--anim:shiny-angle linear infinite;--shadow-size:2px;--transition:var(--ease,.8s) cubic-bezier(.25,1,.5,1);isolation:isolate;position:relative;overflow:hidden;cursor:pointer;outline-offset:4px;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 1.35rem;font:inherit;font-size:15px;line-height:1.2;font-weight:500;letter-spacing:-.005em;white-space:nowrap;text-decoration:none;border:1px solid transparent;border-radius:var(--radius,32px);color:var(--gleam-label);background:linear-gradient(var(--gleam-base),var(--gleam-base)) padding-box,conic-gradient(from calc(var(--shiny-angle) - var(--shiny-angle-offset)),transparent,var(--gleam-accent) var(--shiny-percent),var(--shiny-shine) calc(var(--shiny-percent) * 2),var(--gleam-accent) calc(var(--shiny-percent) * 3),transparent calc(var(--shiny-percent) * 4)) border-box;box-shadow:inset 0 0 0 1px var(--gleam-inset);transition:var(--transition);transition-property:--shiny-angle-offset,--shiny-percent,--shiny-shine,opacity}.shiny:after,.shiny:before,.shiny>span:before{content:"";pointer-events:none;position:absolute;inset-inline-start:50%;inset-block-start:50%;translate:-50% -50%;z-index:-1}.shiny:active:not(:disabled){translate:0 1px}.shiny:before{--size:calc(100% - var(--shadow-size) * 3);--position:2px;--space:calc(var(--position) * 2);width:var(--size);height:var(--size);background:radial-gradient(circle at var(--position) var(--position),white calc(var(--position) / 4),transparent 0) padding-box;background-size:var(--space) var(--space);background-repeat:space;-webkit-mask-image:conic-gradient(from calc(var(--shiny-angle) + 45deg),black,transparent 10% 90%,black);mask-image:conic-gradient(from calc(var(--shiny-angle) + 45deg),black,transparent 10% 90%,black);border-radius:inherit;opacity:var(--speckle,.4)}.shiny:after{--anim:shiny-sheen linear infinite;width:100%;aspect-ratio:1;background:linear-gradient(-50deg,transparent,var(--gleam-accent),transparent);-webkit-mask-image:radial-gradient(circle at bottom,transparent 40%,black);mask-image:radial-gradient(circle at bottom,transparent 40%,black);opacity:var(--sheen,.6)}.shiny>span{z-index:1;display:inline-flex;align-items:center;gap:8px}.shiny>span:before{--size:calc(100% + 1rem);width:var(--size);height:var(--size);box-shadow:inset 0 -1ex 2rem 4px var(--gleam-accent);opacity:0;transition:opacity var(--transition);animation:calc(var(--duration, 3s) * 1.5) shiny-breathe linear infinite}.shiny,.shiny:after,.shiny:before{animation:var(--anim) var(--duration,3s),var(--anim) calc(var(--duration, 3s) / .4) reverse paused;animation-composition:add}.shiny[data-idle=still],.shiny[data-idle=still]:after,.shiny[data-idle=still]:before{animation-play-state:paused}.shiny:is(:hover,:focus-visible):not(:disabled){--shiny-percent:20%;--shiny-angle-offset:95deg;--shiny-shine:var(--gleam-accent-soft)}.shiny:is(:hover,:focus-visible):not(:disabled),.shiny:is(:hover,:focus-visible):not(:disabled):after,.shiny:is(:hover,:focus-visible):not(:disabled):before{animation-play-state:running}.shiny:is(:hover,:focus-visible):not(:disabled)>span:before{opacity:1}.shiny:disabled{cursor:not-allowed;opacity:.5}.shiny:disabled,.shiny:disabled:after,.shiny:disabled:before{animation-play-state:paused}.shiny[data-size=xs]{min-height:26px;padding:0 10px;font-size:12.5px;gap:6px}.shiny[data-size=sm]{min-height:36px;padding:0 15px;font-size:14px}.shiny[data-size=lg]{min-height:0;padding:1.25rem 2.5rem;font-size:1.125rem}.shiny[data-block=true]{display:flex;width:100%}@keyframes shiny-angle{to{--shiny-angle:360deg}}@keyframes shiny-sheen{to{rotate:1turn}}@keyframes shiny-breathe{0%,to{scale:1}50%{scale:1.2}}@media (prefers-reduced-motion:reduce){.shiny,.shiny:after,.shiny:before,.shiny>span:before{animation:none!important}.shiny:is(:hover,:focus-visible)>span:before{opacity:0}.shiny{transition:none}}