.post--single {
    max-width: 678px;
    margin-left: auto;
    margin-right: auto;

    &__update {
        font-size: 14px;
        color: var(--farallon-text-gray);
        margin-bottom: 10px;
        margin-top: 10px;
    }

    &__douban {
        .db--nav {
            padding-top: 10px;
        }

        .db--list {
            .db--item {
                margin-right: 12px;
            }
        }
    }

    &__title {
        font-size: 32px;
        font-weight: bold;
        line-height: 1.5;
        margin-bottom: 20px;
    }

    &__meta {
        font-size: 14px;
        color: var(--farallon-text-gray);
    }

    &__copyright {
        color: var(--farallon-text-gray);
    }

    &__action {
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 20px 0;

        .button--like {
            svg {
                fill: var(--farallon-text-gray);
            }

            &:hover,
            &.is-active {
                svg {
                    fill: var(--farallon-hover-color);
                }
            }
        }
    }

    &__related {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-gap: 20px;

        &__status {
            font-size: 14px;
            background-color: var(--farallon-background-gray);
            border-radius: 5px;
            padding: 10px;
            border: 1px solid var(--farallon-border-color-light);
            body:not(.is-cleanMode) & {
                &:hover {
                    background-color: #fafafa;
                    background: linear-gradient(
                            89.99999999999999deg,
                            rgba(255, 233, 244, 0.3) 0%,
                            rgba(234, 243, 255, 0.5) 100%
                    );
                }
            }
            a {
                color: var(--farallon-text-gray);
                p {
                    line-height: 1.6;
                    display: -webkit-box;
                    -webkit-line-clamp: 2;
                    -webkit-box-orient: vertical;
                    overflow: hidden;
                    text-overflow: ellipsis;
                }
            }

            .meta {
                font-size: 12px;
                display: flex;
                align-items: center;
                margin-top: 2px;

                svg {
                    fill: var(--farallon-text-gray);
                    margin-right: 5px;
                }
            }
        }

        &__item {
            padding: 10px;
            border: 1px solid var(--farallon-border-color);
            border-radius: 10px;
            display: flex;
            flex-direction: column;

            .cover {
                border-radius: 8px;
                aspect-ratio: 2/1;
                object-fit: cover;
                width: 100%;
            }

            &__title {
                font-size: 14px;
                font-weight: bold;
                line-height: 1.4;
                margin-bottom: 5px;
            }
            body:not(.is-cleanMode) & {
                &:hover {
                    background-color: #fafafa;
                    background: linear-gradient(
                            89.99999999999999deg,
                            rgba(255, 233, 244, 0.3) 0%,
                            rgba(234, 243, 255, 0.5) 100%
                    );
                }
            }
            .meta {
                font-size: var(--farallon-text-size-smallest);
                color: var(--farallon-text-gray);
                line-height: 1;
            }
        }
    }
}

@media (max-width: 768px) {
    .post--single {
        &__title {
            font-size: 28px;
            margin-bottom: 10px;
        }
    }
}

.author--card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 30px 0;
    border-top: 1px solid var(--farallon-border-color-light);
    margin-top: 20px;

    .avatar {
        border-radius: 100%;
    }

    .author--name {
        font-weight: bold;
        margin-top: 10px;
        font-size: 18px;
    }

    .author--description {
        font-size: 14px;
        color: var(--farallon-text-gray);
    }

    .author--sns {
        margin-top: 12px;
        display: flex;
        align-items: center;

        a {
            margin: 0 10px 0 0;
            &:last-child {
                margin-right: 0;
            }
        }

        svg {
            fill: var(--farallon-text-color);
            width: 24px;
            height: 24px;

            &:hover {
                fill: var(--farallon-hover-color);
            }

            &.sns {
                fill: none;
                stroke: var(--farallon-text-color);

                &:hover {
                    stroke: var(--farallon-hover-color);
                    fill: none;
                }
            }
        }
    }
}

.tag--list {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    padding: 15px 0 5px;

    a {
        margin-right: 10px;
        margin-bottom: 10px;
        background: #f0f0f0;
        font-size: 14px;
        padding: 2px 12px;
        border-radius: 5px;
        color: var(--farallon-text-gray);

        &:hover {
            background-color: #e0e0e0;
        }
    }
}

.button--like {
    border: 0;
    background-color: rgba(0, 0, 0, 0);
    cursor: pointer;

    &.is-active {
        svg {
            fill: var(--farallon-main-color);
        }

        .icon--active {
            display: block;
        }

        .icon--default {
            display: none;
        }
    }

    .icon--active {
        display: none;
    }

    .icon--block {
        display: none;
    }
}

.category--card {
    padding: 15px 0;
    display: flex;
    align-items: center;

    &__list {
        border-top: 1px solid var(--farallon-border-color-light);
    }

    &__image {
        img {
            border-radius: 4px;
            height: 64px;
            object-fit: cover;
            width: 64px;
        }
        margin-right: 15px;
        width: 64px;
        flex: 0 0 auto;
        display: flex;
    }

    &__content {
        flex: 1 1 auto;
    }

    &:hover {
        .category--card__title {
            color: var(--farallon-hover-color);
        }
    }

    &__title {
        font-size: 18px;
        font-weight: bold;
        margin-bottom: 10px;
        line-height: 1;
    }

    &__description {
        font-size: var(--farallon-text-size-normal);
        color: var(--farallon-text-gray);
        line-height: 1.2;
    }

    & + & {
        position: relative;

        &::before {
            position: absolute;
            left: 15px;
            right: 15px;
            top: 0;
            height: 1px;
            background-color: var(--farallon-border-color-light);
            content: '';
        }
    }
}

@media (max-width: 768px) {
    .author--card {
        padding: 20px 0;
    }

    .category--card {
        padding: 12px 0;

        &__image {
            width: 48px;
            img {
                height: 48px;
                width: 48px;
            }
        }

        &__title {
            font-size: 16px;
        }

        &__description {
            font-size: 12px;
        }
    }
}

.header--centered {
    text-align: center;
    padding-bottom: 15px;

    .post--single__title {
        margin-bottom: 0px;
    }
}
