:root{--bg:#0a0a0f;--bg2:#0f0f1a;--surface:#13131f;--border:#1e1e30;--crimson:#c41e3a;--crimson-dim:#7d1224;--crimson-glow:#c41e3a33;--crimson-glow2:#c41e3a18;--text:#e8e4dc;--text-dim:#7a7570;--text-mid:#b0aa9f;--nav-h:52px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:JetBrains Mono,monospace;font-size:14px;line-height:1.7;overflow-x:hidden}body:before{content:"";pointer-events:none;z-index:0;opacity:.5;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");position:fixed;inset:0}.grid-bg{background-image:linear-gradient(var(--border) 1px, transparent 1px), linear-gradient(90deg, var(--border) 1px, transparent 1px);opacity:.28;pointer-events:none;z-index:0;background-size:48px 48px;position:fixed;inset:0}.wrap{z-index:1;max-width:1080px;margin:0 auto;padding:0 2rem;position:relative}.wrap--narrow{max-width:720px;margin:0 auto;padding:0 2rem}.site-mark{pointer-events:none;-webkit-user-select:none;user-select:none;opacity:.09;z-index:0;width:1100px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.site-mark img{width:100%;height:auto;display:block}nav{z-index:100;height:var(--nav-h);border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(12px);background:#0a0a0fe6;position:fixed;top:0;left:0;right:0}.nav-inner{justify-content:space-between;align-items:center;max-width:1080px;height:100%;margin:0 auto;padding:0 2rem;display:flex}.nav-logo{align-items:center;gap:.6rem;text-decoration:none;display:flex}.nav-logo-mark{object-fit:contain;flex-shrink:0;width:28px;height:28px}.nav-logo-text-wrap{flex-direction:column;gap:1px;margin-top:-1px;display:flex}.nav-logo-name{color:var(--text);letter-spacing:.02em;padding-bottom:3px;font-family:Syne,sans-serif;font-size:.95rem;font-weight:800;line-height:1}.nav-logo-divider-inline{color:var(--border);margin:0 .2rem;font-weight:300}.nav-logo-accent{color:var(--crimson)}.nav-logo-tagline{letter-spacing:.16em;text-transform:uppercase;color:var(--text-mid);font-family:JetBrains Mono,monospace;font-size:.56rem;line-height:1}.nav-links{align-items:center;gap:1.75rem;list-style:none;display:flex}.nav-links a{color:var(--text-dim);letter-spacing:.14em;text-transform:uppercase;font-size:.68rem;text-decoration:none;transition:color .2s}.nav-links a:hover{color:var(--crimson)}.nav-links .nav-cta{color:var(--crimson);border:1px solid var(--crimson-dim);border-radius:2px;padding:.3rem .8rem;transition:background .2s,color .2s}.nav-links .nav-cta:hover{background:var(--crimson);color:var(--bg)}.page-body{z-index:1;padding-top:var(--nav-h);min-height:100vh;position:relative}.blog-header-mark{object-fit:contain;opacity:.85;width:44px;height:44px;margin-bottom:1.25rem;display:block}.blog-header{border-bottom:1px solid var(--border);padding:3rem 0 2.5rem;position:relative}.blog-header:after{content:"";background:linear-gradient(90deg, transparent, var(--crimson-dim), transparent);opacity:.6;height:1px;position:absolute;bottom:0;left:0;right:0}.blog-header-eyebrow{letter-spacing:.22em;text-transform:uppercase;color:var(--crimson);align-items:center;gap:.6rem;margin-bottom:.6rem;font-size:.65rem;display:flex}.blog-header-eyebrow:before{content:"";background:var(--crimson);width:24px;height:1px;display:inline-block}.blog-header h1{letter-spacing:-.02em;margin-bottom:.6rem;padding-bottom:.08em;font-family:Syne,sans-serif;font-size:clamp(1.8rem,3.5vw,2.6rem);font-weight:800;line-height:1.16}.blog-header-sub{color:var(--text-dim);max-width:480px;font-size:.8rem;font-weight:300}.tag-filter{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:.5rem;padding:1.25rem 0;display:flex}.tag-pill{letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--border);color:var(--text-dim);cursor:pointer;background:0 0;border-radius:2px;padding:.22rem .65rem;font-family:JetBrains Mono,monospace;font-size:.6rem;transition:color .2s,border-color .2s,background .2s}.tag-pill:hover{color:var(--crimson);border-color:var(--crimson-dim)}.tag-pill.active{background:var(--crimson-glow2);color:var(--crimson);border-color:var(--crimson-dim)}.post-grid{background:var(--border);border:1px solid var(--border);grid-template-columns:repeat(2,1fr);gap:1px;margin:2rem 0;display:grid}.post-grid-empty{color:var(--text-dim);text-align:center;padding:3rem 0;font-size:.8rem}.post-card{background:var(--surface);color:inherit;flex-direction:column;gap:.85rem;padding:2rem;text-decoration:none;transition:background .2s;display:flex;position:relative;overflow:hidden}.post-card:before{content:"";background:linear-gradient(180deg, var(--crimson) 0%, var(--crimson-dim) 100%);width:3px;height:0;transition:height .3s;position:absolute;top:0;left:0}.post-card:hover{background:var(--bg2)}.post-card:hover:before{height:100%}.post-card-tags{flex-wrap:wrap;gap:.4rem;display:flex}.post-tag{letter-spacing:.12em;text-transform:uppercase;color:var(--crimson);font-size:.58rem}.post-tag+.post-tag:before{content:"·";color:var(--crimson-dim);margin-right:.4rem}.post-card-title{color:var(--text);letter-spacing:-.01em;padding-bottom:.04em;font-family:Syne,sans-serif;font-size:1.1rem;font-weight:700;line-height:1.3;transition:color .2s}.post-card:hover .post-card-title{color:var(--crimson)}.post-card-desc{color:var(--text-dim);flex:1;font-size:.78rem;font-weight:300;line-height:1.7}.post-card-meta{border-top:1px solid var(--border);align-items:center;gap:1rem;margin-top:auto;padding-top:1rem;display:flex}.post-card-date{letter-spacing:.1em;color:var(--text-dim);font-size:.62rem}.post-card-rt{color:var(--text-dim);margin-left:auto;font-size:.62rem}.post-card-arrow{color:var(--crimson-dim);font-size:.7rem;transition:color .2s,transform .2s}.post-card:hover .post-card-arrow{color:var(--crimson);transform:translate(3px)}.article-back{letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);align-items:center;gap:.4rem;padding:1.5rem 0 0;font-size:.68rem;text-decoration:none;transition:color .2s;display:inline-flex}.article-back:hover{color:var(--crimson)}.article-header{border-bottom:1px solid var(--border);padding:2rem 0 2.5rem;position:relative}.article-header:after{content:"";background:linear-gradient(90deg, var(--crimson-dim), transparent);opacity:.5;height:1px;position:absolute;bottom:0;left:0;right:0}.article-tags{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.article-tag{letter-spacing:.14em;text-transform:uppercase;color:var(--crimson);border:1px solid var(--crimson-dim);border-radius:2px;padding:.2rem .55rem;font-size:.6rem}.article-title{letter-spacing:-.02em;margin-bottom:1rem;padding-bottom:.06em;font-family:Syne,sans-serif;font-size:clamp(1.6rem,3vw,2.4rem);font-weight:800;line-height:1.18}.article-meta{color:var(--text-dim);letter-spacing:.08em;align-items:center;gap:1.5rem;font-size:.68rem;display:flex}.article-meta-sep{background:var(--border);width:1px;height:12px;display:inline-block}.article-body{color:var(--text-mid);padding:2.5rem 0 4rem;font-size:.9rem;font-weight:300;line-height:1.85}.article-body h1,.article-body h2,.article-body h3,.article-body h4{color:var(--text);letter-spacing:-.01em;margin:2.5rem 0 .75rem;font-family:Syne,sans-serif;font-weight:700}.article-body h1{font-size:1.5rem}.article-body h2{font-size:1.2rem}.article-body h3{font-size:1rem}.article-body p{margin-bottom:1.25rem}.article-body a{color:var(--crimson);text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:var(--crimson-dim);text-decoration-color:var(--crimson-dim);transition:text-decoration-color .2s}.article-body a:hover{-webkit-text-decoration-color:var(--crimson);text-decoration-color:var(--crimson)}.article-body ul,.article-body ol{flex-direction:column;gap:.4rem;margin-bottom:1.25rem;padding-left:1.5rem;display:flex}.article-body li{color:var(--text-dim)}.article-body blockquote{border-left:3px solid var(--crimson-dim);background:var(--crimson-glow2);color:var(--text-mid);border-radius:0 2px 2px 0;margin:1.5rem 0;padding:.5rem 1.25rem;font-style:italic}.article-body code{background:var(--surface);border:1px solid var(--border);color:var(--crimson);border-radius:2px;padding:.15rem .4rem;font-family:JetBrains Mono,monospace;font-size:.85em}.article-body pre{background:var(--surface);border:1px solid var(--border);border-radius:2px;margin-bottom:1.25rem;padding:1.25rem;overflow-x:auto}.article-body pre code{color:var(--text-mid);background:0 0;border:none;padding:0}.article-body hr{border:none;border-top:1px solid var(--border);margin:2rem 0}.article-body strong{color:var(--text);font-weight:500}footer{border-top:1px solid var(--border);z-index:1;padding:2rem 0;position:relative}.footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;max-width:1080px;margin:0 auto;padding:0 2rem;display:flex}.footer-mark{object-fit:contain;opacity:.7;flex-shrink:0;width:28px;height:28px}.footer-copy{color:var(--text-dim);letter-spacing:.08em;flex:1;padding:0 1rem;font-size:.65rem}.footer-copy span{color:var(--text-mid)}.footer-right{flex-direction:column;align-items:flex-end;gap:.2rem;display:flex}.footer-link{color:var(--text-dim);letter-spacing:.1em;font-size:.65rem;text-decoration:none;transition:color .2s}.footer-link:hover{color:var(--crimson)}.footer-motto{color:var(--text-dim);opacity:.55;letter-spacing:.06em;font-size:.6rem;font-style:italic}.adsense-placeholder{border:1px dashed var(--border);letter-spacing:.12em;text-transform:uppercase;width:100%;height:90px;color:var(--text-dim);opacity:.4;border-radius:2px;justify-content:center;align-items:center;margin:2rem 0;font-size:.6rem;display:flex}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.blog-header-eyebrow{animation:.5s both fadeUp}.blog-header h1{animation:.5s 80ms both fadeUp}.blog-header-sub{animation:.5s .16s both fadeUp}@media (width<=680px){.wrap,.wrap--narrow,.nav-inner,.footer-inner{padding:0 1rem}.post-grid{grid-template-columns:1fr}.post-card{padding:1.5rem}.blog-header{padding:2rem 0 1.75rem}.nav-links .nav-archive{display:none}.article-body{font-size:.85rem}}
