@import url(https://fonts.googleapis.com/css?family=DM+Sans:100,200,300,regular,500,600,700,800,900,100italic,200italic,300italic,italic,500italic,600italic,700italic,800italic,900italic);



:root {

    /* color */

    --clr-neutral-900: #12131A;
    --clr-neutral-800: #21222C;
    --clr-neutral-700: #2A2B37;
    --clr-neutral-600: #404254;
    --clr-neutral-200: #E4E4EF;
    --clr-neutral-100: #F2F2F7;
    --clr-neutral-0: #FFFFFF;

    --clr-blue-400: #D3A0FA;
    --clr-blue-500: #C27CF8;

    --clr-yellow-500: #FF9F00;
    --clr-orange-500: #FE8159;
    --clr-orange-800: #DA3701;

    /* FONT FAMILY */

    --font-family: "DM Sans", system-ui, sans-serif;

    /* FONT SIZE */

    --font-size-64: 4rem;
    --font-size-mobile-40: 2.5rem;
    --font-size-24: 24px;
    --font-size-20: 20px;
    --font-size-16: 1rem;

    /* FONT WEIGHT */

    --font-weight-regular: 400;
    --font-weight-semiBold: 600;
    --font-weight-bold: 700;


    /* LINE HEIGHT */

    --line-height-tight: 1;
    --line-height-normal: 1.3;
    --line-height-relaxed: 1.4;

    /* LETTER SPACING */

    --letter-spacing-1: -1px;
    --letter-spacing-06: -0.6px;

}

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

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

h1,
.text-present-1 {
    font-size: var(--font-size-64);
    font-weight: var(--font-weight-bold);
    line-height: var(--line-height-tight);
    letter-spacing: var(--letter-spacing-1);
}

h2,
.text-present-2 {
    font-size: var(--font-size-24);
    font-weight: var(--font-weight-semiBold);
    line-height: var(--line-height-normal);
    letter-spacing: var(--letter-spacing-1);
}

textarea,
.text-present-3 {
    font-size: var(--font-size-20);
    font-weight: var(--font-weight-regular);
    line-height: var(--line-height-relaxed);
    letter-spacing: var(--letter-spacing-06);
}

label,
p,
.text-present-4 {
    font-size: var(--font-size-16);
    font-weight: var(--font-weight-regular);
    line-height: var(--line-height-normal);
    letter-spacing: var(--letter-spacing-06);
}


body {
    font-family: var(--font-family);
    background-image: url(assets/images/bg-dark-theme.png);
    color: var(--clr-neutral-0);
    padding-block: 2rem 4rem;

}

body.light {
    background-image: url(assets/images/bg-light-theme.png);
    color: var(--clr-neutral-900);
}


/* ------ HEADER ------*/

header {
    display: flex;
    justify-content: space-between;
    max-width: 61.875rem;
    margin-inline: auto;
}

.icon {
    cursor: pointer;
    padding: 10px;
    background-color: rgba(255, 255, 255, 0.071);
    border-radius: .5rem;
}


.icon-moon {
    display: none;
    background-color: rgba(255, 255, 255, 0.156);
}


/*-------- MAIN -------*/

main {
    max-width: 61.875rem;
    margin-inline: auto;
}

.title {
    text-align: center;
    padding-inline: 12.5rem;
    margin-block: 3rem;
}

textarea {
    background-color: var(--clr-neutral-800);
    color: var(--clr-neutral-0);
    padding: 20px;
    width: 100%;
    height: 200px;
    border: 1px solid var(--clr-neutral-700);
    border-radius: .75rem;
    resize: none;
}

.options {
    margin-top: 1rem;
}

.checkboxes {
    display: flex;
    align-items: center;
    gap: 1.5rem;
}

.space {
    display: flex;
    align-items: center;
}

.character-limit {
    display: flex;
    align-items: center;
}

#limit-value {
    display: none;
    width: 3.75rem;
    height: 30px;
    margin-left: .9375rem;
    border-radius: .625rem;
}

input {
    appearance: none;
    background-color: transparent;
    border: 2px solid #FFFFFF;
    color: inherit;
    text-align: center;
    width: 1rem;
    height: 1rem;
    border-radius: 4px;
    cursor: pointer;
    position: relative;
    margin-right: .3125rem;
}

input.light {
    border: 2px solid black;
}

input:checked {
    background-color: var(--clr-blue-400);
}

input:checked::after {
    content: url(assets/images/icon-check.svg);
    color: #FFFFFF;
    font-size: 14px;
    font-weight: bold;
    position: absolute;
    top: 5%;
    left: 8%;
}

.options p {
    font-size: 1rem;
}

.boxes {
    margin-inline: auto;
    max-width: 100%;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
    min-height: 9.375rem;
    margin-block: 3rem 1.5rem;

}

.box {
    display: flex;
    flex-direction: column;
    justify-content: center;
    color: var(--clr-neutral-900);
    border-radius: 1rem;
    padding: 1rem;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: 118% center;
}

.box h1,
p {
    text-align: start;
}

.total-characters {
    background-color: var(--clr-blue-400);
    background-image: url(assets/images/pattern-character-count.svg);

}

.word-count {
    background-color: var(--clr-yellow-500);
    background-image: url(assets/images/pattern-word-count.svg);
}

.sentence-count {
    background-color: var(--clr-orange-500);
    background-image: url(assets/images/pattern-sentence-count.svg);
}

.no-character {
    opacity: 0.5;
    margin-block-start: 1.25rem;
}

.see-more {
    display: none;
    margin-top: 2rem;
    cursor: pointer;
}

.see-less {
    display: none;
    cursor: pointer;
}

.densities {
    margin-block: 20px 50px;
    height: 165px;
    overflow: hidden;

}

.letter-density {

    display: grid;
    grid-template-columns:10px 1fr 100px ;
    align-items: center;
    gap: 30px;
   
}

.progress {

    height: 10px;
    background-color: #484a56;
    width: 100%;
    border-radius: 1rem;

}

.bar {
    height: 100%;
    background-color: var(--clr-blue-500);
    width: 0;
    border-radius: 1rem;
}





@media (max-width:64rem) {

    .title {
        padding-inline: 5rem;
    }

    header,
    main {
        margin-inline: 32px;
        margin-block: 1rem;
    }
}

@media (max-width:48rem) {

    .title {
        font-size: var(--font-size-mobile-40);
        text-align: center;
        padding-inline: 1rem;
    }

    .options,
    .checkboxes {
        flex-direction: column;
        gap: 12px;
        align-items: start;
    }


    h1 {
        font-size: var(--font-size-mobile-40);
    }

    .boxes {
        grid-template-columns: 1fr;
    }

    .box {
        background-position: 105% center ;
    }
}