.post-header{
  padding-bottom:18px;
  margin-bottom:26px;
  border-bottom:1px solid var(--border-color);
}
.post-title{
  font-size:24px;
  font-weight:700;
  line-height:1.35;
  letter-spacing:.3px;
}
.post-meta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px 12px;
  margin-top:10px;
  font-size:12.5px;
  color:var(--text-sub);
}
.post-meta time{font-variant-numeric:tabular-nums}
.post-tags{display:flex;flex-wrap:wrap;gap:6px}
.tag{
  display:inline-block;
  padding:2px 9px;
  font-size:11px;
  font-weight:600;
  line-height:1.6;
  color:var(--primary);
  background:var(--primary-light);
  border:1px solid var(--primary-border);
  border-radius:var(--radius-pill);
}
.post-back{
  margin-top:40px;
  padding-top:20px;
  border-top:1px solid var(--border-color);
  font-size:13px;
}
.post-back a{color:var(--primary)}
.post-back a:hover{text-decoration:underline}

.more-link{margin-top:20px;text-align:right;font-size:13px}
.more-link a{color:var(--primary)}
.more-link a:hover{text-decoration:underline}

.prose{
  font-size:14.5px;
  line-height:1.8;
  color:var(--text-main);
  overflow-wrap:break-word;
}
.prose h1,.prose h2,.prose h3,.prose h4{
  font-weight:600;
  line-height:1.4;
  margin:30px 0 12px;
}
.prose h1{font-size:21px}
.prose h2{font-size:18px;padding-bottom:8px;border-bottom:1px solid var(--border-color)}
.prose h3{font-size:16px}
.prose h4{font-size:14.5px}
.prose p{margin:12px 0}
.prose a{color:var(--primary);text-decoration:none}
.prose a:hover{text-decoration:underline}
.prose strong{font-weight:600}
.prose ul,.prose ol{margin:12px 0;padding-left:24px}
.prose li{margin:5px 0}
.prose hr{border:0;border-top:1px solid var(--border-color);margin:26px 0}
.prose blockquote{
  margin:16px 0;
  padding:4px 16px;
  border-left:3px solid var(--border-color);
  color:var(--text-muted);
}
.prose img{
  display:block;
  max-width:100%;
  height:auto;
  margin:18px 0;
  border:1px solid var(--border-color);
  border-radius:var(--radius-lg);
}

.prose code{
  font-family:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:.88em;
  padding:2px 5px;
  background:var(--bg-surface-hover);
  border:1px solid var(--border-color);
  border-radius:var(--radius-sm);
}
.prose pre{
  margin:16px 0;
  padding:14px 16px;
  background:var(--bg-surface-hover);
  border:1px solid var(--border-color);
  border-radius:var(--radius-lg);
  overflow-x:auto;
  line-height:1.6;
}
.prose pre code{
  padding:0;
  border:0;
  background:transparent;
  font-size:13px;
}

.prose table{
  width:100%;
  margin:16px 0;
  border-collapse:collapse;
  font-size:13.5px;
}
.prose th,.prose td{
  padding:8px 12px;
  border:1px solid var(--border-color);
  text-align:left;
}
.prose th{background:var(--bg-surface-hover);font-weight:600}
.prose tr:nth-child(even) td{background:color-mix(in srgb,var(--bg-surface-hover) 45%,transparent)}

.admonition{
  margin:18px 0;
  padding:14px 18px;
  background:var(--bg-surface);
  border:1px solid var(--border-color);
  border-left:3px solid var(--primary);
  border-radius:var(--radius-lg);
}
.admonition > :last-child{margin-bottom:0}
.adm-title{
  margin:0 0 6px;
  font-size:13px;
  font-weight:600;
  color:var(--primary);
}
.admonition-tip{border-left-color:#10b981;background:rgba(16,185,129,.06)}
.admonition-tip .adm-title{color:#10b981}
.admonition-note,.admonition-info{border-left-color:#3b82f6;background:rgba(59,130,246,.06)}
.admonition-note .adm-title,.admonition-info .adm-title{color:#3b82f6}
.admonition-warning{border-left-color:#f59e0b;background:rgba(245,158,11,.08)}
.admonition-warning .adm-title{color:#d97706}
.admonition-danger,.admonition-caution{border-left-color:#ef4444;background:rgba(239,68,68,.07)}
.admonition-danger .adm-title,.admonition-caution .adm-title{color:#ef4444}

@media (max-width:600px){
  .post-title{font-size:20px}
  .prose{font-size:14px}
}
