html, body {
    width: 100vw;
    height: 100vh;
    margin: 0px;
    padding: 0px;
}

body {
    display: flex;
    flex-direction: column;
    height: 100vh;
}

div.main {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    gap: 2.5rem;
    overflow: hidden;
    flex: 1;

    & a {
        font-family: "Arial", sans-serif;
        font-size: 1.25rem;
        line-height: 1rem;
        text-align: center;
        text-decoration: none;

        height: 6.5rem;
        width: 10rem;
        border-bottom-left-radius: 5rem;
        border-bottom-right-radius: 5rem;
        align-self: center;

        color: black;
        background: linear-gradient(180deg, white 1.5rem, black 1.5rem, black 1.6rem, white 1.6rem);

        cursor: pointer;
        
        &.previous {
            transform: rotate(90deg);
        }

        &.next {
            transform: rotate(-90deg);
        }

        &:hover {
            background: linear-gradient(180deg, white 1.5rem, black 1.5rem, black 1.6rem, lightgray 1.6rem);
        }

        &:active {
            background: linear-gradient(180deg, white 1.5rem, black 1.5rem, black 1.6rem, gray 1.6rem);
        }

        &.disabled {
            visibility: hidden;
        }
    }

    & article {
        overflow-y: auto;
        position: relative;

        max-height: 100%;
        max-width: 60%;
        
        padding: 5rem 2.5rem;

        font-size: 1.5rem;
        font-family: Georgia, 'Times New Roman', Times, serif;

        &::-webkit-scrollbar { display: none; }
        -ms-overflow-style: none;
        scrollbar-width: none;

        & h1 {
            font-size: 2rem;
            margin: 0rem;
            margin-bottom: 2rem;
        }

        & ul {
            list-style-type: none;
            padding: 0px;
            margin: 2rem 0rem;

            & li {
                margin: 0.5rem 0rem;
            }
        }

        & p {
            line-height: 1.4em;
            text-align: justify;
            margin: 1rem 0rem;

            & span.dialog {
                display: block;
                margin-bottom: 0.5rem;
            }

            &.slogan {
                text-align: center;
            }
        }

        & p.separator::after {
            content: "༺༓༻";
            display: block;
            text-align: center;
        }

        & label.trigger-warning {
            cursor: pointer;

            position: absolute;
            top: 0; left: 0;
            width: 100%; height: 100%;

            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            text-align: center;

            backdrop-filter: blur(20px) brightness(110%);
            font-size: 1.5rem;

            &::before {
                content: "Attention, cette œuvre contient les éléments sensibles suivants:";
                font-weight: bold;
            }

            & input.trigger-warning {
                display: none;
            }

            & li {
                &::before {
                    content: "༺ "
                }

                &::after {
                    content: " ༻"
                }
            }
        }

        & label.trigger-warning:has(input.trigger-warning:checked) {
            display: none;
        }
        
        &.flag-trans {
            background: linear-gradient(to right,
                #5bcffb 0.2rem,
                #f5abb9 0.2rem, #f5abb9 0.4rem,
                white 0.4rem, white 0.6rem,
                #f5abb9 0.6rem, #f5abb9 0.8rem,
                #5bcffb 0.8rem, #5bcffb 1rem,
                white 1rem);
        }

        &.flag-nb {
            background: linear-gradient(to right,
                #FCF434 0.25rem,
                #FFFFFF 0.25rem, #FFFFFF 0.50rem,
                #9C59D1 0.50rem, #9C59D1 0.75rem,
                #2C2C2C 0.75rem, #2C2C2C 1.00rem,
                #FFFFFF 1.00rem);
        }
    }

    & article:has(input.trigger-warning:not(:checked)) {
        overflow: hidden !important;
    }
}

footer {
    position: relative;

    border-top: 1px solid #f0f0f0;
    box-shadow: -2px 0px 5px #00000055;

    text-align: center;
    padding: 0.5rem;
    font-size: 1rem;
    font-family: Georgia, 'Times New Roman', Times, serif;

    &::before {
        content: "༺";
    }
    
    &::after {
        content: "༻";
    }
}