.blog-shell{max-width:1200px}.blog-shell :is(a,summary,[tabindex]):focus-visible{outline:3px solid hsl(var(--ring));outline-offset:5px}.blog-index-header{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;padding-bottom:3rem}.blog-lede{max-width:65ch;color:hsl(var(--muted-foreground));font-size:clamp(1.05rem,2vw,1.25rem);line-height:1.7}.blog-list-label{display:flex;justify-content:space-between;gap:1rem;border-top:2px solid hsl(var(--border));padding:1.5rem 0;font-family:var(--x-mono,var(--font-mono)),monospace;font-size:.8rem}.blog-list-label h2{font:inherit}.blog-list-label span{color:hsl(var(--muted-foreground))}.blog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}.blog-card{display:flex;flex-direction:column;min-width:0;padding:clamp(1.25rem,3vw,2rem);background:hsl(var(--card));color:hsl(var(--card-foreground));border:1px solid hsl(var(--border));border-radius:var(--d-radius);box-shadow:var(--x-card-shadow,none)}.blog-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem 1.25rem;color:hsl(var(--muted-foreground));font-size:.8rem;line-height:1.6}.blog-category{display:inline-block;border:1px solid hsl(var(--border));padding:.25rem .65rem;color:hsl(var(--foreground));font-family:var(--x-mono,var(--font-mono)),monospace;font-size:.75rem}.blog-card h3{margin:1.75rem 0 1rem;font-family:var(--d-display);font-size:clamp(1.45rem,2.5vw,1.9rem);font-weight:650;line-height:1.25;overflow-wrap:anywhere}.blog-card h3 a{display:flex;align-items:flex-start;gap:1rem}.blog-card h3 svg{flex-shrink:0;margin-top:.3rem}.blog-card h3 a:hover{text-decoration:underline;text-underline-offset:.2em}.blog-card>p{line-height:1.8}.blog-card-foot,.blog-card>p{color:hsl(var(--muted-foreground))}.blog-card-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem;padding-top:2rem;margin-top:auto;font-size:.8rem}.blog-index-note{border-left:4px solid hsl(var(--brand-link,var(--primary)));margin-top:4rem;padding:.5rem 0 .5rem 1.5rem;max-width:65ch}.blog-index-note h2{font-size:1.4rem;font-weight:600}.blog-index-note p{margin:1rem 0;line-height:1.8;color:hsl(var(--muted-foreground))}.blog-article-footer,.blog-pagination{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-top:3rem;padding-top:2rem;border-top:1px solid hsl(var(--border))}.blog-pagination a{text-decoration:underline}.blog-article-header{max-width:950px;padding:2.5rem 0}.blog-article-header h1{margin:1.5rem 0;font-size:clamp(2rem,4.5vw,3.6rem);line-height:1.12;letter-spacing:-.035em;font-weight:650;overflow-wrap:anywhere}.blog-article-header .blog-lede{margin-bottom:1.5rem}.blog-tags{display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin-top:1.25rem;font-size:.75rem;color:hsl(var(--muted-foreground))}.blog-tags li:before{content:"#";opacity:.6}.blog-hero{width:100%;max-height:550px;-o-object-fit:contain;object-fit:contain;margin-bottom:3rem;border-radius:var(--d-radius)}.blog-article-grid{display:grid;grid-template-columns:235px minmax(0,1fr);gap:clamp(2rem,5vw,5rem);align-items:start;padding-top:2.5rem;border-top:2px solid hsl(var(--border))}.blog-toc{position:sticky;top:115px;font-size:.8rem;max-height:calc(100dvh - 140px);overflow-y:auto;padding:5px}.blog-toc summary{font-weight:700;cursor:pointer;margin-bottom:1rem}.blog-toc li+li{margin-top:.8rem}.blog-toc a{color:hsl(var(--muted-foreground));line-height:1.6}.blog-toc a:hover{color:hsl(var(--foreground));text-decoration:underline}.blog-prose{min-width:0;max-width:72ch;font-size:1.05rem;line-height:1.85;overflow-wrap:anywhere}.blog-prose>:first-child{margin-top:0}.blog-prose :is(p,ul,ol,blockquote,pre,table,figure,.blog-table){margin:1.5rem 0}.blog-prose :is(h2,h3,h4,h5,h6){line-height:1.3;font-weight:650;scroll-margin-top:115px;margin:2.75rem 0 1rem}.blog-prose h2{font-size:1.7rem}.blog-prose h3{font-size:1.35rem}.blog-prose :is(h4,h5,h6){font-size:1.1rem}.blog-prose a{color:hsl(var(--brand-link,var(--primary)));text-decoration:underline;text-underline-offset:.2em}.blog-prose a:hover{text-decoration-thickness:2px}.blog-prose ul{list-style:disc;padding-left:1.5rem}.blog-prose ol{list-style:decimal;padding-left:1.5rem}.blog-prose li{margin:.4rem 0}.blog-prose li :is(ul,ol,p){margin:.6rem 0}.blog-prose blockquote{border-left:4px solid hsl(var(--brand-link,var(--primary)));padding:.25rem 1.25rem;background:hsl(var(--secondary));color:hsl(var(--secondary-foreground))}.blog-prose blockquote p{margin:.75rem 0}.blog-prose code{font-family:var(--x-mono,var(--font-mono)),monospace;font-size:.85em;padding:.15rem .3rem;border-radius:3px}.blog-prose code,.blog-prose pre{background:hsl(var(--secondary));color:hsl(var(--secondary-foreground))}.blog-prose pre{max-width:100%;overflow-x:auto;padding:1.25rem;border:1px solid hsl(var(--border));border-radius:calc(var(--d-radius) / 2);line-height:1.7}.blog-prose pre code{background:transparent;padding:0;border-radius:0}.blog-table{max-width:100%;overflow-x:auto;border:1px solid hsl(var(--border));border-radius:calc(var(--d-radius) / 2)}.blog-prose table{width:100%;border-collapse:collapse;text-align:left;font-size:.9rem;margin:0}.blog-prose :is(th,td){padding:.8rem 1rem;border-bottom:1px solid hsl(var(--border));min-width:9rem;vertical-align:top}.blog-prose th{background:hsl(var(--secondary));color:hsl(var(--secondary-foreground));font-weight:700}.blog-prose tr:last-child td{border-bottom:0}.blog-prose img{display:block;max-width:100%;height:auto;border-radius:calc(var(--d-radius) / 2);margin:2rem auto}.blog-prose hr{margin:3rem 0;border-color:hsl(var(--border))}.blog-prose .contains-task-list{list-style:none;padding-left:0}.blog-prose input[type=checkbox]{margin-right:.5rem}.blog-prose .blog-chain{border:1px solid hsl(var(--border));border-radius:var(--d-radius);padding:1.25rem;background:hsl(var(--card))}.blog-chain figcaption{font-family:var(--x-mono,var(--font-mono)),monospace;font-size:.75rem;line-height:1.6;color:hsl(var(--muted-foreground))}.blog-prose .blog-chain ol{list-style:none;padding:0;margin:1rem 0 0}.blog-prose .blog-chain li{position:relative;padding:.75rem;border:1px solid hsl(var(--border));background:hsl(var(--secondary));color:hsl(var(--secondary-foreground));margin:0;text-align:center;font-size:.9rem;line-height:1.5}.blog-prose .blog-chain li+li{margin-top:1.75rem}.blog-chain li+li:before{content:"↓";position:absolute;top:-1.6rem;left:calc(50% - .5rem);width:1rem;color:hsl(var(--muted-foreground))}.blog-related{margin-top:3rem;padding:1.5rem}.blog-prose .blog-sources,.blog-related{border:1px solid hsl(var(--border));border-radius:var(--d-radius)}.blog-prose .blog-sources{padding:clamp(.75rem,2vw,1.25rem);background:hsl(var(--card))}.blog-sources figcaption{font-family:var(--x-mono,var(--font-mono)),monospace;color:hsl(var(--muted-foreground));font-size:.75rem;line-height:1.6}.blog-sources-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:center;gap:2.5rem;margin-top:1.25rem}.blog-prose .blog-sources ul{display:grid;gap:1rem;list-style:none;padding:0;margin:0}.blog-prose .blog-sources li{position:relative;margin:0;padding:.75rem;background:hsl(var(--secondary));color:hsl(var(--secondary-foreground));border:1px solid hsl(var(--border));font-size:.85rem;line-height:1.5}.blog-sources li span,.blog-sources li strong{display:block}.blog-sources li span{margin-top:.3rem;font-size:.8rem}.blog-sources li:after{content:"";position:absolute;top:50%;left:100%;width:1.25rem;border-top:2px solid hsl(var(--muted-foreground))}.blog-sources li:before{content:"";position:absolute;left:calc(100% + 1.25rem);top:calc(-.5rem - 1px);bottom:calc(-.5rem - 1px);border-left:2px solid hsl(var(--muted-foreground))}.blog-sources li:first-child:before{top:50%}.blog-sources li:last-child:before{bottom:50%}.blog-sources-target{position:relative;border:2px solid hsl(var(--brand-link,var(--primary)));border-radius:calc(var(--d-radius) / 2);padding:1.5rem .4rem;text-align:center;color:hsl(var(--foreground));font-family:var(--d-display);font-weight:700;font-size:clamp(.9rem,2vw,1.5rem)}.blog-sources-target:before{content:"";position:absolute;top:50%;right:100%;width:1.25rem;border-top:2px solid hsl(var(--muted-foreground))}.blog-sources-target:after{content:"";position:absolute;top:calc(50% - 4px);right:100%;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:7px solid hsl(var(--muted-foreground))}.blog-related h2{font-size:1.15rem;font-weight:600;margin-bottom:1rem}.blog-related a{display:block;text-decoration:underline;text-underline-offset:.2em;margin-top:.7rem}html[data-theme=brutal] .blog-card{border:2px solid hsl(var(--border));box-shadow:5px 5px 0 hsl(var(--border))}html[data-theme=brutal] .blog-category{background:hsl(var(--secondary))}@media (max-width:800px){.blog-index-header{flex-direction:column;align-items:flex-start}.blog-article-grid,.blog-grid{grid-template-columns:minmax(0,1fr)}.blog-article-grid{gap:2rem}.blog-toc{position:static;max-height:none;border-bottom:1px solid hsl(var(--border));padding-bottom:1.5rem}.blog-toc ol{-moz-columns:2;column-count:2;-moz-column-gap:1.5rem;column-gap:1.5rem}.blog-toc li{-moz-column-break-inside:avoid;break-inside:avoid}.blog-prose{font-size:1rem}}@media (max-width:420px){.blog-toc ol{-moz-columns:1;column-count:1}}