.page-content {
    padding: 56px 0 96px;
}

.page-title {
    font-size:      48px;
    font-weight:    600;
    letter-spacing: -0.02em;
    margin-bottom:  40px;
}

.page-content .entry-content {
    max-width: 760px;
}

.entry-content {
    font-size:   16px;
    line-height: 1.8;
    color:       var(--color-muted);
}

.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6 {
    color:         var(--color-text);
    line-height:   1.25;
    font-weight:   700;
    margin-top:    48px;
    margin-bottom: 16px;
}

.entry-content h1 { font-size: 32px; margin-top: 0; }
.entry-content h2 { font-size: 24px; }
.entry-content h3 { font-size: 20px; }
.entry-content h4 { font-size: 17px; }
.entry-content h5,
.entry-content h6 { font-size: 15px; font-weight: 600; }

.entry-content > h2:first-child,
.entry-content > h3:first-child { margin-top: 0; }

.entry-content p {
    margin-bottom: 20px;
    color:         var(--color-muted);
}

.entry-content p:last-child { margin-bottom: 0; }

.entry-content a {
    color:           var(--color-primary);
    text-decoration: underline;
    text-underline-offset: 3px;
    transition:      color var(--transition);
}

.entry-content a:hover { color: var(--color-accent-2); }

.entry-content ul,
.entry-content ol {
    margin:      0 0 20px;
    padding-left: 24px;
}

.entry-content ul { list-style: none; padding-left: 0; }

.entry-content ul li {
    position:      relative;
    padding-left:  20px;
    margin-bottom: 8px;
    display:       block;
}

.entry-content ul li::before {
    content:    '—';
    position:   absolute;
    left:       0;
    color:      var(--color-primary);
    font-weight: 700;
}

.entry-content ol {
    list-style: decimal;
    counter-reset: none;
}

.entry-content ol li {
    margin-bottom: 8px;
    padding-left:  4px;
    display:       list-item;
}

.entry-content ol li::marker { color: var(--color-primary); font-weight: 700; }

.entry-content ul ul,
.entry-content ol ol,
.entry-content ul ol,
.entry-content ol ul {
    margin-top:    8px;
    margin-bottom: 0;
}

.entry-content strong { font-weight: 700; color: var(--color-text); }
.entry-content em     { font-style: italic; }

.entry-content blockquote {
    margin:        28px 0;
    padding:       20px 24px;
    background:    var(--color-card);
    border-left:   3px solid var(--color-primary);
    border-radius: 0 var(--radius) var(--radius) 0;
}

.entry-content blockquote p { margin-bottom: 0; font-style: italic; }

.entry-content hr {
    border:        none;
    border-top:    1px solid var(--color-border);
    margin:        40px 0;
}

.entry-content table {
    width:         100%;
    border-collapse: collapse;
    margin-bottom: 24px;
    font-size:     14px;
}

.entry-content th,
.entry-content td {
    padding:    12px 16px;
    text-align: left;
    border:     1px solid var(--color-border);
}

.entry-content th {
    background:  var(--color-card);
    color:       var(--color-text);
    font-weight: 600;
}

.entry-content td { background: var(--color-bg-alt); }

.entry-content tr:hover td { background: var(--color-card); }

.entry-content img {
    border-radius: var(--radius);
    margin:        24px 0;
}

.entry-content figure { margin: 24px 0; }

.entry-content figcaption {
    font-size:  13px;
    color:      var(--color-muted);
    text-align: center;
    margin-top: 8px;
}

.entry-content code {
    font-family:   monospace;
    font-size:     0.9em;
    padding:       2px 6px;
    background:    var(--color-card);
    border:        1px solid var(--color-border);
    border-radius: 4px;
    color:         var(--color-primary);
}

.entry-content pre {
    background:    var(--color-card);
    border:        1px solid var(--color-border);
    border-radius: var(--radius);
    padding:       20px;
    overflow-x:    auto;
    margin-bottom: 24px;
}

.entry-content pre code {
    background:   none;
    border:       none;
    padding:      0;
    font-size:    14px;
    color:        var(--color-text);
}

.page-links {
    display:    flex;
    gap:        8px;
    margin-top: 32px;
    flex-wrap:  wrap;
}

.page-links a,
.page-links > span {
    display:         inline-flex;
    align-items:     center;
    justify-content: center;
    width:           36px;
    height:          36px;
    border-radius:   var(--radius);
    background:      var(--color-card);
    border:          1px solid var(--color-border);
    font-size:       14px;
    font-weight:     600;
    transition:      all var(--transition);
    text-decoration: none;
    color:           var(--color-text);
}

.page-links a:hover { border-color: var(--color-primary); color: var(--color-primary); }

@media (max-width: 768px) {
    .page-content     { padding: 40px 0 60px; }
    .page-title       { font-size: 26px; margin-bottom: 28px; }
    .entry-content h2 { font-size: 20px; }
    .entry-content h3 { font-size: 17px; }
    .entry-content    { font-size: 15px; }
}

@media (max-width: 560px) {
    .page-content     { padding: 32px 0 48px; }
    .page-title       { font-size: 22px; margin-bottom: 20px; }
    .entry-content    { font-size: 14px; }
    .entry-content h2 { font-size: 18px; }
}
