.blog-page{min-height:70svh}.blog-index{padding-block:var(--space-24)}.blog-intro{justify-content:space-between;gap:var(--space-12);margin-bottom:var(--space-16);align-items:end;display:flex}.blog-kicker{color:var(--primary-text);margin-bottom:var(--space-6)}.blog-intro h1{font-size:clamp(2.75rem,1.75rem + 4vw,6rem);line-height:1.08}.blog-intro h1 em{font-family:var(--font-geist-italic), sans-serif}.blog-intro p:not(.blog-kicker){margin-top:var(--space-6);color:var(--muted)}.rss-link{flex-shrink:0}.blog-toolbar{border-top:1px solid var(--line);padding-top:var(--space-8);justify-content:space-between;align-items:end;gap:var(--space-8);display:flex}.topic-links{gap:var(--space-4) var(--space-6);flex-wrap:wrap;display:flex}.topic-links a{align-items:center;gap:var(--space-2);min-height:44px;font-size:var(--small);color:var(--muted);border-bottom:1px solid #0000;display:inline-flex}.topic-links a[aria-current]{color:var(--primary-text);border-color:var(--primary-text)}.topic-links a>span{color:var(--muted);font-size:var(--label)}.blog-search label{font-size:var(--small);margin-bottom:var(--space-2);display:block}.blog-search>div{align-items:center;gap:var(--space-2);display:flex}.blog-search input{background:var(--surface-solid);border:1px solid var(--line-strong);width:220px;min-width:0;max-width:100%;min-height:48px;color:var(--text);font:inherit;padding:var(--space-3);border-radius:8px}.blog-search input:focus-visible{outline:2px solid var(--primary-text);outline-offset:4px}.blog-search input::placeholder{color:var(--muted)}.blog-search button{min-height:48px;padding:var(--space-3) var(--space-4);background:var(--surface-solid);border:1px solid var(--line-strong);border-radius:8px}.blog-search button:hover{border-color:var(--primary-text)}.blog-results{margin-block:var(--space-8) var(--space-4);color:var(--muted)}.article-preview{border-top:1px solid var(--line)}.article-preview-link{padding-block:var(--space-8);display:block}.note-meta{justify-content:space-between;gap:var(--space-3);color:var(--muted);flex-wrap:wrap;display:flex}.note-meta>:first-child{color:var(--primary-text)}.note-heading{justify-content:space-between;align-items:start;gap:var(--space-8);margin-top:var(--space-6);display:flex}.note-heading h2{letter-spacing:-.04em;max-width:28ch;font-size:clamp(1.75rem,1.25rem + 2vw,3.5rem);line-height:1.12}.note-heading>svg{color:var(--primary-text);margin-top:var(--space-2);transition:transform var(--duration)}.article-preview-link:hover svg{transform:translate(3px,-3px)}.article-preview-link>p{max-width:64ch;color:var(--muted);margin-top:var(--space-6)}.note-tags{gap:var(--space-3) var(--space-6);margin:var(--space-6) 0 0;font-family:var(--font-geist-mono), monospace;font-size:var(--label);color:var(--muted);flex-wrap:wrap;padding:0;list-style:none;display:flex}.blog-empty{border-block:1px solid var(--line);padding-block:var(--space-16)}.blog-empty h2{font-size:2rem}.blog-empty p{margin-block:var(--space-4);color:var(--muted)}.blog-pagination{justify-content:space-between;gap:var(--space-6);margin-top:var(--space-8);flex-wrap:wrap;display:flex}.blog-pagination a{align-items:center;min-height:44px;display:inline-flex}.blog-index-close{justify-content:space-between;gap:var(--space-6);border-top:1px solid var(--line);padding-top:var(--space-8);margin-top:var(--space-16);flex-wrap:wrap;align-items:center;display:flex}.blog-index-close p{color:var(--muted)}.blog-article{padding-block:var(--space-12) var(--space-16)}.blog-breadcrumb{gap:var(--space-4);font-size:var(--small);color:var(--muted);margin-bottom:var(--space-12);display:flex}.blog-breadcrumb a{min-height:44px;color:var(--text);align-items:center;display:inline-flex}.blog-breadcrumb>span{align-items:center;display:inline-flex}.blog-article-header{max-width:1020px;margin-bottom:var(--space-16)}.blog-article-header h1{letter-spacing:-.045em;max-width:24ch;font-size:clamp(2.5rem,1.5rem + 3.5vw,5rem);line-height:1.1}.blog-lede{color:var(--muted);margin-top:var(--space-6);max-width:65ch;font-size:1.125rem;line-height:1.6}.blog-byline{gap:var(--space-2) var(--space-6);margin-top:var(--space-8);font-size:var(--small);color:var(--muted);flex-wrap:wrap;display:flex}.blog-byline a{color:var(--text);align-items:center;min-height:44px;display:inline-flex}.blog-byline time,.blog-byline>span{align-items:center;display:inline-flex}.blog-article-grid{gap:var(--space-16);grid-template-columns:240px minmax(0,640px);align-items:start;display:grid}.blog-toc{top:calc(var(--header) + 32px);position:sticky}.blog-toc>p{color:var(--primary-text)}.blog-toc ol{margin:var(--space-4) 0 0;padding:0;list-style:none}.blog-toc li{margin-top:var(--space-2)}.blog-toc a{min-height:44px;font-size:var(--small);color:var(--muted);align-items:center;display:flex}.blog-toc a:hover{color:var(--primary-text)}.blog-prose{min-width:0;font-size:1.125rem;line-height:1.7}.blog-prose>:first-child{margin-top:0}.blog-prose p{max-width:68ch;margin-block:var(--space-6);color:#c4c8d0}.blog-prose h2{letter-spacing:-.035em;margin-top:var(--space-16);margin-bottom:var(--space-6);scroll-margin-top:var(--space-6);font-size:clamp(1.75rem,1.25rem + 1.5vw,2.5rem);line-height:1.2}.blog-prose h3{letter-spacing:-.02em;margin-top:var(--space-8);margin-bottom:var(--space-4);scroll-margin-top:var(--space-6);font-size:1.375rem;line-height:1.35}.blog-prose a:not(.text-action){color:var(--primary-text);text-underline-offset:3px;text-decoration:underline}.blog-prose ul,.blog-prose ol{padding-left:var(--space-6);margin-block:var(--space-6);color:#c4c8d0}.blog-prose li+li{margin-top:var(--space-3)}.blog-prose code{font-family:var(--font-geist-mono), monospace;color:var(--primary-text);overflow-wrap:anywhere;font-size:.875em}.blog-prose pre{max-width:100%;padding:var(--space-6);background:var(--surface-solid);border:1px solid var(--line);margin-block:var(--space-8);border-radius:12px;line-height:1.65;overflow-x:auto}.blog-prose pre code{color:var(--text);overflow-wrap:normal}.blog-prose blockquote{border-left:2px solid var(--primary);padding-left:var(--space-6);margin:var(--space-8) 0}.blog-table{max-width:100%;margin-block:var(--space-8);overflow-x:auto}.blog-table table{border-collapse:collapse;text-align:left;width:100%;font-size:1rem}.blog-table th,.blog-table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--line);vertical-align:top;min-width:140px}.blog-table th{color:var(--text)}.blog-table td{color:#c4c8d0}.blog-callout{background:var(--surface-solid);border-left:2px solid var(--primary);padding:var(--space-6);margin-block:var(--space-8);border-radius:0 8px 8px 0}.blog-callout-label{color:var(--primary-text);font-size:var(--small);font-weight:500;display:block}.blog-callout p:last-child{margin-bottom:0}.blog-callout-warning{border-color:var(--line-strong)}.blog-steps .blog-step{padding-left:var(--space-3)}.blog-author{padding-top:var(--space-8);margin-top:var(--space-16);border-top:1px solid var(--line)}.blog-author>.mono{color:var(--primary-text);margin:0}.blog-author h2{margin-top:var(--space-4);font-size:1.5rem}.blog-author p{font-size:1rem}.blog-related{border-top:1px solid var(--line);padding-block:var(--space-12)}.blog-related>h2{margin-bottom:var(--space-8);font-size:2rem}.blog-related a{padding-block:var(--space-6);display:block}.blog-related .mono{color:var(--muted)}.blog-related h3{margin-top:var(--space-3);font-size:1.5rem}.blog-article-close{justify-content:space-between;gap:var(--space-6);padding-bottom:var(--space-16);flex-wrap:wrap;display:flex}.writing-scene .chapter-title{font-size:clamp(2.5rem,1.6rem + 3vw,4.5rem)}.writing-heading{justify-content:space-between;align-items:end;gap:var(--space-8);margin-bottom:var(--space-12);display:flex}.writing-note{gap:var(--space-12);padding-block:var(--space-8);border-top:1px solid var(--line);grid-template-columns:.4fr 1fr;display:grid}.writing-note>.mono{color:var(--muted)}.writing-note>a{justify-content:space-between;align-items:start;gap:var(--space-6);display:flex}.writing-note h3{letter-spacing:-.03em;font-size:clamp(1.5rem,1rem + 1.5vw,2.5rem);line-height:1.2}.writing-note svg{color:var(--primary-text)}@media (max-width:1000px){.blog-article-grid{gap:var(--space-8);grid-template-columns:190px minmax(0,1fr)}.blog-toolbar{flex-direction:column;align-items:stretch}.blog-search>div{max-width:480px}.blog-search input{flex:1}}@media (max-width:760px){.blog-index{padding-block:var(--space-12)}.blog-intro{align-items:start;gap:var(--space-6);margin-bottom:var(--space-8);flex-direction:column}.blog-intro h1{font-size:clamp(2.5rem,1.5rem + 4vw,4rem)}.blog-kicker{font-size:var(--label)}.blog-toolbar{padding-top:var(--space-6);gap:var(--space-6)}.topic-links{gap:var(--space-3) var(--space-6)}.note-meta{gap:var(--space-2);flex-direction:column}.note-heading{gap:var(--space-4)}.note-heading h2{font-size:2rem}.note-heading svg{width:24px;height:24px}.article-preview-link{padding-block:var(--space-6)}.blog-index-close{margin-top:var(--space-12)}.blog-article{padding-top:var(--space-6)}.blog-breadcrumb{margin-bottom:var(--space-8)}.blog-article-header h1{font-size:clamp(2.25rem,1.5rem + 3vw,3rem)}.blog-lede{font-size:1rem}.blog-article-header{margin-bottom:var(--space-8)}.blog-byline{gap:var(--space-2) var(--space-4)}.blog-article-grid{gap:var(--space-8);grid-template-columns:minmax(0,1fr)}.blog-toc{border-block:1px solid var(--line);padding-block:var(--space-6);position:static}.blog-toc ol{gap:var(--space-2) var(--space-6);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.blog-toc li{margin:0}.blog-prose{font-size:1rem}.blog-prose h2{margin-top:var(--space-12)}.blog-prose pre{padding:var(--space-4)}.blog-prose code{font-size:.875rem}.writing-heading{align-items:start;gap:var(--space-6);flex-direction:column}.writing-scene .chapter-title{font-size:var(--h2)}.writing-note{gap:var(--space-4);grid-template-columns:minmax(0,1fr)}}
