.forum-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 20rem;
    align-items: start;
    gap: 0.625rem;
}

.forum-layout__main {
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
    min-width: 0;
}

.forum-layout__side {
    position: sticky;
    top: 0.625rem;
    min-width: 0;
}

.forum-category__body {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
}

.forum-board {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto 11rem;
    align-items: center;
    gap: 1rem;
    padding: 0.875rem 1rem;
    border-radius: var(--br-12);
    background: var(--transparent-2-w);
    transition: background var(--transition-duration, 0.25s);
}

.forum-board:hover {
    background: var(--span-low);
}

.forum-board__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    border-radius: var(--br-10, 10px);
    background: var(--span-10);
    flex-shrink: 0;
}

.forum-board__icon svg {
    width: 1.125rem;
    height: 1.125rem;
    fill: var(--span);
}

.forum-board__info {
    display: flex;
    flex-direction: column;
    gap: 0.1875rem;
    min-width: 0;
}

.forum-board__title {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--text-default);
    font-size: var(--font-size-m);
    font-weight: var(--font-weight-6);
    word-break: break-word;
}

.forum-board__description {
    color: var(--text-secondary);
    font-size: var(--font-size-s);
}

.forum-board__counters {
    display: flex;
    gap: 1.25rem;
}

.forum-board__counter {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.125rem;
    min-width: 3.25rem;
}

.forum-board__counter-value {
    font-family: var(--font-family-1);
    font-size: var(--font-size-m);
    font-weight: var(--font-weight-7);
    color: var(--text-default);
}

.forum-board__counter-label {
    color: var(--text-secondary);
    font-size: var(--font-size-xs);
}

.forum-board__last,
.forum-topic__last {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    min-width: 0;
}

.forum-board__last-avatar,
.forum-topic__last-avatar {
    width: 2rem;
    height: 2rem;
    border-radius: var(--br-50);
    object-fit: cover;
    flex-shrink: 0;
}

.forum-board__last-info,
.forum-topic__last-info {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
    min-width: 0;
}

.forum-board__last-name,
.forum-topic__last-name {
    color: var(--text-default);
    font-size: var(--font-size-s);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.forum-board__last-time,
.forum-topic__last-time {
    color: var(--text-secondary);
    font-size: var(--font-size-xs);
}

.forum-board__last-empty,
.forum-topic__last-empty {
    color: var(--text-secondary);
}

.forum-side__body {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
}


.forum-recent {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    padding: 0.5rem;
    border-radius: var(--br-10, 10px);
    transition: background var(--transition-duration, 0.25s);
}

.forum-recent:hover {
    background: var(--span-low);
}

.forum-recent__avatar {
    width: 2rem;
    height: 2rem;
    border-radius: var(--br-50);
    object-fit: cover;
    flex-shrink: 0;
}

.forum-recent__info {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
    min-width: 0;
}

.forum-recent__title {
    color: var(--text-default);
    font-size: var(--font-size-s);
    font-weight: var(--font-weight-6);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.forum-recent__meta {
    color: var(--text-secondary);
    font-size: var(--font-size-xs);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
