.blog-page{--blog-bg:#111215;--blog-bg-raised:#14161a;--blog-surface:#181a1f;--blog-border:#2e323b;--blog-border-soft:#272a32;--blog-fg:#f4f4f5;--blog-fg-soft:#d4d4d8;--blog-fg-muted:#a1a1aa;--blog-accent:#ff7a00;--blog-accent-hover:#ff9429;--blog-accent-soft:#fb923c;--blog-mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;background-color:var(--blog-bg);width:100%;min-height:calc(100vh - 8rem);color:var(--blog-fg);background-image:linear-gradient(90deg,#ff7a0009 1px,#0000 1px),linear-gradient(#ff7a0009 1px,#0000 1px);background-size:2.25rem 2.25rem;padding:clamp(2rem,5vw,4rem) 1rem 6rem;font-family:Outfit,Segoe UI,system-ui,-apple-system,sans-serif;position:relative}.blog-page-inner{max-width:80rem;margin:0 auto}.blog-header{border:2px solid var(--blog-border);background-color:var(--blog-bg-raised);margin-bottom:3rem;box-shadow:0 20px 40px #00000073}.blog-header-top,.blog-article-nameplate{border-bottom:2px solid var(--blog-border);background-color:#181a20;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.7rem 1.25rem;display:flex}.blog-header-chip{background-color:var(--blog-accent);color:#09090b;font-family:var(--blog-mono);letter-spacing:.05em;text-transform:uppercase;padding:.2rem .6rem;font-size:.75rem;font-weight:800}.blog-header-norm{font-family:var(--blog-mono);color:var(--blog-fg-muted);font-size:.75rem}.blog-header-body{border-left:4px solid var(--blog-accent);padding:clamp(1.5rem,3.5vw,2.5rem)}.blog-header h1{letter-spacing:-.025em;color:#fff;margin:0 0 .75rem;font-size:clamp(2rem,4vw,3rem);font-weight:800}.blog-header-lead{color:var(--blog-fg-soft);max-width:48rem;margin:0 0 1rem;font-size:clamp(1rem,1.2vw,1.15rem);line-height:1.6}.blog-disclaimer{color:var(--blog-fg-muted);border-top:1px solid var(--blog-border-soft);max-width:52rem;margin:0;padding-top:.85rem;font-size:.8125rem;line-height:1.6}.blog-disclaimer strong{color:var(--blog-accent-soft)}.blog-grid{grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:1.5rem;display:grid}.blog-card{background-color:var(--blog-bg-raised);border:2px solid var(--blog-border);flex-direction:column;transition:transform .2s,border-color .2s,background-color .2s;display:flex}@media (hover:hover){.blog-card:hover{background-color:var(--blog-surface);border-color:var(--blog-accent);transform:translateY(-3px)}}.blog-card-top{border-bottom:1px solid var(--blog-border-soft);background-color:#181a20;justify-content:space-between;align-items:center;gap:.5rem;padding:.65rem 1.25rem;display:flex}.blog-card-code{font-family:var(--blog-mono);color:var(--blog-fg-muted);letter-spacing:.06em;font-size:.6875rem;font-weight:700}.blog-card-date{font-family:var(--blog-mono);color:var(--blog-accent-soft);font-size:.6875rem}.blog-card-content{flex-direction:column;flex-grow:1;padding:1.5rem 1.25rem;display:flex}.blog-card-tags{flex-wrap:wrap;gap:.4rem;margin-bottom:.9rem;display:flex}.blog-tag{font-family:var(--blog-mono);letter-spacing:.05em;text-transform:uppercase;color:#fdba74;background-color:#ff7a001f;border:1px solid #ff7a0059;padding:.15rem .5rem;font-size:.6875rem;font-weight:700}.blog-card h2{margin:0 0 .75rem;font-size:1.15rem;font-weight:800;line-height:1.4}.blog-card h2 a{color:var(--blog-fg);text-decoration:none;transition:color .15s}@media (hover:hover){.blog-card h2 a:hover{color:var(--blog-accent-soft)}}.blog-excerpt{color:var(--blog-fg-muted);margin:0 0 1.25rem;font-size:.875rem;line-height:1.6}.blog-meta{font-family:var(--blog-mono);color:var(--blog-fg-muted);border-top:1px solid var(--blog-border-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-top:auto;padding-top:.85rem;font-size:.75rem;display:flex}.blog-card-footer{border-top:1px solid var(--blog-border);background-color:#111215;padding:.9rem 1.25rem}.blog-read-more{font-family:var(--blog-mono);color:var(--blog-accent-soft);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:.45rem;font-size:.75rem;font-weight:700;text-decoration:none;transition:color .15s;display:inline-flex}.blog-read-more svg{width:.9rem;height:.9rem;transition:transform .2s}.blog-read-more:hover{color:var(--blog-accent-hover)}@media (hover:hover){.blog-card:hover .blog-read-more svg{transform:translate(3px)}}.blog-article-container{max-width:56rem;margin:0 auto}.blog-breadcrumb{font-family:var(--blog-mono);color:var(--blog-fg-muted);background-color:var(--blog-bg-raised);border:1px solid var(--blog-border);flex-wrap:wrap;align-items:center;gap:.45rem;margin-bottom:1rem;padding:.6rem .9rem;font-size:.75rem;display:flex}.blog-breadcrumb a{color:var(--blog-fg-soft);text-decoration:none}.blog-breadcrumb a:hover{color:var(--blog-accent-soft);text-decoration:underline}.blog-breadcrumb-sep{color:var(--blog-accent);-webkit-user-select:none;user-select:none}.blog-breadcrumb-current{color:var(--blog-fg);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-weight:600;display:-webkit-box;overflow:hidden}.blog-back-link{font-family:var(--blog-mono);text-transform:uppercase;letter-spacing:.04em;color:var(--blog-fg-soft);background-color:var(--blog-bg-raised);border:2px solid var(--blog-border);align-items:center;gap:.5rem;margin-bottom:1.75rem;padding:.55rem 1rem;font-size:.75rem;font-weight:700;text-decoration:none;transition:border-color .2s,color .2s,background-color .2s;display:inline-flex}.blog-back-link svg{width:.95rem;height:.95rem;color:var(--blog-accent)}.blog-back-link:hover{color:#09090b;background-color:var(--blog-accent);border-color:var(--blog-accent)}.blog-back-link:hover svg{color:#09090b}.blog-article{background-color:var(--blog-bg-raised);border:2px solid var(--blog-border);box-shadow:0 24px 48px #00000080}.blog-article-header{border-bottom:2px solid var(--blog-border);text-align:left;background-color:#16181d;padding:clamp(1.5rem,4vw,2.75rem)}.blog-article-header .blog-article-tags{flex-wrap:wrap;gap:.45rem;margin-bottom:1rem;display:flex}.blog-article-header h1{color:#fff;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;margin:0 0 1.25rem;font-size:clamp(1.65rem,4vw,2.35rem);font-weight:800;line-height:1.25}.blog-article-header .blog-meta{border-top:1px solid var(--blog-border-soft);justify-content:flex-start;gap:1.5rem;padding-top:.9rem}.blog-article-byline{font-size:.8125rem}.blog-article-byline a{color:var(--blog-accent-soft);text-underline-offset:2px;text-decoration:underline}.blog-article-byline a:hover{color:var(--blog-accent-hover)}.blog-article-body{color:var(--blog-fg-soft);overflow-wrap:break-word;padding:clamp(1.5rem,4vw,2.75rem);font-size:1.05rem;line-height:1.8}.blog-article-body h2{color:#fff;border-left:4px solid var(--blog-accent);margin:2.5rem 0 1rem;padding-left:.85rem;font-size:clamp(1.35rem,2.5vw,1.65rem);font-weight:800;line-height:1.3}.blog-article-body h2:first-child{margin-top:0}.blog-article-body h3{color:#fff;margin:2rem 0 .85rem;font-size:1.25rem;font-weight:700}.blog-article-body h4{color:var(--blog-accent-soft);margin:1.5rem 0 .65rem;font-size:1.05rem;font-weight:700}.blog-article-body p{margin:0 0 1.35rem}.blog-article-body ul,.blog-article-body ol{margin:0 0 1.5rem;padding-left:1.5rem}.blog-article-body li{margin-bottom:.5rem}.blog-article-body li::marker{color:var(--blog-accent)}.blog-article-body strong{color:#fff;font-weight:700}.blog-article-body a{color:var(--blog-accent-soft);text-underline-offset:3px;font-weight:600;text-decoration:underline}.blog-article-body a:hover{color:var(--blog-accent-hover)}.blog-article-body code{font-family:var(--blog-mono);color:#fdba74;border:1px solid var(--blog-border);background-color:#1c1f26;padding:.15rem .4rem;font-size:.88em}.blog-figure{border:2px solid var(--blog-border);background-color:#111215;margin:2rem 0;padding:.75rem}.blog-figure img{border:1px solid var(--blog-border-soft);width:100%;height:auto;display:block}.blog-figure figcaption{font-family:var(--blog-mono);color:var(--blog-fg-muted);text-align:center;margin-top:.65rem;font-size:.75rem}.blog-table-wrap{border:2px solid var(--blog-border);background-color:#111215;margin:2rem 0;overflow-x:auto}.blog-article-body table{border-collapse:collapse;width:100%;font-size:.925rem}.blog-article-body th,.blog-article-body td{text-align:left;border-bottom:1px solid var(--blog-border-soft);padding:.75rem 1rem}.blog-article-body thead th{color:var(--blog-accent-soft);font-family:var(--blog-mono);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;border-bottom:2px solid var(--blog-border);background-color:#181a20;font-size:.75rem;font-weight:700}.blog-article-body tbody tr:hover{background-color:#ff7a000a}.blog-article-body tbody tr:last-child td{border-bottom:none}.blog-article-body blockquote{border-left:4px solid var(--blog-accent);border-top:1px solid var(--blog-border-soft);border-right:1px solid var(--blog-border-soft);border-bottom:1px solid var(--blog-border-soft);color:var(--blog-fg-soft);background-color:#111215;margin:1.75rem 0;padding:1rem 1.25rem;font-style:normal}.blog-related{border-top:2px solid var(--blog-border);margin-top:3.5rem;padding-top:2.5rem}.blog-related-title{color:#fff;border-left:4px solid var(--blog-accent);margin:0 0 1.5rem;padding-left:.85rem;font-size:1.35rem;font-weight:800}.blog-related-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.25rem;display:grid}.blog-related-card{background-color:var(--blog-bg-raised);border:2px solid var(--blog-border);flex-direction:column;gap:.65rem;padding:1.35rem;text-decoration:none;transition:transform .2s,border-color .2s,background-color .2s;display:flex}@media (hover:hover){.blog-related-card:hover{background-color:var(--blog-surface);border-color:var(--blog-accent);transform:translateY(-2px)}}.blog-related-card-tags{flex-wrap:wrap;gap:.4rem;display:flex}.blog-related-card-title{color:var(--blog-fg);margin:0;font-size:1rem;font-weight:800;line-height:1.4}@media (hover:hover){.blog-related-card:hover .blog-related-card-title{color:var(--blog-accent-soft)}}.blog-related-card-excerpt{color:var(--blog-fg-muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:.825rem;line-height:1.55;display:-webkit-box;overflow:hidden}.blog-related-card-cta{font-family:var(--blog-mono);text-transform:uppercase;letter-spacing:.04em;color:var(--blog-accent-soft);align-items:center;gap:.4rem;margin-top:auto;padding-top:.5rem;font-size:.75rem;font-weight:700;display:inline-flex}.blog-related-card-cta svg{width:.875rem;height:.875rem;transition:transform .2s}@media (hover:hover){.blog-related-card:hover .blog-related-card-cta svg{transform:translate(3px)}}
