.blog-frame{position:relative;z-index:1;width:100%;max-width:860px;margin:0 auto;padding:30px clamp(16px,3vw,32px) 78px}.blog-rail{border:1px solid var(--reader-line);background:var(--reader-panel);padding:18px 16px}.blog-rail-label{margin:0 0 6px;color:var(--reader-green);font-family:var(--reader-code-font);font-size:11px;font-weight:800;letter-spacing:.16em;line-height:1;text-transform:uppercase}.blog-rail-list{margin:0;padding:0;list-style:none}.blog-rail-item{border-top:1px solid var(--reader-line-soft)}.blog-rail-item:first-child{border-top:0}.blog-rail-link{display:block;padding:12px 8px;margin:0 -8px;text-decoration:none;transition:background-color .16s ease}.blog-rail-link:hover{background:rgba(255,255,255,.04)}.blog-rail-link-active{background:var(--reader-green-soft);box-shadow:inset 2px 0 0 var(--reader-green)}.blog-rail-date{display:block;margin:0 0 5px;color:var(--reader-dim);font-family:var(--reader-code-font);font-size:10px;font-weight:700;letter-spacing:.1em;line-height:1;text-transform:uppercase}.blog-rail-title{display:block;color:var(--reader-text);font-family:var(--reader-body-font);font-size:15px;line-height:1.4;transition:color .16s ease}.blog-rail-link-active .blog-rail-title,.blog-rail-link:hover .blog-rail-title{color:var(--reader-ink)}.blog-rail-all{display:block;margin:14px -8px 0;padding:10px 8px 0;border-top:1px solid var(--reader-line);color:var(--reader-muted);font-family:var(--reader-code-font);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;transition:color .16s ease}.blog-rail-all:hover{color:var(--reader-green)}.blog-hero .reader-title{font-size:clamp(38px,5vw,64px);line-height:1.02}.blog-index-header{margin:26px 0 0;padding:0 0 30px;border-bottom:1px solid var(--reader-line)}.blog-eyebrow{display:block;margin:0 0 16px;color:var(--reader-green);font-family:var(--reader-code-font);font-size:12px;font-weight:800;letter-spacing:.18em;line-height:1;text-transform:uppercase}.blog-index-title{margin:0;font-family:var(--reader-heading-font);font-size:clamp(42px,5.4vw,72px);font-weight:400;line-height:.98;color:var(--reader-ink)}.blog-index-sub{margin:18px 0 0;max-width:56ch;color:var(--reader-muted);font-family:var(--reader-body-font);font-size:18px;line-height:1.6}.blog-list{margin:0;padding:0;list-style:none}.blog-list-item{border-bottom:1px solid var(--reader-line-soft)}.blog-card{display:block;padding:30px 0 32px;text-decoration:none;outline:none}.blog-card:focus-visible{box-shadow:0 0 0 2px var(--reader-bg),0 0 0 4px var(--reader-green)}.blog-card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 14px;color:var(--reader-muted);font-family:var(--reader-code-font);font-size:12px;font-weight:600;letter-spacing:.08em;line-height:1;text-transform:uppercase}.blog-card-category{color:var(--reader-green)}.blog-card-title{margin:0;font-family:var(--reader-heading-font);font-size:clamp(26px,3.2vw,40px);font-weight:400;line-height:1.08;color:var(--reader-ink);transition:color .18s cubic-bezier(.22,1,.36,1)}.blog-card:hover .blog-card-title{color:var(--reader-green)}.blog-card-excerpt{margin:12px 0 0;max-width:64ch;color:var(--reader-text);font-size:17px;line-height:1.62}.blog-card-excerpt,.blog-empty{font-family:var(--reader-body-font)}.blog-empty{margin:40px 0 0;color:var(--reader-muted);font-size:18px}.blog-post-footer{margin:60px 0 0;padding:26px 0 0;border-top:1px solid var(--reader-line);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}.blog-post-footer-author{color:var(--reader-ink);font-size:13px;letter-spacing:.08em}.blog-post-footer-author,.blog-post-footer-link{font-family:var(--reader-code-font);font-weight:700;text-transform:uppercase}.blog-post-footer-link{color:var(--reader-muted);font-size:12px;letter-spacing:.12em;text-decoration:none;transition:color .16s ease}.blog-post-footer-link:hover{color:var(--reader-green)}.blog-framework-cta{margin:40px 0 44px}.blog-framework-cta .reader-study-cta-content{padding-bottom:20px}.blog-framework-cta .reader-study-cta-title{font-size:clamp(32px,3.4vw,46px)!important}.blog-framework-footer{position:relative;display:grid;gap:12px;padding:0 20px 20px}.blog-framework-stack{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin:0;padding:0;list-style:none;border:1px solid rgba(255,157,66,.38);background:rgba(0,0,0,.42)}.blog-framework-layer{display:grid;gap:6px;min-width:0;padding:10px 12px 11px;border-right:1px solid rgba(255,157,66,.26)}.blog-framework-layer:last-child{border-right:0;background:rgba(255,157,66,.16)}.blog-framework-step{color:rgba(255,157,66,.62);font-family:var(--reader-code-font);font-size:10px;font-weight:800;letter-spacing:.14em;line-height:1}.blog-framework-layer code{color:#ffd2a6;font-family:var(--reader-code-font);font-size:12.5px;font-weight:700;line-height:1.25;overflow-wrap:anywhere}.blog-framework-layer:last-child code{color:#ff9d42}.blog-framework-deps{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;color:#bfb6aa;font-size:12px;letter-spacing:.04em}.blog-framework-deps,.blog-framework-deps code{font-family:var(--reader-code-font);font-weight:700}.blog-framework-deps code{padding:6px 10px;border:1px dashed rgba(255,157,66,.6);background:#070503;color:#f8f5f1;font-size:13px}.blog-framework-key{color:#ff9d42}@media (min-width:640px){.blog-framework-footer{padding:0 24px 24px}}@media (max-width:760px){.blog-framework-stack{grid-template-columns:repeat(2,minmax(0,1fr))}.blog-framework-layer{border-bottom:1px solid rgba(255,157,66,.26)}.blog-framework-layer:nth-child(2n){border-right:0}.blog-framework-layer:last-child{grid-column:1/-1;border-bottom:0}}@media (prefers-reduced-motion:no-preference){.blog-framework-cta .reader-study-cta-link{animation:blog-framework-glow 2.8s ease-in-out infinite}}@keyframes blog-framework-glow{0%,to{box-shadow:0 0 30px rgba(255,145,45,.32)}50%{box-shadow:0 0 46px rgba(255,145,45,.55)}}