/* Each cover reserves its own aspect ratio before lazy loading. */
.post-thumbnail .thumbnail-button{aspect-ratio:var(--cover-ratio,4/5);overflow:hidden;background:#fff}
.post-thumbnail .thumbnail-button>img{position:absolute;max-width:none;width:var(--image-width,100%);height:var(--image-height,100%);left:var(--image-left,0);top:var(--image-top,0)}
.post-card{justify-content:flex-start}
.post-thumbnail{flex:none;background:#fff}
.filter-panel{min-width:0;flex:1}
.filter-panel>summary{display:none}
.mobile-page-status{display:none}
.post-excerpt{font-size:12px;line-height:1.5;color:var(--muted);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden;overflow-wrap:anywhere;margin-bottom:10px}
.list-layout .post-excerpt{display:none}
@media(max-width:680px){
  body{font-size:16px}
  .sidebar{padding:12px 12px 0}
  .brand{margin-bottom:10px;font-size:12px}
  .main-nav{gap:4px}
  .nav-link{font-size:13px;min-height:48px;gap:6px;padding:8px 5px}
  .nav-count{font-size:11px}
  .nav-link svg{width:16px;height:16px}
  .topbar{padding:10px 12px}
  .search-box{gap:8px;padding-left:10px;min-height:48px}
  .search-box input{font-size:16px}
  .search-submit{min-height:44px;font-size:13px;padding:8px 12px}
  .search-box>svg{width:16px;height:16px}
  .container{padding:0 12px}
  .collection-header{padding:16px 0 14px}
  .collection-header p{font-size:13px;line-height:1.5}
  .result-count{font-size:12px}
  .toolbar{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
  .filter-panel{width:100%;border:1px solid var(--line);border-radius:7px;background:#fff}
  .filter-panel>summary{display:flex;align-items:center;justify-content:space-between;min-height:44px;padding:10px 12px;cursor:pointer;font-size:14px;font-weight:600;list-style:none}
  .filter-panel>summary::-webkit-details-marker{display:none}
  .filter-panel>summary:after{content:'+';font-size:19px;color:var(--accent)}
  .filter-panel[open]>summary:after{content:'−'}
  .filter-panel>summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
  .filter-controls{display:grid;grid-template-columns:60px minmax(0,1fr);padding:0 12px 12px;gap:10px;align-items:center}
  .filter-controls .visually-hidden{position:static;width:auto;height:auto;margin:0;clip:auto;overflow:visible;white-space:normal;font-size:13px;color:var(--muted)}
  .filter-controls select,#creator,#tag,#published{width:100%;min-width:0;max-width:none;min-height:44px;font-size:16px;padding-left:10px}
  .clear-button{grid-column:2;justify-self:end;min-height:44px;font-size:13px;padding:8px 12px;color:var(--accent)}
  .results-actions{gap:12px;justify-content:space-between}
  #sort{font-size:14px;min-height:44px;max-width:none;width:185px;margin-right:0;padding-left:8px}
  .view-switch button{width:44px;height:44px}
  .view-switch svg{width:18px;height:18px}
  .results-summary{font-size:12px;padding:12px 0}
  .posts-grid{grid-template-columns:1fr;gap:16px}
  .post-content{padding:8px 12px 0;flex:initial}
  .post-excerpt{display:none}
  .creator-row{min-height:44px;margin:0 0 5px;gap:8px}
  .creator-name{font-size:14px;display:flex;align-items:center;min-height:44px}
  .creator-avatar{display:grid;width:26px;height:26px;font-size:9px}
  .save-button{width:44px;height:44px}
  .save-button svg{width:18px;height:18px}
  .post-title{font-size:16px;line-height:1.5;min-height:0;margin-bottom:10px}
  .post-title-link{-webkit-line-clamp:3;min-height:44px}
  .post-chips{gap:8px}
  .chip{display:flex;align-items:center;min-height:32px;font-size:12px;padding:6px 8px}
  .post-stats{font-size:12px;gap:8px;padding-top:12px;flex-wrap:wrap}
  .engagement-stat span{display:inline}
  .card-footer{padding:8px 12px 10px}
  .post-format{font-size:12px}
  .view-post-btn{font-size:14px;min-height:44px}
  .view-post-btn svg{width:14px;height:14px}
  .thumbnail-expand{display:none}
  .filter-chip{font-size:13px}
  .filter-chip .remove{min-width:44px;min-height:44px}
  .pagination{justify-content:space-between;gap:8px;margin:20px 0}
  .page-numbers{display:none}
  .mobile-page-status{display:block;font-size:13px;color:var(--muted);white-space:nowrap}
  .page-btn{min-height:44px;min-width:74px;font-size:13px;padding:8px 10px}
  .page-footer{font-size:12px;align-items:center;padding-bottom:max(20px,env(safe-area-inset-bottom))}
  .page-footer a{display:flex;align-items:center;min-height:44px}
  .list-layout .post-card{grid-template-columns:92px minmax(0,1fr)}
  .list-layout .post-content{padding:6px 10px;height:auto}
  .list-layout .creator-name{font-size:12px}
  .list-layout .post-title{font-size:14px}
  .list-layout .post-title-link{min-height:0;-webkit-line-clamp:3}
  .list-layout .post-chips{gap:6px}
  .list-layout .chip{font-size:11px;padding:6px}
  .list-layout .post-stats{gap:6px;font-size:11px}
  .list-layout .card-footer{grid-column:1/-1;padding:5px 10px 8px}
  .list-layout .post-thumbnail{grid-row:1}
}
@media(max-width:360px){.nav-link{font-size:12px}.nav-count{display:none}.search-submit{padding:8px 9px}#sort{width:155px}.list-layout .post-card{grid-template-columns:76px minmax(0,1fr)}}
@media(min-width:681px) and (max-width:1024px){
  .filter-panel{flex-basis:100%}
  .filter-controls{width:100%}
  .filter-controls select{flex:1;max-width:none;min-height:44px;font-size:14px}
  .search-box input{font-size:16px}
  .search-submit,.nav-link,.save-button,.view-switch button,.view-post-btn,.creator-name,.page-btn,.page-num{min-height:44px}
  .save-button,.view-switch button,.page-num{min-width:44px}
  .creator-name{display:flex;align-items:center;font-size:13px}
  .view-post-btn{font-size:12px}
  .chip{min-height:28px;display:flex;align-items:center;font-size:11px}
  .post-title{font-size:15px}
}
