* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Hanken Grotesk', sans-serif;
}

:root {
    --light-red: hsla(0, 100%, 67%, 0.048);
    --orange-yellow: hsla(39, 100%, 56%, 0.048);
    --green-teal: hsla(166, 100%, 37%, 0.048);
    --cobalt-blue: hsl(234, 85%, 0.048);

    /* Gradients */
    --light-slate-blue-bg: hsl(252, 100%, 67%);
    --light-royal-blue-bg: hsl(241, 81%, 54%);
    --violet-blue-circle: hsla(256, 72%, 46%, 1);
    --persian-blue-circle: hsla(241, 72%, 46%, 0);

    /* Neutral */

    --white: hsl(0, 0%, 100%);
    --pale-blue: hsl(221, 100%, 96%);
    --light-lavender: hsl(241, 100%, 89%);
    --dark-gray-blue: hsl(224, 30%, 27%);

    /* Font size */

    --paragraph-fnt-size: 16px;
}

body {
    align-content: center;
    background-color: var(--pale-blue);
    min-height: 100dvh;
}

.container {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0.8rem;
}

.card {
    display: flex;
    flex-direction: column;
    max-width: 325px;
    background-color: var(--white);
    border-radius: 1.5rem;
    box-shadow: 0px 0px 10px 0px rgb(0 0 0 / 9%);
}

.result-area {
    border-top-right-radius: 1.5rem;
    border-top-left-radius: 1.5rem;
    border-bottom-left-radius: 2rem;
    border-bottom-right-radius: 2rem;
    padding: 1.5rem;
    background: linear-gradient(
        var(--light-slate-blue-bg),
        var(--light-royal-blue-bg)
    );
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: 2rem;
    color: var(--white);
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 21%);
}

.score {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.score-circle {
    position: absolute;
    background: linear-gradient(
        var(--violet-blue-circle),
        var(--persian-blue-circle)
    );
    border-radius: 50%;
    height: 100px;
    width: 100px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.score-value {
    font-size: 2rem;
    font-weight: 600;
    z-index: 1;
    color: var(--white);
}

.score-outof {
    color: var(--white);
}

.text-area p {
    padding-top: 0.6rem;
    font-size: var(--paragraph-fnt-size);
    color: var(--pale-blue);
}

.text-area span {
    font-size: 1.2rem;
    font-weight: 500;
}

.summary-area {
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
}

.summary-area header {
    font-weight: 700;
    padding-bottom: 1.5rem;
}

.results {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.summary {
    display: flex;
    /* align-items: center; */
    justify-content: center;
    padding: 0.3rem;
    border-radius: 0.3rem;
}

.summary:nth-child(1) {
    background-color: var(--light-red);
}

.summary:nth-child(2) {
    background-color: var(--orange-yellow);
}

.summary:nth-child(3) {
    background-color: var(--green-teal);
}

.summary:nth-child(4) {
    background-color: var(--cobalt-blue);
}

.summary-name {
    padding-left: 0.5rem;
}

.summary:nth-child(1) .summary-name {
    color: hsl(0, 100%, 67%);
}

.summary:nth-child(2) .summary-name {
    color: hsl(39, 100%, 56%);
}

.summary:nth-child(3) .summary-name {
    color: hsl(166, 100%, 37%);
}

.summary:nth-child(4) .summary-name {
    color: hsl(234, 85%, 45%);
}

.summary-score {
    padding-left: auto;
    padding-right: 0;
    flex-grow: 1;
    text-align: right;
}

.summary-score span {
    font-weight: 700;
}

.continue {
    background-color: var(--dark-gray-blue);
    border: none;
    text-align: center;
    font-size: 1rem;
    padding: 0.8rem 1.5rem;
    width: 100%;
    border-radius: 20px;
    color: var(--white);

    &:hover {
        cursor: pointer;
    }
}

.attribution {
    margin-top: 1.5rem;
    text-align: center;
}

.attribution a {
    text-decoration: none;
}

@media (min-width: 768px) {
    .card {
        flex-direction: row;
        max-width: none;
    }
    .result-area {
        border-radius: 1.5rem;
        max-width: 260px;
    }
    .summary-area {
        max-width: 100%;
    }
    .results {
        width: 250px;
    }
}
