.blog-article{max-width:min(80%,1060px);padding:0 var(--pad-x);margin:0 auto}@media (max-width:768px){.blog-article{max-width:100%}}.blog-article-head{border-bottom:1px solid var(--line);background:var(--bg-soft);padding-top:max(48px,min(7vw,88px));padding-bottom:max(48px,min(7vw,88px))}.blog-article-crumb{font-family:var(--font-mono);color:var(--ink-3);letter-spacing:.06em;text-transform:uppercase;flex-wrap:wrap;gap:8px;margin-bottom:22px;font-size:11px;display:flex}.blog-article-crumb a{color:var(--ink-3)}.blog-article-crumb a:hover{color:var(--ink)}.blog-article-meta{font-family:var(--font-mono);color:var(--ink-3);letter-spacing:.04em;flex-wrap:wrap;gap:24px;margin-top:24px;font-size:11px;display:flex}.blog-article-body{padding-top:max(36px,min(5vw,64px));padding-bottom:max(36px,min(5vw,64px))}.blog-article-body h2{border-bottom:1px solid var(--line);margin-top:48px;margin-bottom:16px;padding-bottom:12px;font-size:max(24px,min(3vw,32px))}.blog-article-body h3{margin-top:36px;margin-bottom:12px;font-size:max(20px,min(2.5vw,26px))}.blog-article-body h4{color:var(--accent);margin-top:28px;margin-bottom:10px;font-size:18px}.blog-article-body p{margin-bottom:18px;line-height:1.7}.blog-article-body ul,.blog-article-body ol{margin-bottom:18px;padding-left:24px}.blog-article-body li{color:var(--ink-2);margin-bottom:6px;line-height:1.6}.blog-article-body blockquote{border-left:1px solid var(--ink-4);margin:28px 0;padding:4px 0 4px 24px}.blog-article-body blockquote p{color:var(--ink-2);margin-bottom:0;font-style:italic}.blog-article-body pre{border:1px solid var(--line);border-radius:var(--radius-sm);margin:24px 0;padding:20px;font-size:13px;line-height:1.6;overflow-x:auto}.blog-article-body code{font-family:var(--font-mono);font-size:.9em}.blog-article-body :not(pre)>code{background:var(--bg-soft);border:1px solid var(--line-2);border-radius:4px;padding:2px 6px}.blog-article-body a{color:var(--accent);text-underline-offset:2px;text-decoration:underline}.blog-article-body a:hover{color:var(--accent-deep)}.blog-article-body hr{border:none;border-top:1px solid var(--line);margin:40px 0}.blog-article-body table{border-collapse:collapse;width:100%;margin:24px 0;font-size:14px}.blog-article-body th,.blog-article-body td{border:1px solid var(--line);text-align:left;padding:10px 14px}.blog-article-body th{background:var(--bg-soft);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);font-size:11px}.blog-article-tags{flex-wrap:wrap;gap:14px;display:inline-flex}.article-tag{color:var(--ink-3);transition:color .15s var(--ease)}a.article-tag:hover{color:var(--accent)}.article-tag.is-static{color:var(--ink-4)}.blog-related{border-top:1px dashed var(--line);margin-top:64px;padding-top:32px}.blog-related-grid{background:var(--line);border:1px solid var(--line);border-radius:var(--radius-sm);grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:20px 0 0;padding:0;list-style:none;display:grid;overflow:hidden}@media (max-width:860px){.blog-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:520px){.blog-related-grid{grid-template-columns:1fr}}.related-card{background:var(--bg-elev);height:100%;color:inherit;transition:background .2s var(--ease);flex-direction:column;gap:10px;padding:0 0 18px;text-decoration:none;display:flex}.related-card:hover{background:var(--bg-soft)}.related-card-cover{aspect-ratio:1200/630;background:var(--bg-soft);display:block;overflow:hidden}.related-card-cover img{object-fit:cover;width:100%;height:100%;display:block}.related-card-tag,.related-card-title,.related-card-meta{padding-left:16px;padding-right:16px}.related-card-tag{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);font-size:10px}.related-card-title{font-family:var(--font-display);letter-spacing:-.015em;color:var(--ink);-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:15px;font-weight:540;line-height:1.32;display:-webkit-box;overflow:hidden}.related-card:hover .related-card-title{color:var(--accent)}.related-card-meta{font-family:var(--font-mono);letter-spacing:.04em;color:var(--ink-4);margin-top:auto;font-size:11px}
