/* Progressive browsing: article links remain complete in the original HTML. */
#blog-controls[hidden],.blog-directory-actions[hidden],#no-results[hidden],#blog-list [hidden]{display:none!important}
.blog-controls{position:sticky;top:0;z-index:30;background:rgba(10,10,10,.96);backdrop-filter:blur(12px);padding:20px 0 16px;border-bottom:1px solid #ffffff14}
.blog-search-row{display:flex;align-items:center;gap:10px;width:100%}
.blog-search-field{position:relative;flex:1;min-width:0}
.blog-search-field svg{position:absolute;left:16px;top:50%;transform:translateY(-50%);width:19px;height:19px;color:#999;pointer-events:none}
.blog-search-field input{display:block;width:100%;min-height:48px;padding:12px 45px;border:1px solid #ffffff26;border-radius:13px;background:#ffffff08;color:#fff;font:inherit;font-size:14px;outline:none;transition:border-color .2s,background .2s}
.blog-search-field input::placeholder{color:#999}
.blog-search-field input:focus{border-color:#bcbcbc;background:#ffffff0c}
.blog-search-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:32px;height:32px;border:0;border-radius:50%;background:transparent;color:#aaa;cursor:pointer;font-size:22px;line-height:1;transition:background .2s,color .2s}
.blog-search-clear:hover{background:#fff;color:#111}
.blog-search-clear[hidden]{display:none}
#category-filter{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;padding:14px 0 5px;scrollbar-width:thin;scrollbar-color:#555 transparent;gap:5px}
#category-filter .ft{flex-shrink:0;min-height:38px;padding:8px 14px}
.blog-directory-actions{text-align:center;padding:32px 0 8px}
.blog-more{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:12px 24px;border:1px solid #ffffff30;border-radius:13px;background:#fff;color:#111;font:600 14px/1.4 system-ui,sans-serif;cursor:pointer;transition:background .2s,border-color .2s}
.blog-more:hover{background:#d9d9d9;border-color:#ddd}
.blog-more[hidden]{display:none}
.blog-directory-note{color:#999;font-size:12px;line-height:1.7;margin-top:12px}
#blog-controls button:focus-visible,.blog-more:focus-visible,#blog-list .post:focus-visible{outline:2px solid #ddd;outline-offset:4px}
#blog-list .cat-divider{padding-top:32px}
@media(max-width:640px){.blog-controls{padding-top:14px}.blog-search-field input{font-size:16px}.blog-more{width:100%}}
@media(prefers-reduced-motion:reduce){.blog-controls *,.blog-more{transition:none!important}}

#blog-search::-webkit-search-cancel-button{display:none}

.blog-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
