.blog-post__loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:var(--space-md);color:var(--color-text-caption)}.spinner{width:40px;height:40px;border:3px solid var(--glass-border);border-top-color:var(--color-gold);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.blog-post__header{padding-top:calc(var(--nav-height) + var(--space-3xl));padding-bottom:var(--space-2xl);text-align:center}.blog-post__back{display:inline-block;margin-bottom:var(--space-lg);color:var(--color-gold);text-decoration:none;font-size:var(--fs-small);transition:opacity var(--duration-fast)}.blog-post__back:hover{opacity:.7}.blog-post__meta{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);margin-bottom:var(--space-lg);font-size:var(--fs-small);color:var(--color-text-caption)}.blog-post__author{color:var(--color-text-caption)}.blog-post__title{font-family:var(--font-heading);font-size:var(--fs-h1);font-weight:var(--fw-bold);color:var(--color-text-heading);line-height:var(--lh-tight);margin:0}.blog-post__hero{max-width:25%;margin:0 auto var(--space-2xl);border-radius:var(--radius-lg);overflow:hidden}.blog-post__hero img{width:100%;height:auto;display:block}.prose{font-size:var(--fs-body-lg);line-height:var(--lh-relaxed);color:var(--color-text-body)}.prose h2{font-family:var(--font-heading);font-size:var(--fs-h3);font-weight:var(--fw-bold);color:var(--color-text-heading);margin:var(--space-2xl) 0 var(--space-md)}.prose h3{font-family:var(--font-heading);font-size:var(--fs-h4);font-weight:var(--fw-semibold);color:var(--color-text-heading);margin:var(--space-xl) 0 var(--space-sm)}.prose p{margin-bottom:var(--space-lg)}.prose a{color:var(--color-gold);text-decoration:underline;text-underline-offset:2px}.prose a:hover{opacity:.8}.prose img{max-width:100%;height:auto;border-radius:var(--radius-md);margin:var(--space-xl) 0}.prose blockquote{border-left:3px solid var(--color-gold);padding-left:var(--space-lg);margin:var(--space-xl) 0;color:var(--color-text-heading);font-style:italic}.prose ul,.prose ol{margin:var(--space-md) 0 var(--space-lg);padding-left:var(--space-xl)}.prose li{margin-bottom:var(--space-xs)}.prose pre{background:var(--color-bg-secondary);border:var(--border-card);border-radius:var(--radius-md);padding:var(--space-lg);overflow-x:auto;margin:var(--space-xl) 0;font-family:var(--font-mono);font-size:var(--fs-small)}.prose code{font-family:var(--font-mono);font-size:.9em;background:var(--color-bg-secondary);padding:.15em .4em;border-radius:var(--radius-sm)}.prose pre code{background:none;padding:0}.prose table{width:100%;border-collapse:collapse;margin:var(--space-xl) 0}.prose th,.prose td{padding:var(--space-sm) var(--space-md);border:var(--border-card);text-align:left}.prose th{background:var(--color-bg-secondary);color:var(--color-text-heading);font-weight:var(--fw-semibold)}.blog-post__tags{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-top:var(--space-2xl);padding-top:var(--space-xl);border-top:var(--border-subtle)}.tag{padding:var(--space-xs) var(--space-md);background:var(--color-bg-secondary);border:var(--border-card);border-radius:var(--radius-full);font-size:var(--fs-caption);color:var(--color-text-caption)}.blog-post__footer{margin-top:var(--space-2xl);padding-top:var(--space-xl);padding-bottom:var(--space-4xl);border-top:var(--border-subtle)}.blog-post__error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center;padding:var(--space-2xl)}.blog-post__error h1{font-family:var(--font-heading);font-size:var(--fs-h2);color:var(--color-text-heading);margin-bottom:var(--space-md)}.blog-post__error p{color:var(--color-text-caption);margin-bottom:var(--space-xl)}@media(max-width:768px){.blog-post__header{padding-top:calc(var(--nav-height) + var(--space-xl))}.blog-post__meta{flex-wrap:wrap}}
