/* 포럼형: 주제 | 답글 | 조회 | 활동 */
.bd-list-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 12px; margin-bottom: 18px; flex-wrap: wrap; }
.bd-head-side { display: flex; align-items: center; gap: 12px; }
.bd-list-search { display: flex; justify-content: center; gap: 6px; margin-top: 24px; }
.bd-list-search .input { width: 240px; }

.fr-table { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-lg, 16px); overflow: hidden; box-shadow: var(--shadow-sm); }
.fr-row { display: grid; grid-template-columns: minmax(0, 1fr) 64px 64px 80px; align-items: center; gap: 8px; padding: 12px 18px; }
.fr-row + .fr-row { border-top: 1px solid var(--line); }
.fr-row-head { background: var(--surface-2); font-size: 12px; font-weight: 700; color: var(--muted); padding-top: 10px; padding-bottom: 10px; }
.fr-row-head span:not(:first-child) { text-align: center; }
.fr-row.is-notice { background: color-mix(in srgb, var(--primary) 4%, var(--surface)); }
.fr-topic { display: flex; gap: 12px; align-items: center; min-width: 0; }
.fr-avatar { display: inline-grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; flex: none; font-weight: 800; font-size: 15px; color: #fff; }
.fr-avatar-0 { background: #3b5bdb; } .fr-avatar-1 { background: #0b7285; } .fr-avatar-2 { background: #c2255c; } .fr-avatar-3 { background: #5f3dc4; } .fr-avatar-4 { background: #2f7a3a; } .fr-avatar-5 { background: #c2410c; }
.fr-topic-body { min-width: 0; display: grid; gap: 3px; }
.fr-title { font-weight: 700; font-size: 15px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fr-pin { margin-right: 4px; }
.fr-sub { display: flex; align-items: center; gap: 6px; font-size: 12.5px; min-width: 0; white-space: nowrap; overflow: hidden; }
.fr-tag { padding: 1px 8px; border-radius: 999px; background: var(--accent-soft); color: var(--primary); font-weight: 600; }
.fr-hot { background: color-mix(in srgb, #e8590c 14%, transparent); color: #c2410c; }
.fr-excerpt { overflow: hidden; text-overflow: ellipsis; }
.fr-num { text-align: center; font-weight: 700; font-variant-numeric: tabular-nums; color: var(--muted); }
.fr-num.has { color: var(--primary); }
.fr-when { text-align: center; font-size: 13px; color: var(--muted); }
.fr-empty { padding: 56px; text-align: center; color: var(--muted); }
@media (max-width: 640px) {
    .fr-row { grid-template-columns: minmax(0, 1fr) 44px; padding: 12px 14px; }
    .fr-row > :nth-child(3), .fr-row > :nth-child(4) { display: none; }
    .fr-excerpt { display: none; }
}
