.message-page {
    max-width: 980px;
}

.pageHeader {
    margin-bottom: 34px;
    text-align: center;
}

.pageHeader h1 {
    margin-bottom: 12px;
    color: var(--color-ink);
    font-size: 36px;
    line-height: 1.2;
    font-weight: 800;
}

.pageHeader p {
    color: var(--color-muted);
    font-size: 17px;
    line-height: 1.8;
}

.message {
    min-height: 520px;
    margin-bottom: 34px;
}

.message .list {
    width: 100%;
    min-height: 142px;
    margin-bottom: 18px;
    padding: 28px 30px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    background-color: var(--color-soft);
    border: 1px solid var(--color-line);
    border-radius: 8px;
    transition: border-color .2s ease, box-shadow .2s ease;
}

.message .list:hover {
    border-color: rgba(23, 107, 255, .28);
    box-shadow: 0 14px 34px rgba(24, 34, 53, .08);
}

.message .messageText {
    min-width: 0;
}

.message .list p {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.message .list p.title {
    margin-bottom: 10px;
    color: var(--color-ink);
    font-size: 20px;
    font-weight: 800;
    line-height: 1.5;
}

.message .list p.title a {
    transition: color .2s ease;
}

.message .list p.title a:hover,
.message .list p.title a:focus {
    color: var(--color-primary);
}

.message .list p.subtitle {
    color: var(--color-muted);
    font-size: 16px;
    line-height: 1.7;
}

.message .list .date {
    min-width: 96px;
    color: var(--color-muted);
    text-align: center;
}

.message .list .date span {
    display: block;
}

.message .list .date span.day {
    height: 48px;
    margin-bottom: 8px;
    color: var(--color-primary);
    font-size: 48px;
    font-weight: 800;
    line-height: 48px;
}

.message .list .date span.yearAndMonth {
    font-size: 16px;
    line-height: 18px;
}

.paginationWrap {
    display: flex;
    justify-content: center;
    margin-bottom: 10px;
}

@media (max-width: 768px) {
    .pageHeader {
        text-align: left;
    }

    .pageHeader h1 {
        font-size: 30px;
    }

    .message {
        min-height: 360px;
    }

    .message .list {
        display: grid;
        gap: 18px;
        min-height: 0;
        padding: 22px 18px;
    }

    .message .list p {
        white-space: normal;
        display: -webkit-box;
        -webkit-box-orient: vertical;
    }

    .message .list p.title {
        -webkit-line-clamp: 2;
    }

    .message .list p.subtitle {
        -webkit-line-clamp: 3;
    }

    .message .list .date {
        min-width: 0;
        display: flex;
        align-items: baseline;
        gap: 8px;
        text-align: left;
    }

    .message .list .date span.day {
        height: auto;
        margin-bottom: 0;
        font-size: 28px;
        line-height: 1;
    }
}
