.luminous-spinners{--ls-foreground:var(--foreground);--ls-muted-foreground:var(--muted-foreground);--ls-card:var(--card);--ls-border:var(--border);--ls-code-bg:var(--muted);--ls-cell-off:radial-gradient(circle at 35% 30%, #00000014, #00000005 60%, transparent 100%);--ls-cell-stroke:#00000014;--ls-crimson:#2dd047;--ls-hotpink:#ff5d93;--ls-violet:#bd75ff;--ls-blue:#499fff;--ls-gradient-crimson:linear-gradient(135deg, #79ec80, #33ab00);--ls-gradient-hotpink:linear-gradient(135deg, #ffb3d7, #ff226c);--ls-gradient-violet:linear-gradient(135deg, #f5b0ff, #7a5cff);--ls-gradient-blue:linear-gradient(135deg, #90d7ff, #2a5dfa)}@supports (color:lab(0% 0 0)){.luminous-spinners{--ls-cell-off:radial-gradient(circle at 35% 30%, lab(0% 0 0/.08), lab(0% 0 0/.02) 60%, transparent 100%);--ls-cell-stroke:lab(0% 0 0/.08);--ls-crimson:lab(73.5935% -61.9554 53.359);--ls-hotpink:lab(64.6132% 77.9485 9.52576);--ls-violet:lab(61.7064% 52.1453 -64.4085);--ls-blue:lab(63.7815% 2.60574 -68.7857);--ls-gradient-crimson:linear-gradient(135deg, lab(84.7927% -50.4712 41.6178), lab(61.9697% -61.008 75.7016));--ls-gradient-hotpink:linear-gradient(135deg, lab(79.9096% 64.1771 -12.3954), lab(56.486% 81.0105 19.3107));--ls-gradient-violet:linear-gradient(135deg, lab(79.9494% 48.3925 -41.9723), lab(49.369% 49.6226 -85.677));--ls-gradient-blue:linear-gradient(135deg, lab(82.459% -17.9083 -50.136), lab(44.5295% 29.828 -84.6301))}}.dark .luminous-spinners{--ls-cell-off:radial-gradient(circle at 35% 30%, #ffffff0f, #ffffff05 60%, transparent 100%);--ls-cell-stroke:#ffffff0d}@supports (color:lab(0% 0 0)){.dark .luminous-spinners{--ls-cell-off:radial-gradient(circle at 35% 30%, lab(100% 0 0/.06), lab(100% 0 0/.02) 60%, transparent 100%);--ls-cell-stroke:lab(100% 0 0/.05)}}.luminous-spinners .cell{background:var(--ls-cell-off);box-shadow:inset 0 0 0 1px var(--ls-cell-stroke);transition:background var(--ease-out,.6s) ease-out, transform var(--ease-out,.6s) ease-out, box-shadow var(--ease-out,.6s) ease-out, opacity var(--ease-out,.6s) ease-out;border-radius:0;position:relative}.luminous-spinners .cell.on{transition:background var(--ease-in,.3s) ease-in, transform var(--ease-in,.3s) ease-in, box-shadow var(--ease-in,.3s) ease-in, opacity var(--ease-in,.3s) ease-in;transform:scale(1.08)}.luminous-spinners .anim-wavy .cell{transition:background .32s cubic-bezier(.34,1.56,.64,1),transform .32s cubic-bezier(.34,1.56,.64,1),box-shadow .32s cubic-bezier(.34,1.56,.64,1),opacity .32s cubic-bezier(.34,1.56,.64,1)}.luminous-spinners .anim-wavy .cell.on{transition:background .32s cubic-bezier(.34,1.56,.64,1),transform .32s cubic-bezier(.34,1.56,.64,1),box-shadow .32s cubic-bezier(.34,1.56,.64,1),opacity .32s cubic-bezier(.34,1.56,.64,1);transform:scale(1.35)}@keyframes ls-pop-on-peak{0%{filter:brightness()saturate();transform:scale(1)}22%{transform:scale(calc(1 - .3 * var(--ls-pop-strength,1)));filter:brightness(calc(1 + .35 * var(--ls-pop-strength,1))) saturate(calc(1 + .25 * var(--ls-pop-strength,1)))}48%{transform:scale(calc(1 + .18 * var(--ls-pop-strength,1)));filter:brightness(calc(1 + .2 * var(--ls-pop-strength,1))) saturate(calc(1 + .15 * var(--ls-pop-strength,1)))}72%{transform:scale(calc(1 - .04 * var(--ls-pop-strength,1)))}to{filter:brightness()saturate();transform:scale(1)}}.luminous-spinners .pop-on-peak .cell.on.peak{animation:ls-pop-on-peak var(--ls-pop-duration,.48s) cubic-bezier(.34, 1.56, .64, 1)}.luminous-spinners .cell.on.c-crimson{background:var(--ls-gradient-crimson);box-shadow:0 0 calc(8px * var(--glow,1)) var(--glow-spread,0px) #2dd047f2, 0 0 calc(22px * var(--glow,1)) #34be00bf, 0 0 calc(44px * var(--glow,1)) #54a7008c, 0 0 calc(72px * var(--glow,1)) #54a70059}@supports (color:lab(0% 0 0)){.luminous-spinners .cell.on.c-crimson{box-shadow:0 0 calc(8px * var(--glow,1)) var(--glow-spread,0px) lab(73.5935% -61.9554 53.359/.95), 0 0 calc(22px * var(--glow,1)) lab(67.804% -61.0835 72.0493/.75), 0 0 calc(44px * var(--glow,1)) lab(61.9152% -57.5575 118.592/.55), 0 0 calc(72px * var(--glow,1)) lab(61.9152% -57.5575 118.592/.35)}}.luminous-spinners .cell.on.c-hotpink{background:var(--ls-gradient-hotpink);box-shadow:0 0 calc(8px * var(--glow,1)) var(--glow-spread,0px) #ff5d93f2, 0 0 calc(22px * var(--glow,1)) #ff517fbf, 0 0 calc(44px * var(--glow,1)) #ff285d8c, 0 0 calc(72px * var(--glow,1)) #ff285d59}@supports (color:lab(0% 0 0)){.luminous-spinners .cell.on.c-hotpink{box-shadow:0 0 calc(8px * var(--glow,1)) var(--glow-spread,0px) lab(64.6132% 77.9485 9.52576/.95), 0 0 calc(22px * var(--glow,1)) lab(62.2898% 81.1318 19.1159/.75), 0 0 calc(44px * var(--glow,1)) lab(56.6022% 80.8394 29.0826/.55), 0 0 calc(72px * var(--glow,1)) lab(56.6022% 80.8394 29.0826/.35)}}.luminous-spinners .cell.on.c-violet{background:var(--ls-gradient-violet);box-shadow:0 0 calc(8px * var(--glow,1)) var(--glow-spread,0px) #bd75fff2, 0 0 calc(22px * var(--glow,1)) #a763ffbf, 0 0 calc(44px * var(--glow,1)) #914eff8c, 0 0 calc(72px * var(--glow,1)) #914eff59}@supports (color:lab(0% 0 0)){.luminous-spinners .cell.on.c-violet{box-shadow:0 0 calc(8px * var(--glow,1)) var(--glow-spread,0px) lab(61.7064% 52.1453 -64.4085/.95), 0 0 calc(22px * var(--glow,1)) lab(55.3766% 55.6452 -73.9784/.75), 0 0 calc(44px * var(--glow,1)) lab(49.1911% 56.9286 -80.4861/.55), 0 0 calc(72px * var(--glow,1)) lab(49.1911% 56.9286 -80.4861/.35)}}.luminous-spinners .cell.on.c-blue{background:var(--ls-gradient-blue);box-shadow:0 0 calc(8px * var(--glow,1)) var(--glow-spread,0px) #499ffff2, 0 0 calc(22px * var(--glow,1)) #2177ffbf, 0 0 calc(44px * var(--glow,1)) #2a5dfa8c, 0 0 calc(72px * var(--glow,1)) #2a5dfa59}@supports (color:lab(0% 0 0)){.luminous-spinners .cell.on.c-blue{box-shadow:0 0 calc(8px * var(--glow,1)) var(--glow-spread,0px) lab(63.7815% 2.60574 -68.7857/.95), 0 0 calc(22px * var(--glow,1)) lab(51.3127% 15.8703 -76.7435/.75), 0 0 calc(44px * var(--glow,1)) lab(44.5295% 29.828 -84.6301/.55), 0 0 calc(72px * var(--glow,1)) lab(44.5295% 29.828 -84.6301/.35)}}.luminous-spinners .cell.on.c-custom{background:var(--cell-gradient,linear-gradient(135deg, color-mix(in oklab, var(--cell-color,#7ab7ff) 80%, white), color-mix(in oklab, var(--cell-color,#7ab7ff) 85%, black)));box-shadow:0 0 calc(8px * var(--glow,1)) var(--glow-spread,0px) color-mix(in oklab, var(--cell-glow,var(--cell-color,#7ab7ff)) 95%, transparent), 0 0 calc(22px * var(--glow,1)) color-mix(in oklab, var(--cell-glow,var(--cell-color,#7ab7ff)) 75%, transparent), 0 0 calc(44px * var(--glow,1)) color-mix(in oklab, var(--cell-glow,var(--cell-color,#7ab7ff)) 55%, transparent), 0 0 calc(72px * var(--glow,1)) color-mix(in oklab, var(--cell-glow,var(--cell-color,#7ab7ff)) 35%, transparent)}.luminous-spinners .cell.shape-line-3:before{content:"";pointer-events:none;mix-blend-mode:multiply;border-radius:inherit;background-image:repeating-linear-gradient(#454545bf 0 11%,#0000 11% 22%);position:absolute;inset:0}.luminous-spinners .effect-light .cell.on:after{content:"";border-radius:inherit;mix-blend-mode:overlay;pointer-events:none;background:linear-gradient(115deg,#0000 30%,#ffffff73 50%,#0000 70%) 0 0/250% 100%;background:linear-gradient(115deg,#0000 30%,lab(100% 0 0/.45) 50%,#0000 70%) 0 0/250% 100%;animation:1.8s linear infinite ls-shimmer;position:absolute;inset:0}@keyframes ls-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.luminous-spinners .spinner-grid{position:relative}.luminous-spinners .spinner-grid.effect-wave{overflow:hidden}.luminous-spinners .spinner-grid.effect-wave:after{content:"";mix-blend-mode:screen;pointer-events:none;z-index:3;background:linear-gradient(115deg,#0000 35%,#ffffff59 50%,#0000 65%) 0 0/260% 260%;background:linear-gradient(115deg,#0000 35%,lab(100% 0 0/.35) 50%,#0000 65%) 0 0/260% 260%;animation:2.8s linear infinite ls-wave;position:absolute;inset:0}@keyframes ls-wave{0%{background-position:140% 140%}to{background-position:-140% -140%}}@media (prefers-reduced-motion:reduce){.luminous-spinners .cell,.luminous-spinners .cell.on,.luminous-spinners .anim-wavy .cell.on{transform:none}.luminous-spinners .effect-light .cell.on:after,.luminous-spinners .spinner-grid.effect-wave:after,.luminous-spinners .pop-on-peak .cell.on.peak{animation:none}}
