* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: sans-serif;
    background: #f1f1f1;
}

button,
input {
    outline: none;
}

.app {
    max-width: 400px;
    margin: 0 auto;
}

.actions-holder {
    display: flex;
    justify-content: space-between;
    margin: 30px 0 60px 0;
}

.button {
    width: 100px;
    height: 100px;

    border-radius: 50%;
    background: white;
    border: 1px solid #eee;
    position: relative;
    cursor: pointer;
    
    box-shadow: 0 0 2px rgba(0, 0, 0, .2);
    transition: box-shadow .3s;

    display: flex;
    justify-content: center;
}

.button:hover {
    box-shadow: 0 0 10px rgba(0, 0, 0, .2);
}

.button:disabled {
    cursor: no-drop;
    opacity: .4;
}

.button::before, 
.button::after {
    content: '';
    display: block;
    background: tomato;
}

.button--record::before {
    width: 25px;
    height: 25px;
    border-radius: 50%;
}

.button--record::after {
    display: none;
}

.button--pause {
    display: flex;
    justify-content: center;
}

.button--pause::before,
.button--pause::after {
    width: 10px;
    height: 25px;
}

.button--pause::after {
    margin-left: 5px;
}

.button--play::after {
    display: none;
}

.button--play::before {
    width: 0;
    height: 0;
    background: transparent;

    border-left: solid 25px tomato;
    border-bottom: solid 15px transparent;
    border-top: solid 15px transparent;

    /* place the icon on middle */
    margin-left: 5px;
}

.tracks {
    max-width: 300px;
    border: 1px solid #eee;
    background: white;
    border-radius: 10px;
    margin: 0 auto;
}

.track {
    display: flex;
    justify-content: space-between;
}

.track + .track {
    border-top: 1px solid #eee;
}

.track audio {
    display: none;
}

.track__actions {
    display: flex;
    justify-content: center;
}

.track__name {
    border: 0;
    font-family: sans-serif;
    color: #666;
    font-size: 14px;
    font-weight: bold;
}

.track__button {
    width: 30px;
    height: 30px;
    border: none;
    background: none;
    position: relative;
    display: flex;
    justify-content: center;
    cursor: pointer;
}

.track__button:disabled {
    cursor: no-drop;
    opacity: .4;
}

.track__button::before,
.track__button::after {
    content: '';
    display: block;
    background: tomato;
}

.track__button--play::before {
    width: 0;
    height: 0;
    background: transparent;

    border-left: solid 12px tomato;
    border-bottom: solid 8px transparent;
    border-top: solid 8px transparent;

    /* place the icon on middle */
    margin-left: 3px;
}

.track__button--play::after {
    display: none;
}

.track__button--pause {
    display: flex;
    justify-content: center;
    border-left: 1px solid #eee;
    border-right: 1px solid #eee;
}

.track__button--pause::before,
.track__button--pause::after {
    width: 5px;
    height: 15px;
}

.track__button--pause::after {
    margin-left: 2px;
}

.track__button--remove {
    border-left: 1px solid #eee;
}

.track__button--remove::before,
.track__button--remove::after {
    width: 4px;
    height: 15px;
    position: absolute;
    left: 50%;
    top: 50%;
}

.track__button--remove::before {
    transform : translate(-50%, -50%) rotate(45deg);
}

.track__button--remove::after {
    transform : translate(-50%, -50%) rotate(-45deg);
}