.blog-shell{background:var(--paper);min-height:100vh;color:var(--ink)}.blog-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:76px;padding:0 clamp(20px,5vw,72px);display:flex}.blog-header nav{font:500 .7rem/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;gap:clamp(18px,3vw,38px);display:flex}.blog-header nav a:hover,.blog-footer a:hover{color:var(--accent)}.blog-main{width:min(1120px,100% - 40px);margin:0 auto;padding:30px 0 100px}.breadcrumbs{color:var(--muted);font:500 .66rem/1.5 var(--font-mono);margin-bottom:62px}.breadcrumbs ol{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.breadcrumbs li:not(:last-child):after{content:"/";color:#aaa;margin-left:8px}.breadcrumbs a:hover{color:var(--ink)}.blog-hero,.archive-heading{border-bottom:1px solid var(--line);padding:0 0 58px}.blog-hero>p:first-child,.archive-heading>p:first-child{font:500 .68rem/1 var(--font-mono);letter-spacing:.13em}.blog-hero h1,.archive-heading h1{letter-spacing:-.075em;margin:13px 0 16px;font-size:clamp(4rem,10vw,7.3rem);line-height:.9}.blog-hero>p:last-child,.archive-heading>p:last-child{max-width:600px;color:var(--muted);line-height:1.8}.blog-filters{border:0;border-bottom:1px solid var(--line);grid-template-columns:repeat(2,minmax(180px,260px)) 1fr auto;align-items:end;gap:18px;margin:0;padding:30px 0;display:grid}.blog-filters legend{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.blog-filters label{font:500 .65rem/1 var(--font-mono);letter-spacing:.08em;gap:8px;display:grid}.blog-filters select,.blog-filters button{border:1px solid var(--line-strong);background:var(--paper);min-height:42px;color:var(--ink);font:inherit;border-radius:0;padding:0 12px}.blog-filters button{cursor:pointer}.blog-filters p{color:var(--muted);font:500 .65rem/1 var(--font-mono);margin:0 0 12px}.blog-list{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.blog-card{border-bottom:1px solid var(--line);min-height:310px;padding:34px 34px 30px 0}.blog-card:nth-child(odd){border-right:1px solid var(--line);padding-right:42px}.blog-card:nth-child(2n){padding-left:42px}.blog-card-meta{color:var(--muted);font:500 .62rem/1 var(--font-mono);text-transform:uppercase;gap:16px;display:flex}.blog-card h2{letter-spacing:-.045em;margin:42px 0 14px;font-size:clamp(1.65rem,3vw,2.4rem);line-height:1.15}.blog-card h2 a:hover{color:var(--accent)}.blog-card>p{color:var(--muted);font-size:.9rem;line-height:1.8}.blog-card ul,.blog-article header ul{font:500 .64rem/1 var(--font-mono);flex-wrap:wrap;gap:8px;padding:0;list-style:none;display:flex}.blog-card li a,.blog-article header li a{border:1px solid var(--line);padding:8px 10px;display:block}.blog-empty{text-align:center;color:var(--muted);padding:80px 0}.archive-heading{margin-bottom:0}.blog-article{width:min(780px,100%);margin:0 auto}.blog-article>header{border-bottom:1px solid var(--line);padding:12px 0 54px}.article-category{font:600 .68rem/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase}.blog-article h1{letter-spacing:-.06em;margin:24px 0;font-size:clamp(2.7rem,7vw,5.2rem);line-height:1.05}.article-description{color:var(--muted);font-size:1.05rem;line-height:1.85}.article-dates{color:var(--muted);font:500 .63rem/1 var(--font-mono);gap:20px;margin:28px 0 20px;display:flex}.article-toc{border:1px solid var(--line);margin-top:42px;padding:26px 28px}.article-toc>p,.floating-toc header p{font:600 .64rem/1 var(--font-mono);letter-spacing:.11em;margin:0 0 18px}.article-toc ol,.floating-toc ol{counter-reset:toc;gap:10px;margin:0;padding:0;list-style:none;display:grid}.article-toc li,.floating-toc li{counter-increment:toc}.article-toc li a,.floating-toc li a{color:var(--muted);grid-template-columns:2.3em 1fr;gap:8px;font-size:.82rem;line-height:1.55;display:grid}.article-toc li a:before,.floating-toc li a:before{content:counter(toc, decimal-leading-zero);color:#aaa;font:500 .6rem/1.8 var(--font-mono)}.article-toc li a:hover,.floating-toc li a:hover{color:var(--ink)}.article-toc .toc-level-3,.floating-toc .toc-level-3{padding-left:24px}.article-body{padding-top:58px;font-size:1rem;line-height:2}.article-body h2{border-bottom:1px solid var(--line);letter-spacing:-.035em;margin:3.2em 0 1em;padding-bottom:.45em;scroll-margin-top:24px;font-size:clamp(1.7rem,4vw,2.25rem);line-height:1.3}.article-body h3{margin:2.4em 0 .8em;scroll-margin-top:24px;font-size:1.35rem}.article-body p,.article-body ul,.article-body ol{margin:1.2em 0}.article-body a{color:var(--accent);text-underline-offset:3px;text-decoration:underline}.article-body figure[data-rehype-pretty-code-figure]{margin:2em 0}.article-body pre{font:.82rem/1.75 var(--font-mono);border:1px solid #343434;padding:22px;overflow-x:auto}.article-body code:not(pre code){font:.88em var(--font-mono);background:#eceae4;padding:.18em .4em}.article-return{border-top:1px solid var(--line);margin-top:72px;padding-top:32px}.article-return a{border:1px solid var(--line-strong);min-height:44px;font:600 .68rem/1 var(--font-mono);letter-spacing:.06em;align-items:center;gap:10px;padding:0 18px;display:inline-flex}.article-return a:hover{background:var(--ink);color:var(--paper)}.article-floating-actions{z-index:30;gap:8px;display:flex;position:fixed;bottom:clamp(16px,3vw,36px);right:clamp(16px,3vw,42px)}.article-floating-actions button{border:1px solid var(--ink);background:var(--paper);width:48px;height:48px;color:var(--ink);cursor:pointer;font:600 .68rem/1 var(--font-mono);box-shadow:0 8px 24px #0000001a}.article-floating-actions button:hover,.article-floating-actions button[aria-expanded=true]{background:var(--ink);color:var(--paper)}.floating-toc{z-index:29;overscroll-behavior:contain;border:1px solid var(--ink);background:var(--paper);width:min(50vw,520px);max-width:calc(100vw - 32px);max-height:55vh;padding:26px;position:fixed;bottom:clamp(76px,8vw,98px);right:clamp(16px,3vw,42px);overflow-y:auto;box-shadow:0 18px 60px #0000002e}.floating-toc header{border-bottom:1px solid var(--line);background:var(--paper);justify-content:space-between;align-items:center;margin:-26px -26px 20px;padding:20px 26px;display:flex;position:sticky;top:-26px}.floating-toc header p{margin:0}.floating-toc header button{width:32px;height:32px;color:var(--ink);cursor:pointer;background:0 0;border:0;font-size:1.25rem}.blog-footer{border-top:1px solid var(--line);min-height:100px;color:var(--muted);font:500 .64rem/1 var(--font-mono);justify-content:space-between;align-items:center;padding:0 clamp(20px,5vw,72px);display:flex}@media (max-width:760px){.blog-header{align-items:flex-start;padding-top:20px;padding-bottom:20px}.blog-header nav{flex-wrap:wrap;justify-content:flex-end;gap:14px 18px}.blog-main{width:min(100% - 28px,1120px);padding-top:22px}.breadcrumbs{margin-bottom:38px}.blog-filters{grid-template-columns:1fr;align-items:stretch}.blog-filters p{margin:4px 0 0}.blog-list{grid-template-columns:1fr}.blog-card,.blog-card:nth-child(odd),.blog-card:nth-child(2n){border-right:0;min-height:auto;padding:32px 0}.blog-card h2{margin-top:28px}.article-toc{padding:22px 18px}.floating-toc{width:calc(100vw - 28px);max-height:52vh}.blog-footer{flex-direction:row;justify-content:space-between;align-items:center;gap:20px;min-height:80px;padding:20px;line-height:1.6}}@media (max-width:420px){.blog-footer{flex-direction:column;justify-content:center;align-items:flex-start;gap:10px;min-height:auto;padding:22px 14px}}@media (prefers-reduced-motion:reduce){.article-body h2,.article-body h3{scroll-behavior:auto}}
