.blog-root{position:relative;width:100%;min-height:100%;background:#f4f4f0;color:#0a0e0c;overflow:hidden}.blog-hero{position:relative;z-index:4;padding:88px 56px 40px}.blog-hero>*{max-width:860px}.blog-eyebrow{font-family:var(--font-mono);font-size:12px;color:#49be8f;letter-spacing:.05em;display:block;margin-bottom:16px}.blog-h1{font-size:clamp(44px,6vw,80px);font-weight:800;line-height:1.02;letter-spacing:-.035em;margin:0;text-wrap:balance}.blog-lead{font-size:18px;line-height:1.6;color:#0a0e0cb8;margin-top:22px;max-width:640px;text-wrap:pretty}.blog-section{position:relative;z-index:4;padding:0 56px 80px}.blog-chips{display:flex;flex-wrap:wrap;gap:8px;margin:32px 0 0;max-width:none}.blog-chip{font-family:var(--font-mono);font-size:12px;letter-spacing:.02em;padding:7px 12px;border:1px solid rgba(10,14,12,.16);color:#0a0e0cb8;transition:border-color .2s,color .2s,background .2s}.blog-chip:hover{border-color:#49be8f;color:#0a0e0c}.blog-chip.is-active{background:#49be8f;border-color:#49be8f;color:#0a0e0c;font-weight:600}.blog-chip small{font-size:11px;color:#0a0e0c73;margin-left:6px}.blog-chip.is-active small{color:#0a0e0c99}.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#0a0e0c21;border:1px solid rgba(10,14,12,.13);margin-top:40px}.post-card{display:flex;flex-direction:column;min-height:100%}.post-card--lg{grid-column:span 2}.post-card-media{aspect-ratio:16 / 10;overflow:hidden;background:#0c1310;border-bottom:1px solid rgba(10,14,12,.13);position:relative}.post-card--lg .post-card-media{aspect-ratio:16 / 8}.post-card-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.2,.7,.2,1)}.post-card:hover .post-card-media img{transform:scale(1.03)}.post-card-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#f4f4f0;background-image:repeating-linear-gradient(45deg,rgba(73,190,143,.1) 0 12px,transparent 12px 24px);font-family:var(--font-mono);font-size:12px;color:#49be8f}.post-card-body{padding:22px 22px 24px;display:flex;flex-direction:column;gap:10px;flex:1}.post-card-cat{font-family:var(--font-mono);font-size:11px;color:#49be8f;letter-spacing:.05em}.post-card-title{font-size:19px;font-weight:700;letter-spacing:-.015em;line-height:1.25;margin:0;text-wrap:balance}.post-card--lg .post-card-title{font-size:28px}.post-card-excerpt{font-size:14px;line-height:1.55;color:#0a0e0c9e;margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.post-card-meta{font-family:var(--font-mono);font-size:11px;color:#0a0e0c73;margin-top:auto;padding-top:8px}.blog-pager{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:32px;font-family:var(--font-mono);font-size:12px;color:#0a0e0c99}.blog-pager a,.blog-pager .is-disabled{border:1px solid rgba(10,14,12,.16);padding:10px 16px;color:#0a0e0c;transition:border-color .2s}.blog-pager a:hover{border-color:#49be8f}.blog-pager .is-disabled{opacity:.35}.post-hero{position:relative;z-index:4;padding:72px 56px 40px}.post-hero>*{max-width:860px}.post-back{font-family:var(--font-mono);font-size:12px;color:#49be8f;letter-spacing:.05em;display:inline-block;margin-bottom:28px;transition:transform .2s ease}.post-back:hover{transform:translate(-4px)}.post-cats{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.post-h1{font-size:clamp(34px,4.6vw,58px);font-weight:800;line-height:1.06;letter-spacing:-.03em;margin:0;text-wrap:balance}.post-lead{font-size:21px;line-height:1.5;color:#0a0e0cb8;margin:24px 0 0;font-weight:500;text-wrap:pretty}.post-meta{font-family:var(--font-mono);font-size:12px;color:#0a0e0c80;margin-top:26px;letter-spacing:.02em;display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center}.post-cover{position:relative;z-index:4;padding:0 56px;margin-top:8px}.post-cover figure{margin:0;max-width:980px;border:1px solid rgba(10,14,12,.13);background:#0c1310}.post-cover img{display:block;width:100%;height:auto}.post-main{position:relative;z-index:4;padding:40px 56px 72px}.post-body{max-width:720px;font-size:17px;line-height:1.7;color:#0a0e0cdb}.post-body p{margin:0 0 1.3em;text-wrap:pretty}.post-body h2{font-size:30px;font-weight:700;letter-spacing:-.02em;line-height:1.15;margin:2.2em 0 .6em;text-wrap:balance}.post-body h3{font-size:22px;font-weight:700;letter-spacing:-.015em;line-height:1.25;margin:1.8em 0 .5em}.post-body h4{font-size:17px;font-weight:700;margin:1.6em 0 .4em}.post-body>:first-child{margin-top:0}.post-body a{color:#0a0e0c;text-decoration:underline;text-decoration-color:#49be8f;text-decoration-thickness:1.5px;text-underline-offset:3px;transition:color .15s}.post-body a:hover{color:#49be8f}.post-body ul,.post-body ol{padding-left:24px;margin:0 0 1.3em}.post-body li{margin:.35em 0;padding-left:4px}.post-body li::marker{color:#49be8f}.post-body ul ul,.post-body ol ol,.post-body ul ol,.post-body ol ul{margin:.3em 0 0}.post-body blockquote{margin:1.8em 0;padding:4px 0 4px 22px;border-left:2px solid #49BE8F;font-size:20px;line-height:1.5;color:#0a0e0cb3}.post-body blockquote p{margin:0}.post-body code{font-family:var(--font-mono);font-size:.88em;background:#0a0e0c0f;padding:2px 6px}.pt-figure{margin:2em 0}.pt-figure img{display:block;width:100%;height:auto;border:1px solid rgba(10,14,12,.13);background:#fff}.pt-figure figcaption{font-family:var(--font-mono);font-size:11.5px;color:#0a0e0c80;margin-top:10px}.pt-embed{position:relative;aspect-ratio:16 / 9;margin:2em 0;border:1px solid rgba(10,14,12,.13);background:#0c1310}.pt-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.pt-table{margin:2em 0;overflow-x:auto;border:1px solid rgba(10,14,12,.13)}.pt-table table{border-collapse:collapse;width:100%;font-size:14px;line-height:1.5}.pt-table th{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.03em;text-align:left;background:#49be8f1a;padding:10px 14px;border-bottom:1px solid rgba(10,14,12,.13)}.pt-table td{padding:10px 14px;border-bottom:1px solid rgba(10,14,12,.08);vertical-align:top}.pt-table tr:last-child td{border-bottom:0}.pt-table p{margin:0}.pt-table-caption{font-family:var(--font-mono);font-size:11.5px;color:#0a0e0c80;margin:0;padding:10px 14px}.post-foot{max-width:860px;margin-top:56px;display:grid;gap:28px}.post-author{display:flex;align-items:center;gap:16px;padding:20px 0;border-top:1px solid rgba(10,14,12,.13);border-bottom:1px solid rgba(10,14,12,.13)}.post-author-photo{width:56px;height:56px;object-fit:cover;border:1px solid rgba(10,14,12,.13);flex:none}.post-author-mark{width:56px;height:56px;flex:none;display:flex;align-items:center;justify-content:center;border:1px solid rgba(10,14,12,.13);background-image:repeating-linear-gradient(45deg,rgba(73,190,143,.1) 0 8px,transparent 8px 16px);font-family:var(--font-mono);font-size:12px;color:#49be8f}.post-author-name{font-weight:700;font-size:15px}.post-author-role{font-family:var(--font-mono);font-size:11px;color:#49be8f;margin-top:3px}.post-skills-tag{font-family:var(--font-mono);font-size:12px;color:#49be8f;letter-spacing:.05em;display:block;margin-bottom:12px}.post-skills{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#0a0e0c21;border:1px solid rgba(10,14,12,.13)}.post-skill{padding:20px;display:flex;flex-direction:column;gap:8px}.post-skill-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.post-skill-name{font-size:15px;font-weight:700;letter-spacing:-.01em}.post-skill-arrow{color:#0a0e0c59;transition:transform .2s,color .2s}.post-skill:hover .post-skill-arrow{color:#49be8f;transform:translate(4px)}.post-skill-tag{font-family:var(--font-mono);font-size:11px;color:#0a0e0c99;margin:0;line-height:1.5}.blog-related{position:relative;z-index:4;padding:0 56px 80px}.blog-related .section-tag{font-family:var(--font-mono);font-size:12px;color:#49be8f;display:block;margin-bottom:14px;letter-spacing:.05em}.blog-related .h2{font-size:36px;line-height:1.08;margin:0 0 32px;font-weight:700;letter-spacing:-.025em}.blog-related .blog-grid{margin-top:0}@media(max-width:1024px){.blog-hero,.post-hero{padding:64px 32px 32px}.blog-section,.blog-related{padding:0 32px 64px}.post-cover{padding:0 32px}.post-main{padding:32px 32px 56px}.blog-grid{grid-template-columns:repeat(2,1fr)}.post-skills{grid-template-columns:1fr}}@media(max-width:768px){.blog-hero,.post-hero{padding:40px 24px 24px}.blog-section,.blog-related{padding:0 24px 48px}.post-cover{padding:0 24px}.post-main{padding:28px 24px 48px}.blog-grid{grid-template-columns:1fr}.post-card--lg{grid-column:auto}.post-card--lg .post-card-media{aspect-ratio:16 / 10}.post-card--lg .post-card-title{font-size:20px}.post-body{font-size:16px}.post-body h2{font-size:26px}.post-lead{font-size:18px}.blog-related .h2{font-size:28px}}
