@import url("@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@200;400;700&display=swap')");
:root{
    --var-color:29;
    --first-color: hsl(var(--var-color),80%, 58%);
    --first-color-light: hsl(var(--var-color),80%, 70%);
    --black-color: hsl(var(--var-color),16%, 15%);
    --text-color: hsl(var(--var-color),18%, 50%);
    --body-color: hsl(var(--var-color),100%, 99%);
    --body-font: 'Poppins', sans-serif;
    --white-color: #fff;
    --h3-font-size: 1.125rem;
    --smaller-font-size: .75rem;
}
/* css theme ----------------------------------------------*/
[color-scheme="dark"]{
    --var-color: 19;    /* color  hsl(hue, saturation, lightness) */
    --first-color: hsl(var(--var-color),80%, 58%);
    --first-color-light: hsl(var(--var-color),80%, 70%);
    --black-color: hsl(var(--var-color),16%, 10%);
    --text-color: hsl(var(--var-color),8%, 95%);
    --body-color: hsl(var(--var-color),50%, 20%);
    --body-font: 'Poppins', sans-serif;
    --h3-font-size: 1.125rem;
    --smaller-font-size: .75rem;
}
[color-scheme="light"]{
    --var-color: 5;    /* color  hsl(hue, saturation, lightness) */
    --first-color: hsl(var(--var-color),80%, 58%);
    --first-color-light: hsl(var(--var-color),80%, 70%);
    --black-color: hsl(var(--var-color),96%, 90%);
    --text-color: hsl(var(--var-color),38%, 35%);
    --body-color: hsl(var(--var-color),95%, 99%);
    --body-font: 'Poppins', sans-serif;
    --h3-font-size: 1.125rem;
    --smaller-font-size: .75rem;
}
/* base ----------------------------------------------*/
*{
    box-sizing: border-box;
    padding: 0;
    margin: 0;
    --demo-color: hsl(35, 53%, 26%);
}
body{
    font-family: var(--body-font);
    background-color: var(--body-color);
}
a{
    text-decoration: none;
}
ul{
    list-style: none;
}
img{
    width: 100%;
    height: auto;
}
/* HEADER ----------------------------------------------*/
header {
    color: var(--text-color);
    padding: 2rem;
    display: grid;
    gap: 1ch;
    place-items: center;
  }
#theme-options{
    display: inline-flex;
    align-items: center;
    gap: .90ch;
}
/* card -----------------------------------------------*/
.container{
    height: 60vh;
    margin-inline: 1.5rem;
    display: grid;
    place-items: center;
}
.card{
    position: relative;
    width: 256px;
    background: var(--black-color);
    padding: 1.25rem 2rem 3rem;
    border-radius: 1.5rem;
    text-align: center;
    box-shadow: 0 4px 16px hsla(var(--var-color), 75%, 8%, .5);
}
.card__image{
    width: 96px;
    border-radius: 50%;
}
.card__border{
    width: 110px;
    height: 110px;
    border: 2px solid var(--first-color);
    border-radius: 50%;
    display: grid;
    place-items: center;
    margin: 0 auto .75rem;
}
.card__name{
    color: var(--first-color);
    font-size: var(--h3-font-size);
    font-weight: 500;
}
.card__profession{
    color: var(--text-color);
    font-size: var(--smaller-font-size);
    font-weight: 500;
}
.card__social{
    width: 200px;
    background-color: var(--first-color);
    padding: .75rem;
    border-radius: 3rem;
    text-align: initial;
    box-shadow: 0 8px 24px hsla(var(--var-color), 75%, 56%, .2);
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1.75rem;
    margin: 0 auto;
    /*animation*/
    overflow: hidden;
    transform-origin: 18px 17px;
}
.card__social-control{
    position: relative;
    /*animation*/
    position: relative;
    transform-origin: 18px 18px;
    transition: transform .45s ease;
    transform: rotate(-135deg);
    /*transform: rotate(-135deg);*/
}
.card__social-toggle{
    display: inline-flex;
    background-color: var(--black-color);
    color: var(--first-color);
    font-size: 1.25rem;
    padding: .5rem;
    border-radius: 50%;
    cursor: pointer;
    position: relative;
    z-index: 10;
}
.card__social-text{
    display: block;
    color: var(--black-color);
    font-size: var(--smaller-font-size);
    font-weight: 500;
}
.card__social-list{
    display: inline-flex;
    column-gap: 1.5rem;
    /*animation*/
    transform: rotate(135deg);
    transform-origin: 18px 17px;
}
.card__social-link{
    display: inline-flex;
    background-color: var(--first-color-light);
    color: var(--black-color);
    font-size: 1.25rem;
    padding: 6px;
    border-radius: 50%;
}
.card__social-text,
.card__social-list{
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    padding-left: 3.1rem;
}
.card__social-text{
    top: .5rem;
}

/* rotation */
.animation .card__social-control{
    transform: rotate(0);
}


/* UP animate */
.card__social.animation{
    animation: up-animation 1s ease-in-out forwards;
}
@keyframes up-animation{
    0%, 100%{
        transform: rotate(0);
    }
    50%, 60%{
        transform: rotate(6deg);
    }
    88%{
        transform: rotate(-1deg);
    }
}

/* down animate */
.card__social.down-animation{
    animation: down-animation 1s ease-in-out forwards;
}
@keyframes down-animation{
    0%, 100%{
        transform: rotate(0);
    }
    50%, 60%{
        transform: rotate(-6deg);
    }
    88%{
        transform: rotate(1deg);
    }    
}