/* Page shell only. Community content lives in its four-layer component. */
.community-page { background: #1a1a1a; color: #fff; min-height: 100vh; }
.community-main { max-width: 1300px; margin: 0 auto; padding: 0 24px 64px; min-height: 55vh; }
.community-page-loading { display: flex; align-items: center; justify-content: center; gap: 12px; min-height: 260px; color: rgba(255,255,255,.65); }
.community-page [hidden] { display:none!important; }
.community-skeleton { display:block;position:relative;overflow:hidden;border-radius:8px;background:rgba(var(--sm-ink-rgb),.065); }
.community-skeleton::after { content:'';position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(100deg,transparent 20%,rgba(var(--sm-ink-rgb),.055),transparent 80%);animation:community-shimmer 1.8s ease-in-out infinite; }
.community-skeleton-hero { min-height:400px;display:flex;align-items:center;flex-direction:column;gap:22px;padding:120px 20px 45px; }
.community-skeleton-title { width:250px;max-width:80%;height:48px; }
.community-skeleton-copy { width:360px;max-width:85%;height:25px; }
.community-skeleton-actions { display:grid;grid-template-columns:1fr 1fr;gap:16px;width:min(100%,440px);margin-top:10px; }
.community-skeleton-actions>span { height:50px; }
.community-skeleton-main { max-width:1300px;margin:auto;padding:10px 24px 64px; }
.community-skeleton-publish { width:120px;height:40px;margin-bottom:12px; }
.community-skeleton-toolbar { height:50px;margin-bottom:16px; }
.community-skeleton-layout { display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:32px; }
.community-skeleton-feed,.community-skeleton-sidebar { display:grid;align-content:start;gap:12px; }
.community-skeleton-card { min-width:0;padding:24px;border-radius:14px;background:rgba(var(--sm-ink-rgb),.018); }
.community-skeleton-identity { display:flex;gap:12px;align-items:center;margin-bottom:22px; }
.community-skeleton-avatar { width:40px;height:40px;border-radius:50%; }
.community-skeleton-name { width:130px;height:24px; }
.community-skeleton-line { width:90%;height:14px;margin-top:12px; }
.community-skeleton-line.short { width:65%; }
.community-skeleton-media { display:grid;grid-template-columns:1fr 1fr;gap:7px;max-width:560px;margin-top:22px; }
.community-skeleton-media>span { aspect-ratio:1; }
.community-skeleton-sidebar>span { height:220px; }
@keyframes community-shimmer { to { transform:translateX(100%); } }
@media(max-width:960px) { .community-skeleton-layout { grid-template-columns:minmax(0,1fr); }.community-skeleton-sidebar { display:none; } }
@media(max-width:768px) { .community-skeleton-hero { min-height:295px;padding:100px 20px 28px;gap:16px; }.community-skeleton-title { width:185px;height:36px; }.community-skeleton-copy { width:260px;height:25px; }.community-skeleton-actions { gap:12px;margin-top:0; }.community-skeleton-actions>span { height:48px; }.community-skeleton-main { padding:8px 8px 90px; }.community-skeleton-card { padding:16px 12px; } }
@media(max-width:480px) { .community-skeleton-hero { min-height:260px;padding-top:80px; }.community-skeleton-title { height:31px; } }
@media(max-width:540px) { .community-skeleton-main { display:flex;flex-direction:column; }.community-skeleton-toolbar { order:1; }.community-skeleton-publish { order:2;width:100%;margin-bottom:20px; }.community-skeleton-layout { order:3; } }
@media(prefers-reduced-motion:reduce) { .community-skeleton::after { animation:none; } }
@media (max-width: 768px) { .community-main { padding: 0 0 90px; } }

/* The community's own card replaces the generic hero when a space is opened. */
.community-page.is-community-space #hero-container { display:none; }
.community-page.is-community-space .community-main { padding-top:0; }
.community-skeleton-main .community-skeleton-publish { width:100%; height:44px; margin:4px 0; }
.community-skeleton-main .community-skeleton-toolbar { margin-bottom:0; }
#community-loading.is-detail-loading .community-main { width:100%; }
.community-skeleton-card { min-height:190px; }
.community-skeleton-feed { gap:4px; }
@media(max-width:1000px) and (min-width:801px) { .community-skeleton-layout { grid-template-columns:minmax(0,1fr) 250px; gap:22px; }.community-skeleton-sidebar { display:grid; } }
@media(max-width:800px) { .community-skeleton-layout { grid-template-columns:minmax(0,1fr); }.community-skeleton-sidebar { display:none; } }
@media(max-width:768px) { .community-skeleton-main { padding-inline:0; }.community-skeleton-card { min-height:178px;padding:16px; } }
