.blog-index,.blog-post{width:100%;max-width:1100px;margin:0 auto;padding:clamp(96px,12vw,148px) clamp(20px,5vw,40px) 0}.blog-index__head{max-width:660px;margin-bottom:clamp(36px,6vw,64px)}.blog-index__head h1{font-family:var(--font-main);letter-spacing:-.03em;color:var(--text-primary);margin:14px 0 16px;font-size:clamp(34px,6vw,58px);font-weight:600;line-height:1.02}.blog-index__head p{color:var(--text-secondary);font-size:clamp(16px,2vw,19px);line-height:1.55}.blog-feature{background:var(--surface-solid);border:1px solid var(--lg-border);border-radius:var(--r-sheet);box-shadow:var(--shadow-cell);transition:transform var(--t-fluid), box-shadow var(--t-fluid);grid-template-columns:1.1fr 1fr;align-items:center;gap:clamp(20px,4vw,40px);margin-bottom:clamp(40px,6vw,64px);padding:clamp(20px,3vw,32px);text-decoration:none;display:grid}.blog-feature:hover{box-shadow:var(--lg-shadow);transform:translateY(-3px)}.blog-feature__cover{aspect-ratio:16/10;border-radius:var(--r-cell);background:var(--bg-base);overflow:hidden}.blog-feature__cover img,.blog-card__cover img,.blog-post__cover img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;display:block}.blog-feature__body h2{font-family:var(--font-main);letter-spacing:-.02em;color:var(--text-primary);margin:10px 0 12px;font-size:clamp(22px,3vw,32px);font-weight:600;line-height:1.1}.blog-feature__body p{color:var(--text-secondary);margin-bottom:16px;line-height:1.55}.blog-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:clamp(18px,3vw,28px);margin:0 0 clamp(48px,8vw,88px);padding:0;list-style:none;display:grid}.blog-card{background:var(--surface-solid);border:1px solid var(--lg-border);border-radius:var(--r-card);height:100%;box-shadow:var(--shadow-cell);transition:transform var(--t-fluid), box-shadow var(--t-fluid);flex-direction:column;text-decoration:none;display:flex;overflow:hidden}.blog-card:hover{box-shadow:var(--lg-shadow);transform:translateY(-4px)}.blog-card__cover{aspect-ratio:16/9;background:var(--bg-base)}.blog-card__body{flex-direction:column;flex:1;gap:10px;padding:20px 22px 22px;display:flex}.blog-card__tags,.blog-post__tags{flex-wrap:wrap;gap:6px;display:flex}.blog-card__tags span,.blog-post__tags span{font-family:var(--font-mono);letter-spacing:.03em;color:var(--text-tertiary);border:1px solid var(--hairline);border-radius:var(--r-pill);padding:3px 9px;font-size:11px}.blog-card h3{font-family:var(--font-main);letter-spacing:-.01em;color:var(--text-primary);font-size:20px;font-weight:600;line-height:1.18}.blog-card p{color:var(--text-secondary);flex:1;font-size:14.5px;line-height:1.5}.blog-card__meta{font-family:var(--font-mono);color:var(--text-tertiary);align-items:center;gap:8px;font-size:12px;display:flex}.blog-empty{color:var(--text-secondary);font-family:var(--font-mono)}.blog-post{max-width:820px}.blog-post__back{font-family:var(--font-mono);color:var(--text-secondary);transition:color var(--t-quick);font-size:13px;text-decoration:none}.blog-post__back:hover{color:var(--accent)}.blog-post__head{margin-bottom:clamp(24px,4vw,40px)}.blog-post__head .blog-post__tags{margin:20px 0 14px}.blog-post__head h1{font-family:var(--font-main);letter-spacing:-.03em;color:var(--text-primary);font-size:clamp(30px,5.5vw,52px);font-weight:600;line-height:1.04}.blog-post__summary{color:var(--text-secondary);margin-top:16px;font-size:clamp(17px,2.2vw,21px);line-height:1.5}.blog-post__byline{font-family:var(--font-mono);color:var(--text-tertiary);flex-wrap:wrap;align-items:center;gap:8px;margin-top:20px;font-size:13px;display:flex}.blog-post__cover{aspect-ratio:16/8;border-radius:var(--r-sheet);background:var(--bg-base);border:1px solid var(--lg-border);margin-bottom:clamp(28px,5vw,48px);overflow:hidden}.blog-prose{font-family:var(--font-main);color:var(--text-primary);font-size:18px;line-height:1.72}.blog-prose>p{color:rgba(var(--ink), .82);margin:0 0 1.35em}.blog-prose h2{letter-spacing:-.02em;margin:1.9em 0 .6em;scroll-margin-top:90px;font-size:clamp(24px,3.4vw,32px);font-weight:600;line-height:1.15}.blog-prose h3{letter-spacing:-.01em;margin:1.6em 0 .5em;scroll-margin-top:90px;font-size:clamp(19px,2.6vw,23px);font-weight:600}.blog-prose h2 a,.blog-prose h3 a{color:inherit;text-decoration:none}.blog-prose h2 a:hover:after,.blog-prose h3 a:hover:after{content:" #";color:var(--accent);opacity:.6}.blog-prose a{color:var(--accent);transition:border-color var(--t-quick);border-bottom:1px solid #f7790f59;text-decoration:none}.blog-prose a:hover{border-color:var(--accent)}.blog-prose strong{color:var(--text-primary);font-weight:600}.blog-prose ul,.blog-prose ol{color:rgba(var(--ink), .82);margin:0 0 1.35em;padding-left:1.4em}.blog-prose li{margin:.4em 0}.blog-prose li::marker{color:var(--accent)}.blog-prose blockquote{border-left:3px solid var(--accent);color:var(--text-secondary);margin:1.6em 0;padding:4px 0 4px 22px;font-style:italic}.blog-prose hr{border:none;border-top:1px solid var(--hairline);margin:2.4em 0}.blog-prose :not(pre)>code{font-family:var(--font-mono);background:rgba(var(--ink), .06);border:1px solid var(--hairline);color:var(--code-inline);border-radius:6px;padding:.12em .4em;font-size:.86em}.blog-prose table{border-collapse:collapse;width:100%;margin:1.6em 0;font-size:15px}.blog-prose th,.blog-prose td{text-align:left;border-bottom:1px solid var(--hairline);padding:10px 14px}.blog-prose thead th{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--text-tertiary);font-size:12px}.blog-prose tbody tr:hover{background:rgba(var(--ink), .02)}.blog-code{margin:1.7em 0;position:relative}.blog-code__copy{z-index:2;font-family:var(--font-mono);color:var(--text-secondary);background:rgba(var(--paper), .85);border:1px solid var(--hairline);cursor:pointer;opacity:0;transition:opacity var(--t-quick), color var(--t-quick), border-color var(--t-quick);border-radius:7px;padding:5px 10px;font-size:11.5px;position:absolute;top:12px;right:12px}.blog-code:hover .blog-code__copy{opacity:1}.blog-code__copy:hover{color:var(--accent);border-color:var(--accent)}.blog-code pre{background:var(--code-bg);border:1px solid var(--lg-border);border-radius:var(--r-cell);font-family:var(--font-mono);box-shadow:var(--shadow-cell);padding:20px 22px;font-size:14px;line-height:1.6;overflow-x:auto}.blog-code pre code{color:inherit;background:0 0;border:none;padding:0;font-family:inherit;display:grid}.blog-code [data-line]{border-left:2px solid #0000;padding:0 2px}.blog-code [data-highlighted-line]{border-left-color:var(--accent);background:#f7790f14}.blog-code [data-highlighted-chars]{background:#6c8eff29;border-radius:4px;padding:.1em .2em}[data-rehype-pretty-code-title]{font-family:var(--font-mono);color:var(--text-secondary);background:var(--bg-base);border:1px solid var(--lg-border);border-radius:var(--r-cell) var(--r-cell) 0 0;border-bottom:none;margin-bottom:-1px;padding:9px 16px;font-size:12.5px}[data-rehype-pretty-code-title]+.blog-code pre,[data-rehype-pretty-code-title]+div .blog-code pre{border-radius:0 0 var(--r-cell) var(--r-cell)}.blog-figure{margin:1.9em 0}.blog-figure--wide{width:min(100vw - 40px,1100px);margin-left:50%;transform:translate(-50%)}.blog-figure__frame{border-radius:var(--r-cell);border:1px solid var(--lg-border);background:var(--bg-base);box-shadow:var(--shadow-cell);overflow:hidden}.blog-figure__frame img{width:100%;display:block}.blog-figure figcaption,.blog-chart figcaption{font-family:var(--font-mono);color:var(--text-tertiary);text-align:center;margin-top:12px;font-size:12.5px;line-height:1.5}.blog-figure__credit{opacity:.7}.blog-chart{margin:1.9em 0}.blog-chart__frame{background:var(--surface-solid);border:1px solid var(--lg-border);border-radius:var(--r-cell);box-shadow:var(--shadow-cell);padding:18px 12px 10px}.blog-callout{border-radius:var(--r-cell);border:1px solid var(--lg-border);background:var(--surface-cell);-webkit-backdrop-filter:var(--blur-cell);gap:14px;margin:1.7em 0;padding:16px 18px;display:flex}.blog-callout__mark{color:#fff;border-radius:8px;flex:none;place-items:center;width:26px;height:26px;font-size:13px;display:grid}.blog-callout--info .blog-callout__mark{background:#6c8eff}.blog-callout--tip .blog-callout__mark{background:#4ecdc4}.blog-callout--warn .blog-callout__mark{background:#f59e0b}.blog-callout--note .blog-callout__mark{background:#94a3b8}.blog-callout--info{border-color:#6c8eff59}.blog-callout--tip{border-color:#4ecdc466}.blog-callout--warn{border-color:#f59e0b66}.blog-callout__title{color:var(--text-primary);margin-bottom:4px;font-weight:600}.blog-callout__content{color:var(--text-secondary);font-size:16px;line-height:1.6}.blog-callout__content>p:last-child{margin-bottom:0}.blog-prose .footnotes{border-top:1px solid var(--hairline);color:var(--text-secondary);margin-top:3em;padding-top:1.4em;font-size:15px}.blog-prose .footnotes h2{font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--text-tertiary);margin:0 0 .8em;font-size:13px}.blog-prose .footnotes ol{padding-left:1.2em}.blog-prose sup a[data-footnote-ref]{color:var(--accent);border:none;padding:0 2px;font-weight:600}.blog-prose a[data-footnote-backref]{border:none}.blog-post__nav{grid-template-columns:1fr 1fr;gap:16px;margin:clamp(48px,7vw,80px) 0 0;display:grid}.blog-post__navcard{border:1px solid var(--lg-border);border-radius:var(--r-card);background:var(--surface-solid);box-shadow:var(--shadow-cell);transition:transform var(--t-fluid), box-shadow var(--t-fluid);flex-direction:column;gap:8px;padding:18px 20px;text-decoration:none;display:flex}.blog-post__navcard:hover{box-shadow:var(--lg-shadow);transform:translateY(-3px)}.blog-post__navcard--right{text-align:right;align-items:flex-end}.blog-post__navcard strong{font-family:var(--font-main);color:var(--text-primary);letter-spacing:-.01em;font-size:16px;font-weight:600}@media (max-width:760px){.blog-feature,.blog-post__nav{grid-template-columns:1fr}.blog-prose{font-size:17px}}
