/* Prose - Article content */
.prose{max-width:720px}
.prose-header{margin-bottom:36px;padding-bottom:24px;border-bottom:1px solid var(--border)}
.prose-cat{display:inline-block;font-size:.75rem;font-weight:600;color:var(--accent);text-transform:uppercase;letter-spacing:.1em;margin-bottom:14px;padding:3px 10px;background:var(--accent-soft);border-radius:4px;text-decoration:none}
.prose-cat:hover{background:var(--accent);color:#fff;text-decoration:none}
.prose-header h1{font-family:var(--font-serif);font-size:2.1rem;font-weight:700;line-height:1.3;letter-spacing:-.02em}
.prose-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px;font-size:.85rem;color:var(--fg3)}
.prose-meta time,.prose-meta span{display:inline-flex;align-items:center}
.prose-cover{width:100%;max-height:460px;object-fit:cover;border-radius:12px;margin-bottom:36px;box-shadow:var(--shadow)}
.prose-body{font-size:1rem;line-height:1.9;color:var(--fg)}
.prose-body h2,.prose-body h3,.prose-body h4{font-family:var(--font-serif);margin-top:2em;margin-bottom:.8em;font-weight:700;letter-spacing:-.01em}
.prose-body h2{font-size:1.4rem;padding-bottom:10px;border-bottom:1px solid var(--border-light)}
.prose-body h3{font-size:1.2rem}
.prose-body p{margin-bottom:1.3em}
.prose-body ul,.prose-body ol{margin-bottom:1.3em;padding-left:1.5em}
.prose-body li{margin-bottom:.5em}
.prose-body li::marker{color:var(--accent)}
.prose-body blockquote{border-left:3px solid var(--accent);padding:14px 22px;margin:1.5em 0;background:var(--bg-alt);border-radius:0 var(--radius) var(--radius) 0;color:var(--fg2);font-style:italic}
.prose-body pre{background:var(--bg-code);padding:18px;border-radius:var(--radius);overflow-x:auto;margin:1.5em 0;border:1px solid var(--border);font-size:.88rem}
.prose-body code{font-family:'SF Mono',Consolas,Monaco,monospace;font-size:.88em}
.prose-body p code,.prose-body li code{background:var(--bg-code);padding:2px 7px;border-radius:4px;font-size:.85em;color:var(--accent)}
.prose-body img{border-radius:var(--radius);margin:1.5em auto;box-shadow:var(--shadow-sm)}
.prose-body a{color:var(--accent);border-bottom:1px solid var(--accent);transition:var(--transition)}
.prose-body a:hover{color:var(--accent2);border-bottom-color:var(--accent2)}
.prose-body table{width:100%;border-collapse:collapse;margin:1.5em 0;font-size:.9rem}
.prose-body th,.prose-body td{padding:10px 14px;border:1px solid var(--border);text-align:left}
.prose-body th{background:var(--bg-alt);font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--fg3)}
.prose-body hr{border:none;border-top:1px solid var(--border);margin:2.5em 0}
.prose-tags{margin-top:36px;padding-top:20px;border-top:1px solid var(--border);display:flex;flex-wrap:wrap;gap:6px}
.prose-tags a{padding:5px 13px;border:1px solid var(--border);border-radius:20px;font-size:.8rem;color:var(--fg2);text-decoration:none;transition:var(--transition)}
.prose-tags a:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft);text-decoration:none}
.prose-notice{margin-top:20px;padding:14px 18px;background:var(--accent-soft);border-left:3px solid var(--accent);border-radius:0 var(--radius) var(--radius) 0;font-size:.85rem;color:var(--fg2)}
.prose-nav{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:48px;padding-top:28px;border-top:1px solid var(--border)}
.prose-nav a{padding:18px;border:1px solid var(--border);border-radius:var(--radius);text-decoration:none;display:flex;flex-direction:column;gap:6px;transition:var(--transition)}
.prose-nav a:hover{border-color:var(--accent);box-shadow:var(--shadow);text-decoration:none;transform:translateY(-2px)}
.prose-nav a span{font-size:.75rem;color:var(--fg3);font-weight:500;text-transform:uppercase;letter-spacing:.05em}
.prose-nav a strong{font-size:.9rem;color:var(--fg);font-weight:600;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.prose-nav a:last-child{text-align:right;align-items:flex-end}
@media(max-width:768px){
  .prose-header h1{font-size:1.6rem}
  .prose-nav{grid-template-columns:1fr}
}
