/* META */
.text-muted {
    color: var(--muted);
    font-size: 14px;
}

/* TYPOGRAPHY */
.prose {
    line-height: 1.7;
    font-size: 16px;
}

/* HEADINGS */
.prose h1 {
    font-size: 2.2rem;
    font-weight: 700;
    margin-top: 1.5em;
    margin-bottom: 0.6em;
    color: var(--text);
}

.prose h2 {
    font-size: 1.6rem;
    font-weight: 700;
    margin-top: 2em;
    margin-bottom: 0.5em;
    color: var(--text);
}

.prose h3 {
    font-size: 1.25rem;
    font-weight: 600;
    margin-top: 1.5em;
    margin-bottom: 0.5em;
    color: var(--text);
}

.prose p {
    margin-bottom: 1em;
    color: var(--text);
}

/* IMAGE */
.prose img {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 24px auto;
    border-radius: 12px;
}

/* IMAGE WRAPPER (fix sizing) */
.image-wrapper {
    display: inline-block;
    margin: 24px auto;
    border-radius: 12px;
    background: #f3f4f6;
    padding: 10px;
    text-align: center;
}

/* REAL IMAGE */
.real-image {
    display: block;
    max-width: 100%;
    max-height: 500px;
    height: auto;
    width: auto;
    object-fit: contain;
    border-radius: 10px;
    opacity: 0;
    transition: opacity 0.4s ease;
}

/* SKELETON */
.skeleton {
    width: 100%;
    height: 250px;
    border-radius: 12px;
    background: linear-gradient(
        90deg,
        #e5e7eb 25%,
        #d1d5db 37%,
        #e5e7eb 63%
    );
    background-size: 400% 100%;
    animation: skeleton-loading 1.4s ease infinite;
}

/* ANIMATION */
@keyframes skeleton-loading {
    0% {
        background-position: 100% 50%;
    }
    100% {
        background-position: 0 50%;
    }
}