/* Reuse the existing editorial rows and article typography. */
.blog-catalog .news-masthead>p{font-size:18px;color:var(--muted,#777);margin:24px 0 0;max-width:36em}
.blog-tools,.blog-empty,.blog-more,.blog-related{margin-inline:var(--news-gutter,var(--gutter,28px))}
.blog-catalog .blog-tools{display:block;padding:24px 0 32px}
.blog-filter-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(240px,1fr);gap:16px}
.blog-search,.blog-tag-select{position:relative;display:flex;flex-direction:column;gap:10px;background:#f1f1ee;border-radius:12px;padding:18px 22px;min-width:0}
.blog-catalog .blog-search{width:auto;flex:auto;align-items:stretch;border:0}
.blog-search>span,.blog-tag-select>span{font-size:12px;color:#75756f}
.blog-search input,.blog-tag-select select{width:100%;min-width:0;font:inherit;font-size:18px;background:transparent;border:0;outline-offset:5px;color:inherit;padding:0;height:32px}
.blog-search input{padding-right:48px}.blog-search input::placeholder{color:#858580}
.blog-search button{position:absolute;right:16px;bottom:16px;border:0;background:#e3e3de;color:#171918;border-radius:8px;width:36px;height:36px;cursor:pointer;font-size:23px}
.blog-tag-select.is-open{z-index:10}
.blog-tag-trigger{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:32px;padding:0;border:0;background:transparent;color:inherit;text-align:left;font:inherit;font-size:18px;cursor:pointer}
.blog-tag-trigger::after{content:'';width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin:0 4px 4px;flex:none;transition:transform .2s}
.blog-tag-trigger[aria-expanded=true]::after{transform:rotate(225deg);margin-bottom:0}
.blog-tag-trigger:focus-visible{outline:2px solid currentColor;outline-offset:5px;border-radius:4px}
.blog-tag-options{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:10;padding:8px;max-height:min(360px,45svh);overflow-y:auto;overscroll-behavior:contain;border:1px solid #e2e2dc;border-radius:12px;background:#f5f5f2;color:#171918;box-shadow:0 16px 40px #00000012;scrollbar-width:thin;scrollbar-color:#b9bbb2 transparent}
.blog-tag-option{position:relative;padding:12px 36px 12px 14px;border-radius:8px;font-size:15px;line-height:1.4;cursor:pointer}
.blog-tag-options.is-above{top:auto;bottom:calc(100% + 8px)}
.blog-tag-option:hover,.blog-tag-option.is-active{background:#e8e9e3}
.blog-tag-option[aria-selected=true]{background:#171918;color:#fff}
.blog-tag-option[aria-selected=true]::after{content:'✓';position:absolute;right:14px}
html[data-site-theme=dark] .blog-tag-options{background:var(--surface);color:var(--ink);border-color:var(--line);scrollbar-color:var(--muted) transparent}
html[data-site-theme=dark] :is(.blog-tag-option:hover,.blog-tag-option.is-active){background:var(--surface-alt)}
html[data-site-theme=dark] .blog-tag-option[aria-selected=true]{background:var(--ink);color:var(--bg)}
.blog-categories{display:flex;flex-wrap:wrap;gap:8px;border:0;padding:0;margin:20px 0}
.blog-categories label{position:relative;cursor:pointer}.blog-categories input{position:absolute;opacity:0;width:1px;height:1px}
.blog-categories span{display:block;padding:11px 15px;border:1px solid #deded8;border-radius:8px;font-size:13px;transition:background .2s,color .2s}
.blog-categories input:checked+span{background:#151815;color:white;border-color:#151815}
.blog-categories input:focus-visible+span{outline:2px solid currentColor;outline-offset:3px}
.blog-filter-summary{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:13px;color:#777;margin-top:28px}
.blog-filter-summary p{margin:0}.blog-filter-summary a{color:inherit;text-decoration:underline;text-underline-offset:4px}
.blog-catalog [hidden]{display:none!important}
.blog-catalog .news-row{padding-block:28px}
.blog-catalog .news-visual{aspect-ratio:1.5;border-radius:12px}
.blog-catalog .news-visual>img,.blog-article .news-article-visual>img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.blog-catalog .news-info{gap:24px;justify-content:flex-start}
.blog-catalog .news-info h2{max-width:95%;font-size:clamp(25px,2.5vw,42px);line-height:1.12;margin:0}
.blog-catalog .news-info>p{max-width:92%;margin:0;font-size:17px;line-height:1.5;color:#6c6c66}
.blog-catalog .news-meta{font-size:12px;grid-template-columns:1fr 1fr auto;align-items:center}
.blog-row-tags,.blog-article-tags{display:flex;flex-wrap:wrap;gap:8px;font-size:12px;margin-top:auto}
.blog-row-tags span,.blog-article-tags a{padding:8px 11px;background:#f1f1ee;border-radius:6px;color:#60615a}
.blog-more{text-align:center;padding:32px 0 80px}
.blog-more button{display:flex;justify-content:space-between;align-items:center;gap:60px;margin:auto;border:0;border-radius:10px;padding:20px 24px;background:#ededeb;color:#111;font:inherit;cursor:pointer}
.blog-more p{font-size:13px;color:#777;margin-top:16px}
.blog-empty{padding:40px 0 100px}.blog-empty h2{font-size:28px}.blog-empty p{margin-top:16px;color:#777}
.article-imported .news-article-header{padding-top:clamp(180px,12vw,220px)}
.article-imported .news-article-header h1{font-size:clamp(36px,4.2vw,72px);line-height:1.06;max-width:24ch;width:100%}
.article-imported .news-article-visual{width:calc(100% - 2 * var(--news-gutter));max-height:75vh;aspect-ratio:1.7}
.article-imported .article-layout{display:grid;grid-template-columns:minmax(220px,1fr) minmax(0,2fr);gap:clamp(30px,6vw,120px);align-items:start}
.article-imported .article-toc{position:sticky;top:130px;max-height:calc(100dvh - 160px);overflow:auto;display:flex;flex-direction:column;gap:14px;font-size:14px;line-height:1.45;padding:0;background:transparent}
.article-imported .article-toc h2{font-size:16px;margin:0 0 10px}.article-imported .article-toc a{color:#74746e}.article-imported .article-toc a[aria-current]{color:#111;text-decoration:underline;text-underline-offset:3px}
.article-imported .article-copy{min-width:0;max-width:850px}
.article-imported .article-copy p{font-size:18px;line-height:1.65;margin:0 0 24px}
.article-imported .article-copy .article-lead{font-size:21px;line-height:1.55;font-weight:500}
.article-imported .article-copy h2{font-size:clamp(26px,2.4vw,36px);line-height:1.2;margin:48px 0 20px;scroll-margin-top:130px}
.article-imported .article-copy h3{font-size:23px;line-height:1.3;margin:32px 0 16px;scroll-margin-top:130px}
.article-imported .article-copy ul{margin:20px 0 28px;padding-left:24px;font-size:18px;line-height:1.65}.article-imported .article-copy li{margin-bottom:10px}
.article-imported .article-copy ol{margin:20px 0 28px;padding-left:24px;font-size:18px;line-height:1.65;list-style:decimal}
.blog-inline-reference{text-decoration:none;border-bottom:1px solid currentColor;white-space:nowrap}
.blog-table-scroll{overflow-x:auto;margin:28px 0;width:100%;border:1px solid #deded8;border-radius:10px}
.blog-table-scroll table{border-collapse:collapse;width:100%;min-width:420px;font-size:15px;line-height:1.5}
.blog-table-scroll th,.blog-table-scroll td{padding:16px;text-align:left;border-bottom:1px solid #deded8;vertical-align:top}
.blog-table-scroll th{background:#efefeb;font-weight:500}.blog-table-scroll tr:last-child td{border-bottom:0}
.blog-article-tags{margin-top:40px}
.blog-article-cta{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px;border-radius:12px;background:#ededeb;color:#111;font-size:18px;font-weight:500;margin-top:32px}
.blog-related{padding-bottom:80px}.blog-related>h2{font-size:32px;margin-bottom:28px}.blog-related>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.blog-related img{display:block;width:100%;height:auto;aspect-ratio:1.5;object-fit:cover;border-radius:10px}.blog-related h3{font-size:20px;font-weight:500;line-height:1.3;margin-top:16px}
/* Use the site's shared dark palette instead of light-only grey values. */
html[data-site-theme=dark] :is(.blog-search,.blog-tag-select,.blog-row-tags span,.blog-article-tags a,.blog-table-scroll th){background:var(--surface);color:var(--ink)}
html[data-site-theme=dark] .blog-tag-select option{background:var(--surface);color:var(--ink)}
html[data-site-theme=dark] :is(.blog-search>span,.blog-tag-select>span,.blog-filter-summary,.blog-catalog .news-info>p,.blog-more p,.blog-empty p,.article-imported .article-toc a){color:var(--muted)}
html[data-site-theme=dark] .blog-search input::placeholder{color:var(--muted);opacity:1}
html[data-site-theme=dark] :is(.blog-search button,.blog-more button,.blog-article-cta){background:var(--surface-alt);color:var(--ink)}
html[data-site-theme=dark] :is(.blog-search button,.blog-more button,.blog-article-cta):hover{background:#454b52}
html[data-site-theme=dark] .blog-categories span{border-color:var(--line);color:var(--ink)}
html[data-site-theme=dark] .blog-categories input:checked+span{background:var(--ink);color:var(--bg);border-color:var(--ink)}
html[data-site-theme=dark] :is(.blog-table-scroll,.blog-table-scroll th,.blog-table-scroll td){border-color:var(--line)}
html[data-site-theme=dark] .article-imported .article-toc a[aria-current]{color:var(--ink)}
@media(hover:hover){.blog-catalog .news-link:hover .news-visual>img{transform:scale(1.025)}}
@media(max-width:1023px){.article-imported .article-layout{grid-template-columns:1fr}.article-imported .article-toc{position:static;max-height:none;padding:24px;background:#f4f4f0;border-radius:12px}.article-imported .article-copy{max-width:none}}
@media(max-width:1023px){html[data-site-theme=dark] .article-imported .article-toc{background:var(--surface)}}
@media(max-width:767px){
 .blog-catalog .news-masthead>p{max-width:250px}
 .blog-filter-row{grid-template-columns:1fr}.blog-search,.blog-tag-select{padding:16px}.blog-search input,.blog-tag-select select{font-size:16px}
 .blog-categories{flex-wrap:nowrap;overflow-x:auto;padding:3px 3px 12px;margin-inline:-3px}.blog-categories label{flex-shrink:0}
 .blog-categories,.blog-tag-options{scrollbar-width:none;-ms-overflow-style:none}.blog-categories::-webkit-scrollbar,.blog-tag-options::-webkit-scrollbar{display:none;width:0;height:0}
 .blog-tag-trigger{font-size:16px}
 .blog-tools{padding-top:8px}.blog-filter-summary{font-size:12px}
 .blog-catalog .news-row{padding:0 0 32px}.blog-catalog .news-info{gap:16px;padding:0}.blog-catalog .news-info h2{font-size:25px;max-width:100%}.blog-catalog .news-info>p{font-size:15px;max-width:100%}.blog-catalog .news-meta{order:0;font-size:11px}.blog-row-tags{gap:6px;font-size:11px}
 .article-imported .news-article-header h1{font-size:34px}.article-imported .news-article-visual{aspect-ratio:1.5}
 .article-imported .news-article-meta{flex-wrap:wrap;gap:12px;font-size:12px}.article-imported .article-copy p,.article-imported .article-copy ul{font-size:16px}.article-imported .article-copy .article-lead{font-size:18px}
 .article-imported .article-copy h2{font-size:26px}.article-imported .article-copy h3{font-size:21px}
 .article-imported .article-copy ol{font-size:16px}
 .blog-related>div{grid-template-columns:1fr}.blog-related h3{font-size:20px}.blog-related>h2{font-size:28px}
}
@media(prefers-reduced-motion:reduce){.blog-catalog .news-visual>img{transition:none}}
.article-copy .blog-source-code{max-width:100%;overflow-x:auto;padding:20px;border-radius:12px;background:#f4f4f0;font-size:15px;line-height:1.6;white-space:pre}
