.blog-page{margin:0;color:var(--ink);background:var(--bg);background-image:var(--texture-paper);font-family:var(--font-sans);font-size:var(--type-body-size);line-height:var(--type-body-lh);-webkit-font-smoothing:antialiased}.blog-page *,.blog-page *:before,.blog-page *:after{box-sizing:border-box}.blog-page [hidden]{display:none!important}.blog-page a{color:var(--accent-text);text-underline-offset:4px}.blog-page a:hover{text-decoration-thickness:2px}.blog-page :focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset);box-shadow:0 0 0 6px var(--focus-halo)}.blog-page h1,.blog-page h2,.blog-page h3{color:var(--ink);font-family:var(--font-sans);font-weight:700;line-height:1.3;letter-spacing:-.02em;overflow-wrap:anywhere}.blog-page h1{margin:12px 0 20px;font-size:clamp(1.75rem,3.5vw,2.5rem)}.blog-page h2{font-size:1.5rem}.blog-page h3{font-size:1.25rem}.blog-page button,.blog-page textarea{font:inherit}.blog-page img{max-width:100%;height:auto}.blog-header{border-bottom:var(--bw) solid var(--line);background:var(--card);padding:16px max(24px,calc((100vw - var(--layout-site)) / 2));display:flex;align-items:center;justify-content:space-between;gap:24px}.blog-brand{display:inline-flex;align-items:center;gap:12px;color:var(--ink);font-weight:800;text-decoration:none}.blog-brand img{width:32px;height:32px;image-rendering:pixelated}.blog-nav{display:flex;align-items:center;gap:24px}.blog-nav a{font-weight:600;text-decoration:none}.blog-nav details{position:relative}.blog-nav summary{cursor:pointer;padding:8px}.blog-nav details nav{display:grid;gap:16px;padding:16px;background:var(--card);border:var(--bw) solid var(--line)}.blog-nav details[open] nav{position:absolute;z-index:1;right:0;min-width:180px;box-shadow:var(--elevation-sm)}.blog-main{max-width:calc(var(--layout-site) + 48px);margin:0 auto;padding:48px 24px 64px}.blog-eyebrow{color:var(--accent-text);font-family:var(--font-display);font-size:16px;text-transform:uppercase;-webkit-font-smoothing:none}.blog-summary{color:var(--ink-2);font-size:1.125rem;max-width:48rem;overflow-wrap:anywhere}.blog-meta{color:var(--ink-2);font-size:var(--type-small-size);display:flex;flex-wrap:wrap;gap:8px 20px}.blog-meta time{font-variant-numeric:tabular-nums}.blog-list{margin:32px 0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.blog-card{padding:24px;background:var(--card);border:var(--bw) solid var(--line);border-radius:var(--r-md);box-shadow:var(--elevation-sm);min-width:0}.blog-card h2{margin:12px 0}.blog-card h2 a{color:var(--ink)}.blog-card>a>img{display:block;width:100%;aspect-ratio:1.91;object-fit:cover;border:var(--bw) solid var(--line)}.blog-card p{color:var(--ink-2);overflow-wrap:anywhere}.blog-pagination{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:32px}.blog-pagination a,.blog-pagination [aria-current]{padding:8px 14px;border:var(--bw) solid var(--line);background:var(--card)}.blog-pagination [aria-current]{background:var(--accent-soft);font-weight:700}.blog-empty{padding:32px;margin-top:32px;background:var(--card);border:var(--bw) solid var(--line)}.blog-article{max-width:52rem;margin:0 auto;min-width:0}.blog-article-header{padding-bottom:32px;border-bottom:var(--bw) solid var(--line);margin-bottom:32px}.blog-article-header>img{display:block;width:100%;margin-top:24px;border:var(--bw) solid var(--line)}.blog-cover{display:block;width:100%;margin:24px 0;border:var(--bw) solid var(--line)}.blog-prose{overflow-wrap:anywhere}.blog-prose h2,.blog-prose h3{margin-top:40px;scroll-margin-top:24px}.blog-prose p,.blog-prose ul,.blog-prose ol{margin:20px 0}.blog-prose li{margin:8px 0}.blog-prose blockquote{margin:24px 0;padding:8px 24px;border-left:4px solid var(--accent);background:var(--paper-2)}.blog-prose figure{margin:24px 0}.blog-prose img{border:var(--bw) solid var(--line)}.blog-prose code{font-family:var(--font-mono);font-size:.875em}.blog-prose :not(pre)>code{background:var(--paper-2);padding:2px 6px;overflow-wrap:anywhere}.blog-prose pre{margin:24px 0 0;padding:20px;background:var(--card);color:var(--code-plain);border:var(--bw) solid var(--line);max-width:100%;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;tab-size:2}.blog-prose pre code{display:block;font-size:var(--type-code-size);line-height:var(--type-code-lh)}@media(min-width:768px){.blog-prose pre:has(>code.language-bash),.blog-prose pre:has(>code.language-shell),.blog-prose pre:has(>code.language-sh),.blog-prose pre:has(>code.language-curl){white-space:pre}}.blog-prose table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse;margin:24px 0}.blog-table-scroll{max-width:100%;overflow-x:auto;margin:24px 0}.blog-prose th,.blog-prose td{text-align:left;vertical-align:top;padding:12px 16px;border:1px solid var(--line-2);min-width:140px}.blog-prose th{background:var(--paper-2);font-weight:700}.blog-prose hr{border:0;border-top:var(--bw) solid var(--line);margin:32px 0}.blog-button,.blog-share-x{display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;min-height:44px;border:var(--bw) solid var(--line);border-radius:var(--r-sm);background:var(--card);color:var(--ink);font-weight:600;cursor:pointer;text-decoration:none;box-shadow:var(--elevation-sm)}.blog-button:hover,.blog-share-x:hover{background:var(--accent-soft)}.blog-button:active,.blog-share-x:active{transform:var(--elevation-press-delta);box-shadow:none}.blog-share{margin-top:40px;padding-top:32px;border-top:var(--bw) solid var(--line);display:flex;flex-wrap:wrap;gap:16px;align-items:center}.blog-share h2,.blog-share p{flex-basis:100%;margin:0}.blog-share-x{background:var(--accent);color:var(--on-accent)!important}.blog-share-x:hover{background:var(--accent-hover)}.blog-share textarea,.blog-copy-fallback{display:block;width:100%;padding:12px;border:var(--bw) solid var(--line);background:var(--card);color:var(--ink);min-height:140px;resize:vertical;font-family:var(--font-mono);font-size:var(--type-small-size)}.blog-copy-status{color:var(--ink-2);font-size:var(--type-small-size)}.blog-code-tools{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:8px 0 24px}.blog-footer{padding:32px max(24px,calc((100vw - var(--layout-site)) / 2));border-top:var(--bw) solid var(--line);background:var(--paper-2);display:flex;gap:24px;flex-wrap:wrap;align-items:center}.blog-footer nav{display:flex;gap:20px;flex-wrap:wrap}.blog-draft{margin:0 0 32px;padding:16px 24px;background:var(--accent-soft);border:var(--bw) solid var(--line);font-weight:700}.blog-skip-link{position:absolute;top:8px;left:8px;transform:translateY(-200%);background:var(--card);padding:12px;z-index:2}.blog-skip-link:focus{transform:none}@media(max-width:767px){.blog-header{padding:16px 20px;gap:16px;flex-wrap:wrap}.blog-nav{gap:16px;flex-wrap:wrap}.blog-main{padding:32px 20px 48px}.blog-list{grid-template-columns:minmax(0,1fr)}.blog-card{padding:20px}.blog-article-header{padding-bottom:24px}.blog-prose pre{padding:16px}.blog-share{gap:12px}.blog-share-x,.blog-share>.blog-button{flex-grow:1}.blog-footer{padding:24px 20px}}@media(prefers-reduced-motion:reduce){.blog-page *,.blog-page *:before,.blog-page *:after{scroll-behavior:auto;transition:none;animation:none}}
