.post-page {
    align-items: start;
}

.post-content {
    color: var(--color-level-1);
}

.post-content p,
.post-content li {
    line-height: var(--lh-body);
}

.post-content h2,
.post-content h3,
.post-content h4 {
    margin: 1.8em 0 0.6em;
    font-family: var(--font-ui);
}

.post-content code {
    font-family: var(--font-code);
    border-radius: var(--radius-sm);
}

.post-content pre {
    margin: var(--space-6) 0;
    border: 1px solid var(--divider);
    border-radius: var(--radius-card);
    overflow: hidden;
}

.post-extras {
    position: sticky;
    top: 110px;
    align-self: start;
    border-left: 1px solid var(--divider);
    padding-left: var(--space-4);
}

.post-toc h2 {
    margin-bottom: var(--space-3);
    font-size: 0.9rem;
    font-family: var(--font-ui);
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.post-toc ul {
    margin: 0;
    padding-left: var(--space-4);
}

.post-toc li {
    margin-bottom: var(--space-2);
}

.post-share {
    margin-top: var(--space-8);
    display: grid;
    gap: var(--space-3);
}

.post-share button,
.post-share a {
    border: 1px solid var(--divider);
    border-radius: 999px;
    padding: var(--space-2) var(--space-4);
    background: transparent;
    color: var(--color-level-1);
    font-family: var(--font-ui);
    text-align: center;
    cursor: pointer;
}

.read-progress {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    height: 2px;
    z-index: 70;
    background: rgba(138, 154, 170, 0.2);
}

.read-progress-bar {
    width: 0;
    height: 100%;
    background: var(--color-level-3);
    transition: width 0.15s linear;
}

.code-shell {
    border: 1px solid var(--divider);
    border-radius: var(--radius-card);
    overflow: hidden;
}

.code-shell-header {
    display: grid;
    grid-template-columns: 1fr auto auto;
    gap: var(--space-2);
    align-items: center;
    padding: var(--space-3) var(--space-4);
    border-bottom: 1px solid var(--divider);
    font-family: var(--font-ui);
}

.code-shell-header .code-toggle,
.code-shell-header .code-close,
.code-shell-header .code-copy {
    min-width: 86px;
    border: 1px solid var(--divider);
    border-radius: 999px;
    background: transparent;
    color: var(--color-level-1);
    cursor: pointer;
    padding: 4px 10px;
}

.code-shell.is-collapsed pre {
    display: none;
}