/* Shared reader for the blog landing page and each article route. */
body:has(.blog-workspace){background:#fff;color:#202020;--ink:#171717;--muted:#666;--line:#e5e5e5;--green:#eee;--paper:#fff}
.blog-workspace{display:grid;grid-template-columns:280px minmax(0,1fr);gap:64px;width:min(1240px,calc(100% - 64px));margin:0 auto;padding:48px 0 96px;align-items:start}
.blog-sidebar{position:sticky;top:100px;max-height:calc(100dvh - 124px);overflow-y:auto;padding:4px 22px 20px 0;border-right:1px solid #e7e7e7;scrollbar-width:thin;scrollbar-color:#d5d5d5 transparent}
.blog-sidebar-title{display:block;font-size:20px;font-weight:600;letter-spacing:-.5px;text-decoration:none;margin-bottom:30px;color:#1e1e1e}
.blog-sidebar-label{font-size:11px;line-height:1.5;color:#838383;margin:0 0 14px;text-transform:uppercase;letter-spacing:.1em;font-weight:500}
.blog-sidebar ul{margin:0;padding:0;list-style:none}
.blog-sidebar li+li{margin-top:5px}
.blog-sidebar nav a{display:block;padding:12px 14px;border-radius:8px;color:#707070;font-size:12px;line-height:1.65;font-weight:400;text-decoration:none;transition:background .15s,color .15s}
.blog-sidebar nav a:hover{background:#f4f4f4;color:#242424}
.blog-sidebar nav a[aria-current=page]{background:#eeeeee;color:#272727;font-weight:500;box-shadow:inset 3px 0 #444444}
.blog-workspace .blog-reading-pane.journal-article{width:100%;max-width:820px;min-width:0;margin:0;padding:0}
.blog-workspace .article-header{max-width:none;padding:0 0 32px}
.blog-workspace .article-header h1{font-size:clamp(30px,3.3vw,43px);line-height:1.25;letter-spacing:-1.4px;font-weight:500;margin:0 0 20px;max-width:none}
.blog-workspace .article-deck{font-size:15px;line-height:1.85;color:#737373}
.blog-workspace .article-meta{font-size:12px;line-height:1.8;gap:8px 10px;padding-top:20px;color:#777777}
.blog-workspace .article-layout{display:block;padding:32px 0 0;border-top:1px solid #e7e7e7}
.blog-workspace .article-body{max-width:none;font-size:15px;line-height:1.9;color:#434343}
.blog-workspace .article-body h2{color:#222222;font-size:26px;font-weight:500;line-height:1.4;margin-top:44px;scroll-margin-top:110px}
.blog-workspace .article-body h3{color:#282828;font-size:19px;font-weight:500;scroll-margin-top:110px}
.blog-workspace .article-body a{color:#333333}
.blog-workspace .table-scroll{margin-inline:0}
.blog-workspace a:focus-visible{outline:3px solid #555555;outline-offset:3px}
@media(max-width:1050px){.blog-workspace{grid-template-columns:240px minmax(0,1fr);gap:36px;width:calc(100% - 48px)}.blog-sidebar{padding-right:16px}.blog-workspace .article-header h1{font-size:34px}}
@media(max-width:760px){.blog-workspace{grid-template-columns:1fr;gap:30px;width:calc(100% - 40px);padding:28px 0 56px}.blog-sidebar{position:static;max-height:none;padding:0 0 22px;border-right:0;border-bottom:1px solid #e7e7e7}.blog-sidebar-title{font-size:19px;margin-bottom:12px}.blog-sidebar-label{margin-bottom:12px;font-size:10px}.blog-sidebar nav{max-height:190px;overflow-y:auto;scrollbar-width:thin;border:1px solid #e7e7e7;border-radius:10px;padding:6px}.blog-sidebar nav a{font-size:13px;padding:11px 12px;min-height:44px}.blog-workspace .article-header h1{font-size:31px;line-height:1.3;letter-spacing:-.8px}.blog-workspace .article-header{padding-bottom:25px}.blog-workspace .article-deck{font-size:15px}.blog-workspace .article-meta{font-size:11px;gap:8px 16px}.blog-workspace .article-body{font-size:16px;line-height:1.85}.blog-workspace .article-body h2{font-size:25px}.blog-workspace .article-layout{padding-top:25px}}
@media(prefers-reduced-motion:reduce){.blog-sidebar nav a{transition:none}}

.blog-workspace .article-body img{display:block;max-width:100%;height:auto;border-radius:10px}.blog-workspace .article-body figure{margin:28px 0}.blog-workspace .article-body figcaption{margin-top:10px;font-size:12px;color:#7a7a7a;text-align:center}.blog-workspace .article-body iframe,.blog-workspace .article-body video{max-width:100%}.blog-workspace .article-body ul,.blog-workspace .article-body ol{padding-left:24px}

.blog-workspace .article-body a{text-decoration:underline;text-underline-offset:4px}.blog-workspace .article-body caption,.blog-workspace .article-body thead th,.blog-workspace .article-body pre{background:#f5f5f5}.blog-workspace .article-body blockquote{border-color:#aaa;color:#666}.blog-workspace .mock-date{padding:1px 7px;border:1px solid #ddd;border-radius:4px;color:#888;font-size:10px;line-height:1.7}

.blog-sidebar-text{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;overflow-wrap:anywhere}

.blog-sidebar-section{margin-top:28px}
