.blogDetail { max-width: 820px; margin: 0 auto; } .heroImageWrap { width: 100%; max-width: 640px; margin: 0 auto 20px; overflow: hidden; border-radius: var(--radius); background: rgba(148, 163, 184, 0.08); border: 1px solid rgba(148, 163, 184, 0.12); } .heroImage { display: block; width: 100%; height: auto; } .heroPlaceholder { width: 100%; aspect-ratio: 3 / 2; background: linear-gradient( 135deg, rgba(148, 163, 184, 0.12) 0%, rgba(148, 163, 184, 0.04) 100% ); } .metaRow { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px 16px; margin-bottom: 28px; font-size: 14px; color: var(--text-secondary); } .metaItem { display: inline-flex; align-items: center; gap: 6px; } .metaDot { color: var(--text-muted); } .metaChips { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 8px; } .typeChip { display: inline-block; padding: 4px 12px; font-size: 12px; font-weight: 500; color: var(--primary); background: rgba(var(--primary-rgb) / 0.1); border-radius: 999px; } .categoryChip { display: inline-block; padding: 4px 12px; font-size: 12px; font-weight: 500; color: var(--text-secondary); background: rgba(148, 163, 184, 0.15); border-radius: 999px; } .contentPanel { background: var(--glass-bg); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); border: 1px solid var(--glass-border); border-radius: var(--radius); box-shadow: var(--glass-shadow); padding: 24px; margin-bottom: 28px; } .content { font-size: 15px; line-height: 1.7; color: var(--text-primary); } .content p { margin: 0 0 1em; } .content p:last-child { margin-bottom: 0; } .content ul, .content ol { padding-left: 1.5em; margin: 0.75em 0; } .content img { max-width: 100%; height: auto; border-radius: var(--radius-sm); margin: 1em 0; } .content h1, .content h2, .content h3 { margin: 1.25em 0 0.5em; line-height: 1.35; } .authorRow { display: flex; align-items: center; gap: 8px; padding-top: 20px; margin-top: 20px; border-top: 1px solid rgba(148, 163, 184, 0.2); font-size: 14px; color: var(--text-secondary); } .authorLabel { font-weight: 500; color: var(--text-muted); } .authorName { font-weight: 600; color: var(--text-primary); } .status, .error { padding: 48px 24px; text-align: center; font-size: 14px; color: var(--text-secondary); } .error { color: #b91c1c; } .backLink { display: inline-block; margin-top: 12px; font-size: 14px; color: var(--primary); } .backLink:hover { text-decoration: underline; }