/* 博客文章公共样式 */
.bp-wrap { max-width: 760px; margin: 0 auto; padding: 0 16px; }
.bp-header { background:linear-gradient(135deg,#0f172a,#1e293b); color:#fff; border-radius:14px; padding:30px 30px; margin-bottom:24px; }
.bp-header .tag { display:inline-block; padding:3px 10px; background:rgba(251,191,36,.2); color:#fbbf24; font-size:11px; border-radius:10px; margin-bottom:10px; }
.bp-header h1 { font-size:28px; margin:0 0 12px; line-height:1.35; font-weight:800; letter-spacing:-0.5px; }
.bp-header .meta { font-size:13px; opacity:.8; }

.bp-content { font-size:16px; line-height:1.85; color:#1f2937; }
.bp-content h2 { font-size:22px; margin:32px 0 12px; padding-bottom:6px; border-bottom:1px solid #e5e7eb; color:#111827; }
.bp-content h3 { font-size:18px; margin:24px 0 10px; color:#1f2937; font-weight:700; }
.bp-content p { margin: 0 0 16px; }
.bp-content ul, .bp-content ol { padding-left:24px; margin:0 0 16px; }
.bp-content li { margin-bottom:6px; }
.bp-content blockquote { border-left:4px solid #6366f1; background:#f5f3ff; color:#4338ca; padding:12px 18px; margin:18px 0; border-radius:0 8px 8px 0; }
.bp-content blockquote p { margin:0; }
.bp-content code { background:#f3f4f6; color:#7c3aed; padding:2px 6px; border-radius:4px; font-size:14px; font-family:ui-monospace, monospace; }
.bp-content pre { background:#1e293b; color:#e2e8f0; padding:16px 18px; border-radius:8px; overflow-x:auto; font-size:13.5px; line-height:1.7; }
.bp-content pre code { background:transparent; color:inherit; padding:0; }
.bp-content a { color:#4338ca; text-decoration:underline; }
.bp-content a:hover { color:#6366f1; }
.bp-content strong { color:#111827; }
.bp-content table { width:100%; border-collapse:collapse; margin:14px 0; font-size:14px; }
.bp-content table th { background:#f9fafb; padding:8px 10px; text-align:left; border-bottom:2px solid #e5e7eb; font-weight:600; color:#1f2937; }
.bp-content table td { padding:8px 10px; border-bottom:1px solid #f3f4f6; }
.bp-content .callout { background:#fffbeb; border:1px solid #fde68a; border-radius:8px; padding:14px 18px; margin:18px 0; color:#92400e; }
.bp-content .callout.success { background:#f0fdf4; border-color:#86efac; color:#14532d; }
.bp-content .callout.danger { background:#fef2f2; border-color:#fecaca; color:#991b1b; }

.bp-tool-cta { background:linear-gradient(135deg,#eef2ff,#e0e7ff); border-radius:10px; padding:14px 18px; margin:18px 0; }
.bp-tool-cta h4 { margin:0 0 6px; color:#312e81; font-size:14px; }
.bp-tool-cta p { font-size:13px; margin:0 0 8px; color:#4338ca; }
.bp-tool-cta a { padding:6px 14px; background:#4338ca; color:#fff !important; border-radius:6px; text-decoration:none !important; font-size:12px; display:inline-block; }

.bp-cta { background:linear-gradient(135deg,#1e293b,#334155); color:#fff; border-radius:12px; padding:22px 24px; margin:30px 0; text-align:center; }
.bp-cta h3 { color:#fff; margin:0 0 10px; }
.bp-cta p { opacity:.9; margin:0 0 14px; font-size:14px; }
.bp-cta a { padding:9px 20px; background:#fbbf24; color:#1e293b !important; border-radius:8px; text-decoration:none !important; font-weight:700; }

.bp-related { margin-top:30px; padding-top:18px; border-top:1px solid #e5e7eb; }
.bp-related h3 { margin:0 0 12px; font-size:16px; color:#1f2937; }
.bp-related-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:10px; }
.bp-related-list a { display:block; padding:12px 14px; background:#f9fafb; border:1px solid #e5e7eb; border-radius:8px; text-decoration:none; color:#1f2937; }
.bp-related-list a:hover { border-color:#6366f1; background:#fff; }
.bp-related-list .name { font-size:13.5px; font-weight:600; }
.bp-related-list .desc { font-size:11.5px; color:#6b7280; margin-top:3px; }
