.blog-post[data-astro-cid-4dqtj3le]{padding-top:calc(var(--nav-h) + 3rem);padding-bottom:var(--section-gap)}.blog-post-header[data-astro-cid-4dqtj3le]{margin-bottom:3rem}.blog-back[data-astro-cid-4dqtj3le]{font-family:var(--font-display);font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);text-decoration:none;transition:color .3s;display:inline-block;margin-bottom:2rem}.blog-back[data-astro-cid-4dqtj3le]:hover{color:var(--violet-bright)}.blog-post-meta[data-astro-cid-4dqtj3le]{font-family:var(--font-display);font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--violet-bright);margin-bottom:1rem;display:flex;align-items:center;gap:.75rem}.blog-post-author[data-astro-cid-4dqtj3le]{color:var(--text-muted)}.blog-post-title[data-astro-cid-4dqtj3le]{font-family:var(--font-display);font-weight:700;font-size:clamp(1.8rem,4vw,2.5rem);letter-spacing:.04em;line-height:1.2;margin-bottom:1rem}.blog-header{padding:calc(var(--nav-h) + 3rem) 0 2rem}.blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.5rem;margin-top:2rem;padding-bottom:var(--section-gap)}@media(max-width:480px){.blog-grid{grid-template-columns:1fr}}.blog-card{background:var(--surface);border:1px solid var(--surface-3);padding:2rem;text-decoration:none;color:var(--text);display:flex;flex-direction:column;gap:.75rem;position:relative;overflow:hidden;transition:border-color .3s,transform .3s}.blog-card:hover{border-color:var(--violet-mid);transform:translateY(-3px)}.blog-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--gradient-brand)}.blog-card-date{font-family:var(--font-display);font-size:.7rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--violet-bright)}.blog-card-title{font-family:var(--font-display);font-weight:700;font-size:1.2rem;letter-spacing:.04em;line-height:1.3}.blog-card-desc{font-size:.88rem;color:var(--text-muted);line-height:1.7}.blog-card-tags{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:auto}.blog-tag{font-family:var(--font-display);font-size:.6rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:.2rem .5rem;background:var(--violet-dim);color:var(--violet-bright);border:1px solid rgba(225,29,107,.2)}.blog-card-read{font-family:var(--font-display);font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--violet-bright);display:flex;align-items:center;gap:.4rem;margin-top:.5rem}.prose{max-width:720px;font-size:1.05rem;line-height:1.8;color:var(--text-muted)}.prose>*+*{margin-top:1.5em}.prose h1,.prose h2,.prose h3,.prose h4{font-family:var(--font-display);color:var(--text);font-weight:700;letter-spacing:.04em;line-height:1.3;margin-top:2.5em;margin-bottom:.5em}.prose h1{font-size:2rem}.prose h2{font-size:1.5rem}.prose h3{font-size:1.2rem}.prose h4{font-size:1rem}.prose p{margin-top:1em;margin-bottom:0}.prose strong{color:var(--text);font-weight:500}.prose em{font-style:italic}.prose a{color:var(--violet-bright);text-decoration:underline;text-underline-offset:2px;transition:color .3s}.prose a:hover{color:var(--magenta-bright)}.prose ul,.prose ol{padding-left:1.5em}.prose li{margin-top:.5em}.prose li strong{color:var(--text)}.prose blockquote{border-left:2px solid var(--violet);padding-left:1.5em;margin-left:0;color:var(--text);font-style:italic}.prose code{font-family:JetBrains Mono,Fira Code,monospace;font-size:.9em;background:var(--surface-2);padding:.15em .4em;border-radius:3px;color:var(--violet-bright)}.prose pre{background:var(--surface);border:1px solid var(--surface-3);padding:1.5rem;overflow-x:auto;border-radius:0}.prose pre code{background:none;padding:0;font-size:.85em;color:var(--text)}.prose hr{border:none;height:1px;background:var(--surface-3);margin:3em 0}.prose img{max-width:100%;height:auto}.comment-section-wrapper{min-height:200px}.comment-section{margin-top:4rem;padding-top:3rem;border-top:1px solid var(--surface-3)}.comment-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.comment-section-title{font-family:var(--font-display);font-weight:700;font-size:1.5rem;letter-spacing:.04em}.comment-form{margin-bottom:2rem}.comment-form textarea{width:100%;background:var(--surface);border:1px solid var(--surface-3);color:var(--text);font-family:var(--font-body);font-size:.9rem;line-height:1.7;padding:1rem;resize:vertical;min-height:80px;transition:border-color .3s}.comment-form textarea:focus{outline:none;border-color:var(--violet-mid)}.comment-form textarea::placeholder{color:var(--text-dim)}.comment-form-actions{display:flex;gap:.75rem;margin-top:.75rem}.comment-error{color:var(--violet-bright);font-size:.8rem;margin-top:.5rem}.comment-list{display:flex;flex-direction:column;gap:0}.comment-loading,.comment-empty{color:var(--text-muted);font-size:.9rem;padding:2rem 0}.comment-item{padding:1.5rem 0;border-bottom:1px solid var(--surface-3)}.comment-reply{padding-left:2rem;border-left:2px solid var(--surface-3);margin-left:1rem}.comment-header{display:flex;align-items:center;gap:.6rem;margin-bottom:.5rem}.comment-avatar{border-radius:50%;flex-shrink:0}.comment-author{font-family:var(--font-display);font-weight:600;font-size:.85rem;color:var(--text)}.comment-time{font-size:.72rem;color:var(--text-dim)}.comment-edited{font-size:.68rem;color:var(--text-dim);font-style:italic}.comment-body{font-size:.92rem;color:var(--text-muted);line-height:1.7;white-space:pre-wrap;word-break:break-word}.comment-actions-row{display:flex;align-items:center;justify-content:space-between;margin-top:.75rem;flex-wrap:wrap;gap:.5rem}.comment-text-actions{display:flex;gap:.75rem}.comment-action-btn{background:none;border:none;font-family:var(--font-display);font-size:.68rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);cursor:pointer;transition:color .3s;padding:0}.comment-action-btn:hover{color:var(--text-muted)}.comment-action-delete:hover{color:var(--violet-bright)}.reaction-bar{display:flex;gap:.35rem}.reaction-btn{background:var(--surface);border:1px solid var(--surface-3);padding:.2rem .45rem;cursor:pointer;display:flex;align-items:center;gap:.25rem;font-size:.8rem;transition:border-color .3s,background .3s;border-radius:3px}.reaction-btn:hover{border-color:var(--violet-dim)}.reaction-btn.active{border-color:var(--violet-mid);background:var(--violet-dim)}.reaction-btn:disabled{cursor:default;opacity:.6}.reaction-count{font-family:var(--font-display);font-size:.65rem;font-weight:600;color:var(--text-muted)}
