body {
    padding: 56px;
    margin: 0;
}

.panel-brand {
    position: absolute;
    width: 128px;
    .brand-label {
        color: var(--tertiary-text-color);
        font-style: italic;
    }
    img {
        display: block;
        width: 100%;
        height: auto;
    }
}

.document {
    width: 640px;
    margin: auto;
    .header {
        .title {
            font-size: 24px;
            line-height: 32px;
            font-weight: 500;
        }
        .description {
            display: flex;
            justify-content: space-between;
        }
        .description .left-panel {
            color: var(--tertiary-text-color);
            display: flex;
            align-items: center;
            gap: 4px;
        }

        .description .right-panel {
            button {
                outline: none;
                border: none;
                padding: 8px 14px;
                border-radius: 8px;
                background: var(--background-color-brand);
                color: var(--text-color-brand);
                font-size: var(--font-size);
                line-height: 20px;
                font-weight: 600;
                cursor: pointer;
            }
        }
    }
    .body {
        margin-top: 56px;
    }
    .footer {
        font-style: italic;
        .title {
            color: var(--text-color);
            font-size: var(--font-size);
            line-height: 20px;
        }
        .description {
            margin-top: 8px;
            color: var(--secondary-text-color);
            font-size: 12px;
            line-height: 18px;
        }
    }
}

.divider {
    background: var(--border-color);
}

.divider.horizontal {
    width: 100%;
    height: 1px;
    margin: 32px 0;
}

.modal-wrapper {
    position: fixed;
    inset: 0;
    z-index: 1000;

    display: flex;
    align-items: center;
    justify-content: center;

    pointer-events: none;

    .backdrop {
        position: absolute;
        inset: 0;
        background: rgba(0, 0, 0, 0.6);
        backdrop-filter: blur(2px);
        background: linear-gradient(
                to bottom,
                rgba(20, 20, 20, 0.1),
                rgba(20, 20, 20, 0.5)
        );
        opacity: 0;
        transition: opacity 0.2s ease;
    }

    .modal {
        position: relative;
        z-index: 1;

        width: min(600px, 90vw);
        max-height: 90vh;
        overflow: auto;
        display: flex;
        gap: 20px;
        flex-direction: column;

        background: var(--background-color);
        border-radius: 12px;
        box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.12);

        transform: translateY(20px) scale(0.98);
        opacity: 0;

        transition: all 0.25s ease;
        padding: 24px;

        > .title {
            font-size: 1.2rem;
            font-weight: 600;
            border-bottom: 1px solid rgba(255, 255, 255, 0.08);
            display: flex;
            align-items: center;
            justify-content: space-between;
            i {
                display: flex;
                align-items: center;
                justify-content: center;
                font-size: 24px;
                height: 47px;
                width: 47px;
                border-radius: 50%;
                background: var(--background-color-brand);
                color: var(--text-color-brand);
            }
            button {
                background: var(--background-color);
                border: 1px solid var(--border-color);
                border-radius: 8px;
                color: var(--tertiary-text-color);
                font-size: 12px;
                width: 40px;
                height: 40px;
                display: flex;
                align-items: center;
                justify-content: center;
                cursor: pointer;
            }
        }

        > .sub-title {
            display: flex;
            flex-direction: column;
            gap: 8px;
        }

        > .content {
            line-height: 1.5;
            .versions {
                display: flex;
                flex-direction: column;
                gap: 12px;
                > a {
                    text-decoration: none;
                }
            }
        }
    }

}

.modal-wrapper.active {
    pointer-events: all;
}

.modal-wrapper.active .backdrop {
    opacity: 1;
}

.modal-wrapper.active .modal {
    transform: translateY(0) scale(1);
    opacity: 1;
}

@media (max-width: 1200px) {
    body {
        padding: 23px;
    }
    .panel-brand {
        position: static;
        margin: auto;
    }
    .document {
        > .body {
            overflow: auto;
        }
    }
}

@media (max-width: 680px) {
    body {
        min-width: 314px;
    }
    .document {
        width: 100%;
        > .header {
            .title {
                text-align: center;
            }
            > .description .left-panel {
                align-items: normal;
                gap: 0;
                flex-direction: column;
                .separator {display: none;}
            }
        }
        > .body {
            margin-top: 14px;
        }
    }
    .modal-wrapper {
        align-items: normal;
        justify-content: normal;
        .modal {
            width: 100%;
            height: calc(100% - 48px);
            max-height: none;
            border-radius: 0;
        }
    }
}

.tag {
    border: 1px solid var(--border-color);
    border-radius: 6px;
    padding: 3px 8px;
    display: flex;
    align-items: center;
    gap: 4px;
    color: var(--secondary-text-color);
    font-weight: 400;
    font-size: 12px;
    line-height: 18px;
    background: var(--background-color);
}

.dot {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #17B26A;
}

.card {
    padding: 16px 24px;
    border: 1px solid var(--border-color);
    color: var(--secondary-text-color);
    cursor: pointer;
    border-radius: 8px;
    > .title {
        font-weight: 600;
        display: flex;
        align-items: center;
        gap: 8px;
    }
    > .content {
        color: var(--tertiary-text-color);
    }
}

.card.active, .card:hover {
    border-color: #E9D7FE;
    box-shadow: 0 1px 2px 0 rgba(10, 13, 18, 0.05);
    .title {
        color: var(--text-color);
    }
}

.card.active {
    outline: 4px solid #F4EBFF;
}
