.community-hub-shell { padding-block: 28px 64px; }
.community-hub-shell h1 { font-size: var(--silex-title-size); margin: 0 0 12px; }
.community-hub-intro { max-width: 70ch; color: var(--silex-text-soft); font-size:15px; line-height: 1.65; }
.community-filters { display:grid; grid-template-columns: minmax(160px,2fr) minmax(140px,1fr) minmax(140px,1fr) auto; gap:16px; align-items:end; margin:20px 0 12px; padding:16px; border:var(--silex-panel-rule); border-radius:var(--silex-radius); background:var(--silex-surface); }
.community-filters label { display:grid; gap:8px; min-width:0; font-size:.85rem; }
.community-filters input,.community-filters select { min-height:44px; width:100%; box-sizing:border-box; padding:10px 12px; background:var(--silex-surface); color:var(--silex-text); border:1px solid var(--silex-border); font:inherit; border-radius:var(--silex-radius-sm); }
.community-filters input::placeholder { color:var(--silex-text-soft); }
.community-filter-actions { display:flex; gap:8px; }
.community-hub-shell .silex-button { min-height:44px; }
.community-disclaimer { font-size:13px; line-height:1.65; color:var(--silex-text-soft); max-width:95ch; margin:12px 0 24px; }
.community-feed-layout { display:grid; grid-template-columns:minmax(0,1fr) 260px; gap:24px; align-items:start; }
.community-feed-layout > * { min-width:0; }
.community-feed-list { display:grid; gap:16px; list-style:none; margin:0; padding:0; }
.community-feed-list > li { min-width:0; }
.community-feed-list .publication-card { display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:12px 24px; margin:0; padding:20px; border:var(--silex-panel-rule); border-radius:var(--silex-radius); background:var(--silex-surface); }
.community-feed-list .publication-card-copy { min-width:0; }
.community-feed-list .publication-card-cover { align-self:start; width:100%; aspect-ratio:16/9; object-fit:cover; border-radius:var(--silex-radius-sm); overflow:hidden; }
.community-feed-list .publication-card-cover img { width:100%; height:100%; object-fit:cover; }
.community-feed-list .publication-card:not(.publication-card-with-image) { grid-template-columns:1fr; }
.community-feed-list .publication-card-title { font-size:20px; line-height:1.4; }
.community-feed-list .publication-card-preview { max-width:70ch; font-size:15px; line-height:1.65; }
.community-feed-list a { min-height:44px; }
.community-feed-list .publication-card-title a { display:inline-flex; align-items:center; }
.community-hub-shell [hidden] { display:none!important; }
.community-projects { border:var(--silex-panel-rule); border-radius:var(--silex-radius); padding:20px; background:var(--silex-surface); }
.community-projects h2 { font-size:16px; margin:0 0 16px; }
.community-projects ul { list-style:none; padding:0; margin:0 0 24px; }
.community-projects li { padding:12px 0; border-bottom:1px solid var(--silex-divider); }
.community-projects li > a:first-child { display:flex; gap:10px; align-items:center; min-height:44px; overflow-wrap:anywhere; }
.community-projects img { width:32px; height:32px; object-fit:contain; flex:none; }
.community-project-page { display:inline-flex; align-items:center; min-height:44px; font-size:.8rem; }
.community-hub-shell a { text-underline-offset:3px; }
.community-hub-shell :focus-visible { outline:2px solid var(--silex-accent); outline-offset:4px; }
.community-hub-shell ::selection { background:var(--silex-accent); color:var(--silex-bg); }
@media(max-width:1100px){ .community-feed-layout { grid-template-columns:minmax(0,1fr) 220px; gap:24px; }.community-feed-list .publication-card { grid-template-columns:minmax(0,1fr) 240px; }.community-filters { grid-template-columns:2fr 1fr 1fr; }.community-filter-actions { grid-column:1/-1; } }
@media(max-width:800px){ .community-feed-layout { grid-template-columns:1fr; }.community-projects { margin-top:16px; }.community-feed-list .publication-card { grid-template-columns:minmax(0,1fr) 240px; } }
@media(max-width:600px){ .community-hub-shell { padding-top:24px; }.community-filters { grid-template-columns:1fr 1fr; gap:12px; padding:12px; }.community-filters input,.community-filters select { font-size:16px; }.community-filters label:first-of-type { grid-column:1/-1; }.community-filter-actions { grid-column:1/-1; }.community-feed-list .publication-card { display:flex; flex-direction:column; gap:16px; padding:16px; }.community-feed-list .publication-card-cover { order:-1; max-width:none; }.community-feed-list .publication-card-title { font-size:18px; }.community-projects { padding:16px; }.community-projects ul { display:flex; flex-wrap:wrap; gap:0 20px; }.community-projects li { flex:1 1 140px; } }
