/* ===== Board Styles ===== */
.board-container {
    max-width: 640px;
    margin: 0 auto;
    padding: 1.5rem 1.5rem 2rem;
    min-height: calc(100vh - 200px);
}

.nav-link {
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--text-tertiary);
    text-decoration: none;
    padding: 0.25rem 0.5rem;
    border-radius: 6px;
    transition: all var(--transition);
}

.nav-link:hover { color: var(--text); }
.nav-link.active { color: var(--text); font-weight: 600; }

/* Tabs */
.board-tabs {
    display: flex;
    gap: 0.25rem;
    margin-bottom: 1.25rem;
    border-bottom: 1px solid var(--border-light);
    padding-bottom: 0;
}

.board-tab {
    padding: 0.625rem 1rem;
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--text-tertiary);
    background: none;
    border: none;
    border-bottom: 2px solid transparent;
    cursor: pointer;
    font-family: inherit;
    transition: all var(--transition);
    margin-bottom: -1px;
}

.board-tab:hover { color: var(--text); }
.board-tab.active {
    color: var(--text);
    font-weight: 600;
    border-bottom-color: var(--text);
}

/* Filter */
.filter-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1rem;
}

.filter-select {
    font-size: 0.8125rem;
    padding: 0.375rem 0.625rem;
    border: 1px solid var(--border);
    border-radius: 6px;
    background: var(--bg);
    color: var(--text-secondary);
    font-family: inherit;
    outline: none;
}

/* Board list */
.board-list { display: flex; flex-direction: column; gap: 0; }

.board-item {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 0.875rem 0;
    border-bottom: 1px solid var(--border-light);
    cursor: pointer;
    transition: background var(--transition);
}

.board-item:hover { background: var(--bg-soft); margin: 0 -0.5rem; padding-left: 0.5rem; padding-right: 0.5rem; border-radius: var(--radius-sm); }

.board-item-icon {
    font-size: 1rem;
    flex-shrink: 0;
    margin-top: 0.125rem;
}

.board-item-body { flex: 1; min-width: 0; }

.board-item-title {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--text);
    margin-bottom: 0.125rem;
    display: flex;
    align-items: center;
    gap: 0.375rem;
}

.board-item-meta {
    font-size: 0.6875rem;
    color: var(--text-tertiary);
    display: flex;
    gap: 0.5rem;
}

.board-item-preview {
    font-size: 0.75rem;
    color: var(--text-secondary);
    margin-top: 0.25rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Tags */
.status-tag {
    font-size: 0.625rem;
    font-weight: 600;
    padding: 0.0625rem 0.375rem;
    border-radius: 100px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.status-open { background: #fef3c7; color: #92400e; }
.status-answered { background: #ecfdf5; color: #065f46; }
.status-closed { background: var(--bg-muted); color: var(--text-tertiary); }

.pin-badge {
    font-size: 0.625rem;
    font-weight: 600;
    padding: 0.0625rem 0.375rem;
    border-radius: 100px;
    background: #fee2e2;
    color: #dc2626;
}

.category-tag {
    font-size: 0.625rem;
    padding: 0.0625rem 0.375rem;
    border-radius: 100px;
    background: var(--accent-light);
    color: var(--accent-text);
}

/* Write form */
.write-card {
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 1.25rem;
    margin-bottom: 1rem;
}

.write-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1rem;
}

.write-header h3 { font-size: 1rem; font-weight: 600; }

.textarea {
    resize: vertical;
    min-height: 100px;
    line-height: 1.5;
}

/* Post detail */
.detail-card {
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 1.25rem;
}

.detail-title {
    font-size: 1.125rem;
    font-weight: 700;
    margin-bottom: 0.5rem;
}

.detail-meta {
    font-size: 0.75rem;
    color: var(--text-tertiary);
    margin-bottom: 1rem;
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.detail-content {
    font-size: 0.875rem;
    color: var(--text);
    line-height: 1.6;
    white-space: pre-wrap;
}

/* Replies */
.replies-section {
    margin-top: 1.25rem;
}

.replies-title {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--text-secondary);
    margin-bottom: 0.75rem;
}

.reply-item {
    padding: 0.75rem;
    border-radius: var(--radius-sm);
    margin-bottom: 0.5rem;
}

.reply-user { background: var(--bg-muted); }
.reply-admin { background: var(--accent-light); border: 1px solid #c7d2fe; }

.reply-header {
    display: flex;
    justify-content: space-between;
    margin-bottom: 0.25rem;
}

.reply-name {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--text);
}

.reply-admin .reply-name { color: var(--accent); }

.reply-time {
    font-size: 0.6875rem;
    color: var(--text-tertiary);
}

.reply-body {
    font-size: 0.8125rem;
    color: var(--text);
    line-height: 1.4;
}

.reply-form { margin-top: 1rem; }

/* Empty state */
.empty-state {
    text-align: center;
    padding: 3rem 1rem;
    color: var(--text-tertiary);
    font-size: 0.875rem;
}

/* Mobile */
@media (max-width: 640px) {
    .board-container { padding: 1rem 1rem 1.5rem; }
}
