/* 40·41 블로그 관리 */
.ab-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--s-5); align-items: start; }
.ab-side { position: sticky; top: var(--s-4); max-height: calc(100vh - 32px); overflow: auto; }
.ab-status { display: flex; align-items: center; gap: var(--s-2); font-size: var(--t-sm); }
.ab-slug { display: flex; align-items: center; gap: var(--s-2); }
.ab-count { display: block; text-align: right; }
.ab-over { color: var(--c-danger); font-weight: 700; }
.ab-body { min-height: 360px; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: var(--t-sm); }
.ab-body-head { display: flex; align-items: center; justify-content: space-between; gap: var(--s-2); margin-bottom: var(--s-2); }
.ab-upload { margin-top: var(--s-2); font-size: var(--t-sm); color: var(--c-muted); }
.ab-upload.ab-error { color: var(--c-danger); font-weight: 700; }
.ab-help { margin-top: var(--s-3); font-size: var(--t-sm); }
.ab-help summary { cursor: pointer; font-weight: 700; }
.ab-help pre { margin: var(--s-2) 0; padding: var(--s-3); background: var(--c-milk); border-radius: var(--r-sm); white-space: pre-wrap; font-size: var(--t-xs); }
.ab-cover { display: flex; align-items: center; gap: var(--s-3); margin-bottom: var(--s-2); }
.ab-cover-img { max-width: 240px; max-height: 140px; border-radius: var(--r-sm); border: 1px solid var(--c-line-2); object-fit: cover; display: block; margin-top: var(--s-2); }
.ab-cover .ab-cover-img { margin-top: 0; }
.ab-check { display: flex; align-items: center; gap: var(--s-2); font-size: var(--t-sm); }
.ab-preview-title { font-size: var(--t-lg); font-weight: 800; letter-spacing: -.02em; margin-bottom: var(--s-4); overflow-wrap: anywhere; }
.ab-preview .blog-body { line-height: 1.8; overflow-wrap: anywhere; }
.ab-preview .blog-body h2 { font-size: 1.35em; font-weight: 800; margin: 1.6em 0 .6em; }
.ab-preview .blog-body h3 { font-size: 1.15em; font-weight: 700; margin: 1.3em 0 .5em; }
.ab-preview .blog-body p, .ab-preview .blog-body ul, .ab-preview .blog-body ol, .ab-preview .blog-body blockquote { margin: 0 0 1em; }
.ab-preview .blog-body ul { list-style: disc; padding-left: 1.4em; }
.ab-preview .blog-body ol { list-style: decimal; padding-left: 1.4em; }
.ab-preview .blog-body a { color: var(--c-accent); text-decoration: underline; }
.ab-preview .blog-body img { max-width: 100%; height: auto; border-radius: var(--r-sm); }
.ab-preview .blog-body blockquote { padding: var(--s-3) var(--s-4); border-left: 3px solid var(--c-accent); background: var(--c-milk); }
.ab-preview .blog-body code { background: var(--c-milk); padding: 1px 4px; border-radius: 3px; }
.ab-preview .blog-body pre { background: var(--c-milk); padding: var(--s-3); overflow: auto; border-radius: var(--r-sm); }
.ab-preview .blog-body .blog-table { overflow-x: auto; }
.ab-preview .blog-body table { border-collapse: collapse; width: 100%; }
.ab-preview .blog-body th, .ab-preview .blog-body td { border: 1px solid var(--c-line-2); padding: 6px 10px; }
@media (max-width: 1100px) { .ab-grid { grid-template-columns: minmax(0, 1fr); } .ab-side { position: static; max-height: none; } }
