.blog-card-cover{display:block;width:100%;aspect-ratio:16/9;overflow:hidden;margin:-2px 0 20px;border:1px solid var(--line);background:var(--surface-2)}
.blog-card-cover img{display:block;width:100%;height:100%;object-fit:cover}
.home-blog-grid .blog-card-cover{aspect-ratio:16/10}
.blog-cover{display:block;width:100%;max-height:460px;object-fit:cover;margin:30px 0 0;background:var(--surface-2)}
.blog-cover[hidden]{display:none}
.blog-article-body.rich{white-space:normal}
.blog-article-body.rich p{margin:0 0 1.35em;white-space:pre-wrap}
.blog-article-body.rich h2,.blog-article-body.rich h3{color:var(--text);line-height:1.3;letter-spacing:-.03em;margin:1.6em 0 .65em}
.blog-article-body.rich h2{font-size:clamp(25px,3vw,34px)}
.blog-article-body.rich h3{font-size:clamp(20px,2.5vw,27px)}
.blog-article-body.rich ul,.blog-article-body.rich ol{padding-left:1.6em;margin:0 0 1.35em}
.blog-article-body.rich li{padding-left:.2em;margin:.4em 0;white-space:pre-wrap}
.blog-article-body.rich a{color:var(--gold-soft);text-decoration:underline;text-underline-offset:3px}
.blog-rich-bold{font-weight:700}.blog-rich-italic{font-style:italic}.blog-rich-underline{text-decoration:underline}
.admin-blog-current-cover{display:flex;align-items:center;gap:20px;padding:15px;border:1px solid var(--line)}
.admin-blog-current-cover img{width:170px;max-height:110px;object-fit:cover}
.admin-blog-current-cover label{display:flex;align-items:center;gap:8px}
.admin-blog-current-cover input{width:auto;accent-color:var(--gold)}
.rich-editor-field{display:grid;gap:10px}.rich-editor-label{font-size:13px;font-weight:700}
.rich-ready [data-rich-source]{display:none}
.rich-editor-hint{color:var(--muted);font-size:11px;font-weight:400}
.blog-preview-dialog{width:min(900px,calc(100% - 24px));max-height:90vh;padding:0;border:1px solid var(--line);background:var(--bg);color:var(--text);box-shadow:var(--shadow)}
.blog-preview-dialog::backdrop{background:rgba(0,0,0,.78)}
.blog-preview-header{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:14px 22px;border-bottom:1px solid var(--line);background:var(--surface)}
.blog-preview-header strong{color:var(--gold-soft);font-size:13px}
.blog-preview-header button{border:0;background:transparent;color:var(--text);font-size:19px;cursor:pointer}
.blog-preview-content{padding:28px 34px 45px}
.blog-preview-content .blog-article{max-width:none}
@media(max-width:650px){.blog-preview-content{padding:20px}.admin-blog-current-cover{align-items:flex-start;flex-direction:column}}
