body {
    align-items: flex-start;
    justify-content: flex-start;
}

main {
    text-align: left;
    max-width: 640px;
    width: 100%;
    margin: 60px auto 0;
}

.back {
    margin-bottom: 32px;
}

/* ── Article ── */

article h1 {
    font-size: 22px;
    font-weight: bold;
    margin-bottom: 24px;
    letter-spacing: 0.02em;
}

article h2 {
    font-size: 18px;
    font-weight: bold;
    margin: 32px 0 12px;
}

article h3 {
    font-size: 16px;
    font-weight: bold;
    margin: 24px 0 8px;
}

article p {
    margin-bottom: 16px;
    color: var(--fg);
    line-height: 1.7;
}

article ul,
article ol {
    margin: 12px 0 16px 20px;
    line-height: 1.7;
}

article li {
    margin: 4px 0;
}

article li::marker {
    color: var(--fg-muted);
}

article strong {
    font-weight: bold;
}

article em {
    font-style: italic;
    color: var(--fg-muted);
}

article a {
    color: var(--accent);
}

/* ── Code ── */

article code {
    font-family: inherit;
    background: var(--border);
    padding: 2px 6px;
    border-radius: 3px;
    font-size: 14px;
}

article pre {
    background: var(--border);
    border-radius: 4px;
    padding: 16px;
    margin: 20px 0;
    overflow-x: auto;
    line-height: 1.5;
}

article pre code {
    background: none;
    padding: 0;
    border-radius: 0;
}

/* ── Blockquote ── */

article blockquote {
    border-left: 3px solid var(--fg-muted);
    padding: 8px 16px;
    margin: 20px 0;
    color: var(--fg-muted);
}

article blockquote p {
    margin-bottom: 0;
    color: var(--fg-muted);
}

/* ── Horizontal rules ── */

article hr {
    border: none;
    border-top: 1px solid var(--border);
    margin: 32px 0;
}

/* ── Images ── */

article img {
    max-width: 100%;
    margin: 16px 0;
}

/* ── Tables ── */

article table {
    width: 100%;
    border-collapse: collapse;
    margin: 20px 0;
}

article th {
    text-align: left;
    font-weight: bold;
    padding: 8px 12px;
    border-bottom: 2px solid var(--border);
    color: var(--fg-muted);
}

article td {
    padding: 8px 12px;
    border-bottom: 1px solid var(--border);
}

/* ── Mobile ── */

@media (max-width: 600px) {
    main {
        margin-top: 30px;
    }

    article h1 {
        font-size: 18px;
    }

    article h2 {
        font-size: 16px;
    }

    article pre {
        padding: 12px;
        font-size: 13px;
    }
}
