.blog-main{max-width:800px;margin:0 auto;padding:12px 0 30px}
.blog-kicker,.blog-meta{font-size:13px;color:var(--muted)}
.blog-kicker{margin-bottom:18px}.blog-header h1{font-size:clamp(29px,3.4vw,42px);line-height:1.16;letter-spacing:-1.1px;overflow-wrap:break-word}
.blog-deck{margin-top:20px;font-size:18px;line-height:1.6;color:var(--muted)}
.blog-meta{margin-top:20px;margin-bottom:34px}.blog-meta span+span:before{content:' · ';white-space:pre}
.blog-origin{margin:0 0 28px;font-size:14px;color:var(--muted)}
.contents a[aria-current="page"]{font-weight:700;color:var(--text)}
.blog-body{font-size:17px;line-height:1.8;overflow-wrap:anywhere}
.blog-body p{margin:0 0 1.25em}.blog-body h2{font-size:26px;margin:2.2em 0 .8em;line-height:1.3}.blog-body h3{font-size:21px;margin:1.8em 0 .7em}
.blog-body ul,.blog-body ol{padding-left:1.5em;margin:0 0 1.4em}.blog-body li{margin:.5em 0}.blog-body li p{margin:.4em 0}
.blog-body img{height:auto;width:auto;max-width:100%;margin:30px auto;background:#fff;border-radius:4px}
.blog-body blockquote{margin:1.5em 0;padding:0 0 0 22px;border-left:3px solid var(--line);color:var(--muted)}
.blog-body pre{overflow-x:auto;max-width:100%;padding:16px;background:var(--surface);font-size:14px}.blog-body code{overflow-wrap:anywhere}.blog-body table{display:block;overflow-x:auto;max-width:100%;border-collapse:collapse}.blog-body td,.blog-body th{border:1px solid var(--line);padding:8px}
.blog-list{list-style:none;padding:0;margin:36px 0}.blog-list li{padding:30px 0;border-top:1px solid var(--line)}.blog-list h2{font-size:26px;line-height:1.3}.blog-list h2 a{text-decoration:underline;text-decoration-thickness:1px}.blog-list p{margin-top:12px}.blog-list .blog-meta{margin:12px 0 0}.blog-card-image{display:block;max-width:100%;height:auto;margin:22px 0 0;border-radius:4px}
.blog-footer{margin-top:44px;border-top:1px solid var(--line);padding-top:24px;display:flex;justify-content:space-between;gap:16px;font-size:14px;color:var(--muted)}
@media(max-width:540px){.blog-main{padding-top:8px}.blog-body{font-size:16px;line-height:1.8}.blog-deck{font-size:16px}.blog-body h2{font-size:23px}.blog-list h2{font-size:23px}.blog-footer{flex-wrap:wrap}}

.blog-list .blog-card{display:grid;grid-template-columns:220px minmax(0,1fr);gap:28px;align-items:start}
.blog-list .blog-card-image{display:block;width:100%;height:150px;object-fit:contain;background:#fff;margin:0;border:1px solid var(--line);border-radius:4px}
.blog-list .blog-card h2,.blog-list .blog-card h3{margin:0;font-size:23px;line-height:1.3}
.blog-list .blog-card h3 a{text-decoration:underline;text-decoration-thickness:1px}
.home-blog .blog-list{margin-top:24px}.home-blog .blog-meta{font-size:12px}.home-blog .blog-browse{font-size:14px}
@media(max-width:700px){.blog-list .blog-card{grid-template-columns:1fr;gap:18px}.blog-list .blog-card-image{height:auto;max-height:240px}.blog-list .blog-card h2,.blog-list .blog-card h3{font-size:22px}}
/* The homepage rail shares the page scroll; it never creates a nested scrollbar. */
.latest-posts{margin:28px 0;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.latest-posts-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}
.latest-posts-heading h2{font-size:18px;margin:0}.latest-posts-heading>a{font-size:12px;white-space:nowrap}
.latest-posts .blog-cadence{font-size:13px;color:var(--muted);line-height:1.6;margin:0 0 24px}
.latest-posts ol{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;margin:0;padding:0}
.latest-posts li{min-width:0}
.latest-posts .blog-card-image{display:block;width:100%;height:130px;object-fit:contain;background:#fff;border:1px solid var(--line);margin:0 0 14px;border-radius:4px}
.latest-posts h3{font-size:17px;line-height:1.4;margin:0}.latest-posts h3 a{text-decoration:underline;text-decoration-thickness:1px}
.latest-posts li p{font-size:13px;line-height:1.65;margin:10px 0 0}
.latest-posts .latest-subtitle{color:var(--muted)}
.latest-posts .latest-meta{font-size:11px;color:var(--muted);margin-top:12px}
ul.paper-summary{padding-left:19px;margin-bottom:0}ul.paper-summary li+li{margin-top:7px}
@media(min-width:1201px){
 .page-layout:has(.latest-posts){position:relative;max-width:1540px;padding-right:336px;gap:40px}
 .latest-posts{position:absolute;right:40px;top:56px;width:256px;margin:0;padding:0 0 24px;border-top:0}
 .latest-posts ol{grid-template-columns:1fr}
 .latest-posts li+li{padding-top:24px;border-top:1px solid var(--line)}
}
@media(max-width:800px){.latest-posts ol{grid-template-columns:1fr}.latest-posts li{display:grid;grid-template-columns:100px minmax(0,1fr);gap:16px}.latest-posts .blog-card-image{height:90px;margin:0}}
@media(max-width:540px){.latest-posts li{grid-template-columns:80px minmax(0,1fr);gap:14px}.latest-posts .blog-card-image{height:76px}.latest-posts h3{font-size:16px}}

/* Separate external resources from in-page navigation. */
.contents .resource-links{margin-top:0;margin-bottom:24px}
.contents #contents-links{border-top:1px solid var(--line);padding-top:20px}
.contents .sidebar-label{font-size:14px;font-weight:600;letter-spacing:.15px}
.experience-items>span{display:block}.experience-items>span+span{margin-top:7px}
@media(max-width:540px){.contents .resource-links{margin:0}.contents #contents-links{border-top:0;padding-top:0}.contents-toggle{font-size:12px}}

.blog-navigation{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 26px;padding-bottom:18px;border-bottom:1px solid var(--line);font-size:14px}
.blog-navigation .back-home{display:inline-block;padding:8px 13px;border:1px solid var(--line);border-radius:5px;font-weight:600;background:var(--surface)}
.blog-footer{flex-wrap:wrap}

/* Show only the original graph panel; preserve xkcd's source image bytes. */
.blog-body img[src$="/258bce20e14f6c95.png"]{
 width:100%;max-width:652px;height:auto;aspect-ratio:652 / 323;
 object-fit:cover;object-position:center top;border-radius:0;
}

/* Keep the theme control available in the top-left corner. */
.contents .sidebar-appearance{position:fixed;top:6px;left:12px;z-index:20;margin:0;background:var(--bg);border-radius:5px}
.contents #theme-toggle{width:40px;height:40px;padding:10px}
.blog-navigation{position:sticky;top:0;z-index:6;background:var(--bg);padding-top:12px}
@media(max-width:540px){
 .page-layout>.contents,.page-layout:has(.identity)>.contents{grid-template-columns:minmax(0,1fr);padding-left:64px}
 .contents .sidebar-portrait{display:none}
 .has-js .contents .contents-toggle{grid-column:1;grid-row:1;font-size:12px}
 .contents .sidebar-panel{margin-left:-44px}
 .blog-navigation{top:56px}
}
