.sound { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 25px 20px; border: 1px solid var(--color-neutral-200); border-radius: 8px; background: linear-gradient(var(--color-neutral-100), transparent); text-align: center; transition: 0.2s; &.hidden { display: none; } &:not(.selected)::before { position: absolute; top: -1px; left: 0; width: 100%; height: 1px; background: linear-gradient( 90deg, transparent, var(--color-neutral-400), transparent ); content: ''; } & .icon { position: relative; z-index: 2; display: flex; width: 40px; height: 40px; align-items: center; justify-content: center; font-size: var(--font-base); transition: 0.2s; &::after { position: absolute; z-index: -1; top: 0; left: 0; width: 100%; height: 100%; border-radius: 50%; background-color: var(--color-neutral-50); content: ''; } &::before { position: absolute; z-index: -2; top: -1px; left: -1px; width: calc(100% + 2px); height: calc(100% + 2px); border-radius: 50%; background: linear-gradient( var(--color-neutral-300), var(--color-neutral-100) ); content: ''; } } &.selected { border-color: transparent; box-shadow: 0 0 0 2px #34d399, 0 10px 20px #34d39933; & .icon { color: #34d399; & .spinner { animation-duration: 1s; animation-iteration-count: infinite; animation-name: spinner; animation-timing-function: linear; line-height: 0; } } } & h3 { margin-top: 8px; cursor: default; font-family: var(--font-heading); font-size: var(--font-sm); font-weight: 600; line-height: 1.6; } } @keyframes spinner { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }