/* The public blog (/blog): server-rendered pages on the portal's base styles. */
.bl-wrap{max-width:760px;gap:20px}
.bl-head{display:flex;flex-direction:column;align-items:center;gap:12px}
.bl-brand img{width:160px;height:auto;display:block}
.bl-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 18px;font:500 14px/1.4 var(--font-sans)}
.bl-nav a{color:var(--steel-muted);text-decoration:none;padding:6px 0} .bl-nav a:hover{color:var(--green-soft)}
.bl-title{text-align:center;margin:0}
.bl-sub,.bl-empty{text-align:center;margin:0}
.bl-list{display:flex;flex-direction:column;gap:12px}
.bl-card{display:flex;gap:14px;align-items:flex-start;padding:14px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);color:inherit;text-decoration:none}
.bl-card:hover{border-color:var(--green-mid);background:var(--surface-raised)}
.bl-card-pic{width:120px;height:90px;object-fit:cover;border-radius:var(--radius-sm);flex-shrink:0;background:var(--surface-raised)}
.bl-card-text{display:flex;flex-direction:column;gap:4px;min-width:0}
.bl-card-title{font:600 18px/1.25 var(--font-sans);color:var(--steel)}
.bl-card-sum{color:var(--steel-muted);line-height:1.4}
.bl-card-meta{font-size:13px;color:var(--steel-muted)}
.bl-pages{display:flex;justify-content:space-between;align-items:center;gap:12px}
.bl-post{display:flex;flex-direction:column;gap:14px;padding:24px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface)}
.bl-post .bl-title{text-align:left;font-size:30px;line-height:1.1}
.bl-back{align-self:flex-start}
.bl-meta{margin:0}
.bl-summary{margin:0;font-size:18px;line-height:1.45;color:var(--silver)}
.bl-pic{margin:0} .bl-pic img{width:100%;height:auto;border-radius:var(--radius-sm);display:block}
.bl-body{font-size:17px;line-height:1.6;overflow-wrap:anywhere} .bl-body p{margin:0 0 16px} .bl-body a{color:var(--green-soft)}
.bl-more{display:flex;flex-direction:column;gap:12px} .bl-more h2{margin:0}
.bl-foot{display:flex;flex-direction:column;gap:4px;text-align:center} .bl-foot p{margin:0}
@media (max-width:480px){.bl-card{flex-direction:column}.bl-card-pic{width:100%;height:160px}.bl-post{padding:16px}.bl-post .bl-title{font-size:24px}}
