/**
 * Shared chrome for /posts/* pages on top of theme.css.
 * Essays/tools keep their body content; this adds banner, panel, footer polish.
 */

body.posts-page {
    padding: 20px;
}

.posts-shell {
    max-width: 920px;
    margin: 0 auto;
}

.posts-shell.wide {
    max-width: 1180px;
}

.posts-shell .site-panel {
    padding: 28px 32px 20px;
}

.posts-shell h1,
.posts-shell .title {
    color: var(--text);
}

.posts-shell h2,
.posts-shell h3 {
    color: var(--brand-dark);
}

.posts-shell a {
    color: var(--brand);
}

.posts-shell table {
    width: 100%;
    border-collapse: collapse;
    margin: 16px 0 24px;
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: 12px;
    overflow: hidden;
}

.posts-shell table th,
.posts-shell table td {
    padding: 10px 14px;
    border-bottom: 1px solid var(--line);
    text-align: left;
    font-size: 0.92rem;
}

.posts-shell table th {
    background: var(--surface-alt);
    color: var(--muted);
    font-weight: 600;
}

.posts-shell p,
.posts-shell li {
    color: var(--text);
    line-height: 1.75;
}

.posts-shell .formCenter {
    text-align: center;
}

.posts-banner {
    margin-bottom: 18px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--line);
}

.posts-banner h1 {
    font-size: 1.6rem;
    margin-bottom: 4px;
}

.post-group {
    margin-bottom: 22px;
}

.post-group .section-title {
    margin-bottom: 12px;
}

.posts-content center h1 {
    display: none;
}

.posts-content > h1.formCenter {
    display: none;
}

.posts-tool-frame {
    border: 1px solid var(--line);
    border-radius: 12px;
    background: var(--surface-alt);
    padding: 12px;
    overflow: auto;
}

@media (max-width: 720px) {
    body.posts-page { padding: 12px; }
    .posts-shell .site-panel { padding: 20px 16px; }
}
