/* ===== 社群CMS (sqcms) 前台样式表 ===== */
/* 布局约定：1360px总宽 = 1020px主体 + 40px间隔 + 300px侧栏 */

/* 重置和基础 */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
    --primary: #6c5ce7;
    --primary-dark: #5a4bd1;
    --primary-light: #a29bfe;
    --success: #00b894;
    --danger: #d63031;
    --warning: #fdcb6e;
    --gray-50: #f8f9fa;
    --gray-100: #f1f3f5;
    --gray-200: #e9ecef;
    --gray-300: #dee2e6;
    --gray-400: #adb5bd;
    --gray-500: #868e96;
    --gray-600: #495057;
    --gray-700: #343a40;
    --gray-800: #212529;
    --radius: 6px;
    --shadow: 0 1px 3px rgba(0,0,0,0.08);
    --shadow-md: 0 4px 12px rgba(0,0,0,0.1);
}

body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
    color: var(--gray-700);
    background: #f0f2f5;
    line-height: 1.6;
    font-size: 14px;
}

a { color: var(--primary); text-decoration: none; }
a:hover { color: var(--primary-dark); }

/* ===== 1360px 容器 ===== */
.container-1360 {
    max-width: 1360px;
    margin: 0 auto;
    padding: 0 20px;
}

/* ===== 顶部导航 32-36px ===== */
.topbar {
    height: 34px;
    background: #fff;
    border-bottom: 1px solid var(--gray-200);
    font-size: 13px;
}
.topbar-inner {
    max-width: 1360px;
    margin: 0 auto;
    padding: 0 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 100%;
}
.topbar-left {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--gray-600);
}
.topbar-date {
    color: var(--gray-400);
    font-size: 12px;
    white-space: nowrap;
    font-variant-numeric: tabular-nums; /* 数字等宽，分钟跳变时不抖动 */
}
.topbar-right {
    display: flex;
    align-items: center;
    gap: 6px;
}
.topbar-btn-register {
    display: inline-block;
    padding: 3px 16px;
    background: var(--primary);
    color: #fff !important;
    border-radius: 4px;
    font-size: 13px;
    font-weight: 500;
    transition: background 0.2s;
}
.topbar-btn-register:hover {
    background: var(--primary-dark);
    text-decoration: none;
}
.topbar-link-login {
    color: var(--gray-600) !important;
    font-size: 13px;
    padding: 3px 8px;
}
.topbar-link-login:hover {
    color: var(--primary) !important;
}

/* ===== 主导航 64px 紫色 ===== */
.main-nav {
    height: 64px;
    background: var(--primary);
    box-shadow: 0 2px 8px rgba(108,92,231,0.3);
}
.main-nav-inner {
    max-width: 1360px;
    margin: 0 auto;
    padding: 0 20px;
    display: flex;
    align-items: center;
    height: 100%;
}
.main-nav-logo {
    font-size: 22px;
    font-weight: 700;
    color: #fff !important;
    margin-right: 40px;
    letter-spacing: 1px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
}
.main-nav-logo { text-decoration: none; }
.main-nav-logo:hover { text-decoration: none; opacity: 0.9; }
/* 主导航品牌标志：三个小人（与登录/注册页 .auth-logo-icon 同款，透明底无背景块） */
.main-nav-logo-icon { display: inline-flex; align-items: flex-end; gap: 5px; height: 26px; }
.main-nav-logo-icon i {
    position: relative;
    display: block;
    width: 9px;
    height: 11px;
    border-radius: 4px 4px 2px 2px;
    background: #9db9ff;
}
.main-nav-logo-icon i::before {
    content: '';
    position: absolute;
    left: 50%;
    top: -8px;
    width: 7px;
    height: 7px;
    margin-left: -3.5px;
    border-radius: 50%;
    background: #9db9ff;
}
.main-nav-logo-icon i:nth-child(2) { height: 15px; background: #fff; }
.main-nav-logo-icon i:nth-child(2)::before { top: -10px; width: 9px; height: 9px; margin-left: -4.5px; background: #fff; }
.main-nav-logo-img {
    display: inline-flex;
    align-items: center;
    margin-right: 40px;
}
.main-nav-logo-img:hover { opacity: 0.9; text-decoration: none; }
.main-nav-logo-img img { height: 50px; }
.main-nav-links {
    display: flex;
    align-items: center;
    gap: 24px;
    height: 100%;
}
.main-nav-links .nav-item {
    position: relative;
    display: inline-flex;
    align-items: center;
    height: 100%;
}
.main-nav-links > .nav-item > a {
    color: rgba(255,255,255,0.85) !important;
    font-size: 15px;
    font-weight: 500;
    transition: color 0.2s;
    display: inline-flex;
    align-items: center;
    height: 100%;
}
.main-nav-links > .nav-item > a:hover {
    color: #fff !important;
    text-decoration: none;
}
.nav-caret { font-size: 10px; margin-left: 4px; }
.nav-submenu {
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 160px;
    background: #fff;
    border-radius: 0 0 8px 8px;
    box-shadow: 0 6px 20px rgba(0,0,0,0.12);
    padding: 6px 0;
    opacity: 0;
    visibility: hidden;
    transform: translateY(6px);
    transition: opacity .15s, transform .15s, visibility .15s;
    z-index: 1000;
}
.nav-item:hover > .nav-submenu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
.nav-submenu a {
    display: block;
    padding: 9px 18px;
    color: #2d3436 !important;
    font-size: 14px;
    text-decoration: none;
    white-space: nowrap;
}
.nav-submenu a:hover {
    background: #f1f3f9;
    color: var(--primary) !important;
    text-decoration: none;
}

/* ===== 主体布局 1020 + 40 + 300 ===== */
.main-layout {
    display: flex;
    gap: 40px;
    padding: 20px 0 40px;
}
.main-content-area {
    width: 1020px;
    flex-shrink: 0;
}
.sidebar-area {
    width: 300px;
    flex-shrink: 0;
}

/* ===== 卡片 ===== */
.card {
    background: #fff;
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    padding: 20px;
    margin-bottom: 16px;
}
.card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--gray-100);
}
.card-header h2, .card-header h3 { font-size: 16px; color: var(--gray-800); }

/* ===== 侧边栏卡片 ===== */
.sidebar-card {
    background: #fff;
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    padding: 16px;
    margin-bottom: 16px;
}
.sidebar-title {
    font-size: 14px;
    font-weight: 600;
    color: var(--gray-700);
    margin-bottom: 12px;
    padding-bottom: 8px;
    border-bottom: 2px solid var(--primary);
    display: inline-block;
}
/* 区块标题右侧的「更多」：直达对应中心页（/tag /lingyu /huati /wendian） */
.sidebar-more {
    margin-left: 10px;
    font-size: 12px;
    font-weight: 400;
    color: var(--gray-500);
    white-space: nowrap;
}
.sidebar-more:hover {
    color: var(--primary);
}
/* 带「更多」的标题行：标题文字靠左、「更多」顶到本行最右侧，左右拉开才能当直达入口用 */
.sidebar-title.has-more {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    padding-bottom: 0;
    border-bottom: none;
}
/* 下划线仍只压在标题文字底下（不拉到整行宽以保留原有观感），所以交给内层 span */
.sidebar-title.has-more > span {
    padding-bottom: 8px;
    border-bottom: 2px solid var(--primary);
}

/* 侧边栏搜索 */
.sidebar-search-card {
    padding: 0;
    background: transparent;
    box-shadow: none;
    margin-bottom: 16px;
}
.sidebar-search-form {
    display: flex;
    align-items: center;
    width: 100%;
}
.search-type-select {
    height: 36px;
    padding: 0 8px;
    border: 1px solid var(--gray-300);
    border-right: none;
    border-radius: 4px 0 0 4px;
    font-size: 13px;
    color: var(--gray-700);
    background: #fff;
    cursor: pointer;
    outline: none;
    flex-shrink: 0;
    width: 60px;
}
.search-type-select:focus {
    border-color: var(--primary);
}
.sidebar-search-input {
    flex: 1;
    height: 36px;
    padding: 0 12px;
    border: 1px solid var(--gray-300);
    border-radius: 0 4px 4px 0;
    font-size: 13px;
    outline: none;
    transition: border-color 0.2s;
}
.sidebar-search-input:focus {
    border-color: var(--primary);
}

/* 站点统计 */
.sidebar-stats {}
.stat-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 0;
    border-bottom: 1px solid var(--gray-100);
}
.stat-item:last-child { border-bottom: none; }
.stat-label { font-size: 13px; color: var(--gray-500); }
.stat-value { font-size: 14px; font-weight: 600; color: var(--primary); }

/* 领域云标签（紧凑文本链接） */
.sidebar-lingyu-cloud {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 12px;
}
.lingyu-cloud-item {
    font-size: 13px;
    color: var(--gray-600);
    text-decoration: none;
}
.lingyu-cloud-item:hover {
    color: var(--primary);
}
.lingyu-cloud-item span {
    margin-left: 2px;
    font-size: 11px;
    color: var(--gray-400);
}

/* 热门标签云 */
.sidebar-tag-cloud {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    max-height: 400px;
    overflow-y: auto;
}
/* 不滚动的标签云（如问答边栏「最新问点」，自然撑开、超出走「更多」） */
.sidebar-tag-cloud.no-scroll {
    max-height: none;
    overflow-y: visible;
}
.tag-cloud-item {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 10px;
    background: var(--gray-100);
    border-radius: 12px;
    font-size: 12px;
    color: var(--gray-700);
    text-decoration: none;
    transition: all 0.2s;
}
.tag-cloud-item:hover {
    background: var(--primary);
    color: #fff;
}
.tag-cloud-item span {
    font-size: 10px;
    color: var(--gray-400);
    font-weight: 500;
}
.tag-cloud-item:hover span {
    color: rgba(255,255,255,0.8);
}

/* ===== 表单 ===== */
.form-group { margin-bottom: 16px; }
.form-group label {
    display: block;
    margin-bottom: 6px;
    font-weight: 500;
    font-size: 14px;
    color: var(--gray-700);
}
.form-control {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid var(--gray-300);
    border-radius: var(--radius);
    font-size: 14px;
    transition: border-color 0.2s;
    background: #fff;
}
.form-control:focus {
    outline: none;
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(108,92,231,0.1);
}
textarea.form-control { min-height: 120px; resize: vertical; }

/* ===== 按钮 ===== */
.btn {
    display: inline-block;
    padding: 8px 20px;
    border-radius: var(--radius);
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    border: none;
    text-align: center;
    transition: all 0.2s;
}
.btn:hover { text-decoration: none; }
.btn-primary { background: var(--primary); color: #fff; }
.btn-primary:hover { background: var(--primary-dark); color: #fff; }
.btn-outline { background: transparent; color: var(--primary); border: 1px solid var(--primary); }
.btn-outline:hover { background: var(--primary); color: #fff; }
.btn-danger { background: var(--danger); color: #fff; }
.btn-success { background: var(--success); color: #fff; }
.btn-sm { padding: 5px 14px; font-size: 13px; }
.btn-block { display: block; width: 100%; }

/* ===== 提示框 ===== */
.alert {
    padding: 10px 16px;
    border-radius: var(--radius);
    margin-bottom: 12px;
    font-size: 13px;
}
.alert-success { background: #d4edda; color: #155724; border: 1px solid #c3e6cb; }
.alert-error { background: #f8d7da; color: #721c24; border: 1px solid #f5c6cb; }
.alert-warning { background: #fff3cd; color: #856404; border: 1px solid #ffeaa7; }

/* ===== 帖子列表项 ===== */
.post-item {
    display: flex;
    gap: 14px;
    padding: 14px 0;
    border-bottom: 1px solid var(--gray-100);
}
.post-item:last-child { border-bottom: none; }
.post-item-info { flex: 1; }
.post-item-title {
    font-size: 15px;
    font-weight: 600;
    color: var(--gray-800);
    margin-bottom: 4px;
}
.post-item-title a { color: var(--gray-800); }
.post-item-title a:hover { color: var(--primary); text-decoration: none; }
.post-item-meta {
    font-size: 12px;
    color: var(--gray-400);
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}
.post-item-meta .group-tag {
    background: var(--gray-100);
    padding: 1px 8px;
    border-radius: 4px;
    color: var(--gray-600);
}
.post-item-stats {
    display: flex;
    gap: 12px;
    font-size: 12px;
    color: var(--gray-400);
    white-space: nowrap;
    align-items: center;
    flex-wrap: wrap;
}
.post-mod-actions {
    display: inline-flex;
    gap: 4px;
    margin-left: 8px;
    flex-wrap: wrap;
}
.btn-toggle {
    display: inline-block;
    padding: 2px 8px;
    font-size: 11px;
    border: 1px solid var(--gray-300);
    background: #fff;
    color: var(--gray-500);
    border-radius: 3px;
    cursor: pointer;
    line-height: 1.4;
}
.btn-toggle:hover {
    border-color: var(--primary);
    color: var(--primary);
}
.btn-toggle.active {
    background: var(--primary);
    border-color: var(--primary);
    color: #fff;
}

/* ===== 社群卡片网格 ===== */
.group-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}
.group-card {
    background: #fff;
    border-radius: var(--radius);
    padding: 18px;
    box-shadow: var(--shadow);
    transition: box-shadow 0.2s, transform 0.2s;
    display: flex;
    gap: 14px;
    align-items: flex-start;
}
.group-card:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); }
.group-card-body {
    flex: 1;
    min-width: 0;
}
.group-card-name {
    font-size: 15px;
    font-weight: 600;
    margin-bottom: 6px;
}
.group-card-name a { color: var(--gray-800); }
.group-card-name a:hover { color: var(--primary); text-decoration: none; }
.group-card-desc {
    font-size: 13px;
    color: var(--gray-500);
    margin-bottom: 10px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.group-card-stats {
    font-size: 12px;
    color: var(--gray-400);
    display: flex;
    gap: 12px;
}

/* ===== 社群主页头部 ===== */
.group-header {
    background: #fff;
    border-radius: var(--radius);
    padding: 24px;
    margin-bottom: 20px;
    box-shadow: var(--shadow);
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.group-header-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 24px;
}
.group-text-icon {
    flex-shrink: 0;
    width: 120px;
    height: 120px;
    border-radius: 12px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    color: #fff;
    text-align: center;
    line-height: 1.3;
    padding: 0 6px;
    overflow: hidden;
}
.group-text-icon-line {
    display: block;
    width: 100%;
    white-space: nowrap;
}
/* 小尺寸文字图标（社群列表） */
.group-text-icon-sm {
    flex-shrink: 0;
    width: 80px;
    height: 80px;
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    color: #fff;
    text-align: center;
    line-height: 1.3;
    padding: 0 4px;
    overflow: hidden;
}
.group-text-icon-sm .group-text-icon-line {
    display: block;
    width: 100%;
    white-space: nowrap;
}
/* 64px 文字图标（工具中心） */
.group-text-icon-xs {
    flex-shrink: 0;
    width: 64px;
    height: 64px;
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    color: #fff;
    text-align: center;
    line-height: 1.3;
    padding: 0 3px;
    overflow: hidden;
}
.group-text-icon-xs .group-text-icon-line {
    display: block;
    width: 100%;
    white-space: nowrap;
}
.group-header-content {
    flex: 1;
    display: flex;
    flex-direction: column;
}
.group-header-namerow {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
}
.group-header-namerow h1 { font-size: 22px; margin: 0; }
.group-header-info { margin-top: 8px; }
.group-header-info p { color: var(--gray-500); font-size: 14px; }
.group-header-actions { display: flex; gap: 8px; flex-wrap: wrap; }

/* 群内搜索框 */
.group-search-form {
    display: flex;
    gap: 10px;
    align-items: center;
    width: 100%;
    padding-top: 16px;
    border-top: 1px solid var(--gray-100);
}
.group-search-form input {
    flex: 1;
    padding: 12px 16px;
    border: 1px solid var(--gray-200);
    border-radius: 6px;
    font-size: 14px;
    background: var(--gray-50);
}
.group-search-form input:focus {
    outline: none;
    border-color: var(--primary);
    background: #fff;
}
.group-search-form button {
    padding: 12px 24px;
    font-size: 14px;
}
/* 社群自定义内容：只由后台管理员设置，紧跟群内搜索框下方，与搜索框同属群头部一个大区块 */
.group-custom-content {
    margin-top: -8px;
    padding: 14px 16px;
    background: var(--gray-50);
    border: 1px solid var(--gray-200);
    border-radius: 8px;
    font-size: 14px;
    line-height: 1.7;
    color: var(--gray-700);
}
.group-custom-content img {
    max-width: 100%;
    height: auto;
}
.group-custom-content a {
    color: var(--primary);
}

/* ===== 标签 ===== */
.tag {
    display: inline-block;
    padding: 2px 10px;
    background: var(--gray-100);
    color: var(--gray-600);
    border-radius: 20px;
    font-size: 12px;
    margin: 2px;
}
.tag:hover { background: var(--gray-200); text-decoration: none; }
.tag-primary { background: rgba(108,92,231,0.1); color: var(--primary); }

/* 领域标签 */
.lingyu-tag {
    display: inline-block;
    padding: 4px 14px;
    background: #fff;
    border: 1px solid var(--gray-200);
    border-radius: 20px;
    font-size: 13px;
    color: var(--gray-600);
    margin: 3px;
}
.lingyu-tag:hover, .lingyu-tag.active {
    background: var(--primary);
    color: #fff;
    border-color: var(--primary);
    text-decoration: none;
}

/* ===== 帖子详情 ===== */
.post-detail { background: #fff; border-radius: var(--radius); padding: 28px; box-shadow: var(--shadow); }
.post-detail-title { font-size: 22px; font-weight: 700; margin-bottom: 12px; }
.post-detail-meta {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 13px;
    color: var(--gray-500);
    margin-bottom: 20px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--gray-100);
}
.post-detail-content {
    font-size: 15px;
    line-height: 1.8;
    color: var(--gray-700);
    margin-bottom: 20px;
}
.post-detail-content p { margin-bottom: 12px; }
.post-detail-content img { max-width: 100%; height: auto; border-radius: 4px; }
/* 关键词自动内链 */
.keyword-inner-link { color: var(--primary); text-decoration: none; border-bottom: 1px dashed var(--primary-light); }
.keyword-inner-link:hover { color: var(--primary-dark); border-bottom-style: solid; }
.post-detail-actions {
    display: flex;
    gap: 16px;
    padding-top: 16px;
    border-top: 1px solid var(--gray-100);
}
.post-action-btn {
    display: flex;
    align-items: center;
    gap: 4px;
    background: none;
    border: none;
    color: var(--gray-500);
    cursor: pointer;
    font-size: 14px;
    padding: 6px 12px;
    border-radius: var(--radius);
    transition: all 0.2s;
}
.post-action-btn:hover { background: var(--gray-100); color: var(--primary); }
.post-action-btn.active { color: var(--primary); }

/* ===== 评论区 ===== */
.comment-section { margin-top: 20px; }
.comment-section h3 { font-size: 16px; margin-bottom: 16px; }
.comment-item {
    padding: 14px 0;
    border-bottom: 1px solid var(--gray-100);
}
.comment-item:last-child { border-bottom: none; }
.comment-author {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 6px;
}
.comment-author-name { font-weight: 600; font-size: 14px; }
.comment-author-time { font-size: 12px; color: var(--gray-400); }
.comment-content { font-size: 14px; color: var(--gray-700); line-height: 1.6; }
.comment-form { margin-top: 16px; }
.comment-form textarea { min-height: 80px; }

/* ===== 分页 ===== */
.pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 4px;
    margin-top: 24px;
}
.page-link {
    padding: 6px 12px;
    border: 1px solid var(--gray-200);
    border-radius: var(--radius);
    font-size: 13px;
    color: var(--gray-600);
}
.page-link:hover { background: var(--gray-100); text-decoration: none; }
.page-link.active { background: var(--primary); color: #fff; border-color: var(--primary); }
.page-dots { padding: 6px 8px; color: var(--gray-400); }

/* ===== 搜索页 ===== */
.search-box {
    display: flex;
    gap: 8px;
    margin-bottom: 24px;
}
.search-box .form-control { flex: 1; }
.search-tabs {
    display: flex;
    gap: 0;
    margin-bottom: 20px;
    border-bottom: 2px solid var(--gray-200);
}
.search-tab {
    padding: 10px 20px;
    font-size: 14px;
    color: var(--gray-500);
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
}
.search-tab.active { color: var(--primary); border-bottom-color: var(--primary); }

/* ===== 登录/注册页 ===== */
.auth-container {
    max-width: 420px;
    margin: 40px auto;
}
.auth-container .card { padding: 32px; }
.auth-container h2 { text-align: center; margin-bottom: 24px; font-size: 22px; }
.auth-links { text-align: center; margin-top: 16px; font-size: 14px; }

/* ===== 创建社群 ===== */
.create-form { max-width: 1020px; }

/* ===== 发帖页（1020px）与 wangEditor ===== */
.post-create-wrap { max-width: 1020px; margin: 0 auto; }
#editor-toolbar {
    border: 1px solid var(--gray-300);
    border-bottom: none;
    border-radius: var(--radius) var(--radius) 0 0;
    background: var(--gray-50);
}
#editor-container {
    border: 1px solid var(--gray-300);
    border-radius: 0 0 var(--radius) var(--radius);
    background: #fff;
    min-height: 600px;
    z-index: 100;
}
.html-source {
    width: 100%;
    height: 600px;
    font-family: Consolas, Monaco, 'Courier New', monospace;
    font-size: 13px;
    line-height: 1.7;
    padding: 12px 14px;
    border: 1px solid var(--gray-300);
    border-radius: var(--radius);
    background: #fafafa;
    color: var(--gray-700);
    box-sizing: border-box;
    resize: vertical;
}
.checkbox-group {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.checkbox-group label {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 6px 14px;
    border: 1px solid var(--gray-200);
    border-radius: 20px;
    cursor: pointer;
    font-size: 13px;
    transition: all 0.2s;
}
.checkbox-group label:hover { border-color: var(--primary); }

/* ===== 页脚 ===== */
.footer {
    background: #fff;
    border-top: 1px solid var(--gray-200);
    padding: 24px 0 20px;
    text-align: center;
    font-size: 13px;
    color: var(--gray-400);
    margin-top: 20px;
}
.footer-contact {
    font-size: 13px;
    color: var(--gray-500);
    margin-bottom: 8px;
}
.footer-other {
    font-size: 13px;
    color: var(--gray-500);
    margin-bottom: 12px;
}
/* 页脚友情链接（996号 所有CMS标准）：居中排布、自动换行，与页脚其他文字同色系 */
.footer-links {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 6px 18px;
    padding: 0 20px;
    margin-bottom: 12px;
    font-size: 13px;
    color: var(--gray-500);
}
.footer-links-label {
    color: var(--gray-500);
}
.footer-links a {
    color: var(--gray-500);
    text-decoration: none;
}
.footer-links a:hover {
    color: var(--primary);
}
.footer-bottom {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0;
    font-size: 13px;
    color: var(--gray-400);
    line-height: 2;
}
.footer-bottom a {
    color: var(--gray-500);
}
.footer-bottom a:hover {
    color: var(--primary);
}
.footer-sep {
    margin: 0 8px;
    color: var(--gray-300);
}
.footer-powered strong {
    color: var(--gray-500);
}
.footer-custom {
    margin-top: 8px;
}

/* ===== 404 ===== */
.error-page {
    text-align: center;
    padding: 60px 20px;
}
.error-page h1 { font-size: 72px; color: var(--gray-300); margin-bottom: 16px; }
.error-page p { color: var(--gray-500); margin-bottom: 24px; }

/* ===== 头像 ===== */
.avatar-sm {
    width: 28px; height: 28px;
    border-radius: 50%;
    object-fit: cover;
}
.avatar-lg {
    width: 64px; height: 64px;
    border-radius: 50%;
    object-fit: cover;
}
.avatar-placeholder {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--primary);
    color: #fff;
    font-weight: 600;
}

/* ===== 标签中心页 ===== */
.tag-center {
    padding: 0 0 30px;
}
.tag-center-title {
    font-size: 26px;
    font-weight: 700;
    color: var(--gray-800);
    margin-bottom: 20px;
}
.tag-index-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    padding: 14px 16px;
    background: #fff;
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    margin-bottom: 24px;
    position: sticky;
    top: 0;
    z-index: 10;
}
.idx-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 32px;
    height: 30px;
    padding: 0 8px;
    border-radius: 4px;
    font-size: 13px;
    font-weight: 600;
    color: var(--gray-600);
    text-decoration: none;
    transition: all 0.15s;
}
.idx-link:hover {
    background: var(--primary);
    color: #fff;
}
.idx-link.idx-num {
    color: var(--primary);
}
.tag-index-section {
    margin-bottom: 20px;
    padding: 16px 20px;
    background: #fff;
    border-radius: var(--radius);
    box-shadow: var(--shadow);
}
.tag-index-heading {
    font-size: 18px;
    font-weight: 700;
    color: var(--primary);
    margin-bottom: 14px;
    padding-bottom: 10px;
    border-bottom: 2px solid var(--gray-100);
}
.tag-index-sub {
    font-size: 12px;
    font-weight: 400;
    color: var(--gray-400);
    margin-left: 6px;
}
.tag-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.tag-item {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 6px 14px;
    background: var(--gray-50);
    border: 1px solid var(--gray-200);
    border-radius: 20px;
    font-size: 14px;
    color: var(--gray-700);
    text-decoration: none;
    transition: all 0.2s;
}
.tag-item:hover {
    background: var(--primary);
    color: #fff;
    border-color: var(--primary);
}
.tag-item:hover .tag-count {
    background: rgba(255,255,255,0.3);
    color: #fff;
}
.tag-count {
    font-size: 11px;
    padding: 1px 6px;
    background: var(--gray-200);
    color: var(--gray-500);
    border-radius: 10px;
}
.tag-empty {
    color: var(--gray-400);
    font-size: 14px;
    padding: 10px 0;
}

/* 侧边栏排行榜 */
.sidebar-rank-list {
    list-style: none;
    counter-reset: rank;
}
.sidebar-rank-list li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 0;
    border-bottom: 1px solid var(--gray-100);
    counter-increment: rank;
}
.sidebar-rank-list li:last-child {
    border-bottom: none;
}
.sidebar-rank-list li::before {
    content: counter(rank);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 600;
    color: var(--gray-500);
    background: var(--gray-100);
    margin-right: 10px;
    flex-shrink: 0;
}
.sidebar-rank-list li:nth-child(1)::before {
    background: #ff6b6b;
    color: #fff;
}
.sidebar-rank-list li:nth-child(2)::before {
    background: #ffa502;
    color: #fff;
}
.sidebar-rank-list li:nth-child(3)::before {
    background: #ffd700;
    color: #fff;
}
.sidebar-rank-list li a {
    flex: 1;
    font-size: 13px;
    color: var(--gray-700);
    text-decoration: none;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.sidebar-rank-list li a:hover {
    color: var(--primary);
}
.sidebar-rank-list li span {
    font-size: 12px;
    color: var(--gray-400);
    margin-left: 8px;
    flex-shrink: 0;
}
.sidebar-tag-cloud {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.sidebar-tag-cloud a {
    padding: 4px 10px;
    background: var(--gray-50);
    border: 1px solid var(--gray-200);
    border-radius: 14px;
    color: var(--gray-600);
    text-decoration: none;
    transition: all 0.2s;
}
.sidebar-tag-cloud a:hover {
    background: var(--primary);
    color: #fff;
    border-color: var(--primary);
}
.sidebar-empty {
    color: var(--gray-400);
    font-size: 13px;
    text-align: center;
    padding: 20px 0;
}

/* ===== 标签详情页 ===== */
.tag-detail-header {
    padding: 24px 28px;
    background: #fff;
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    margin-bottom: 20px;
}
.tag-detail-name {
    font-size: 32px;
    font-weight: 700;
    color: var(--gray-800);
    margin-bottom: 10px;
    line-height: 1.3;
}
.tag-detail-desc {
    font-size: 14px;
    color: var(--gray-500);
    line-height: 1.7;
    margin-bottom: 12px;
}
.tag-detail-desc a {
    color: var(--primary);
    text-decoration: none;
}
.tag-detail-desc a:hover {
    text-decoration: underline;
}
.tag-detail-count {
    font-size: 14px;
    color: var(--gray-400);
}
.tag-detail-count strong {
    color: var(--primary);
    font-size: 16px;
}
.tag-detail-list {
    background: #fff;
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    overflow: hidden;
}
.tag-detail-empty {
    text-align: center;
    color: var(--gray-400);
    padding: 40px 0;
    font-size: 15px;
}

/* ===== 领域详情页 ===== */
.lingyu-detail-header {
    padding: 24px 28px;
    background: #fff;
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    margin-bottom: 20px;
}
.lingyu-detail-name {
    font-size: 32px;
    font-weight: 700;
    color: var(--gray-800);
    margin-bottom: 10px;
    line-height: 1.3;
}
.lingyu-detail-desc {
    font-size: 14px;
    color: var(--gray-500);
    line-height: 1.7;
    margin-bottom: 12px;
}
.lingyu-detail-desc a {
    color: var(--primary);
    text-decoration: none;
}
.lingyu-detail-desc a:hover {
    text-decoration: underline;
}
.lingyu-detail-count {
    font-size: 14px;
    color: var(--gray-400);
}
.lingyu-detail-count strong {
    color: var(--primary);
    font-size: 16px;
}
.lingyu-detail-empty {
    text-align: center;
    color: var(--gray-400);
    padding: 40px 0;
    font-size: 15px;
    grid-column: 1 / -1;
}

/* ===== 动态广场（微博式短信息流） ===== */
.feed-head-card { margin-bottom: 16px; }
.feed-title { font-size: 26px; font-weight: 700; color: var(--gray-800); margin-bottom: 16px; }

/* 发布窗口 */
.feed-publish-label {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
    font-size: 15px;
    font-weight: 600;
    color: var(--gray-700);
}
.feed-char-count { font-size: 13px; font-weight: 400; color: var(--gray-400); }
.feed-char-count em { font-style: normal; color: var(--primary); }
.feed-publish-input {
    width: 100%;
    min-height: 100px;
    padding: 12px;
    border: 1px solid var(--gray-200);
    border-radius: 8px;
    font-size: 14px;
    line-height: 1.7;
    resize: vertical;
    font-family: inherit;
}
.feed-publish-input:focus { border-color: var(--primary); outline: none; }
.feed-publish-tip { margin-top: 8px; font-size: 12px; color: var(--gray-400); line-height: 1.7; }
.feed-publish-foot { display: flex; justify-content: flex-end; align-items: center; gap: 10px; margin-top: 12px; }

/* 动态卡片 */
.feed-card {
    position: relative;
    background: #fff;
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    padding: 16px 20px;
    margin-bottom: 14px;
}
.feed-card:hover { box-shadow: 0 4px 14px rgba(108, 92, 231, .18); }
/* 整卡可点：拉伸链接铺满卡片，内部链接浮于其上 */
.feed-card-main::after { content: ''; position: absolute; inset: 0; z-index: 1; }
.feed-card a:not(.feed-card-main) { position: relative; z-index: 2; }
.feed-card-top {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
    font-size: 13px;
}
.feed-avatar { display: inline-block; width: 32px; height: 32px; border-radius: 50%; overflow: hidden; flex: none; }
.feed-avatar img { width: 100%; height: 100%; object-fit: cover; }
.feed-avatar-placeholder {
    background: var(--primary);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
}
.feed-author-name { font-weight: 600; color: var(--gray-700); text-decoration: none; }
.feed-author-name:hover { color: var(--primary); }
.feed-time { color: var(--gray-400); margin-left: auto; }
.feed-card-content { font-size: 15px; color: var(--gray-700); line-height: 1.8; word-break: break-all; }
.feed-topic { color: var(--primary); text-decoration: none; }
.feed-topic:hover { text-decoration: underline; }

/* 动态详情页 */
.feed-detail-content { font-size: 17px; color: var(--gray-800); line-height: 1.9; word-break: break-all; margin-bottom: 16px; }
.feed-detail-meta {
    display: flex;
    align-items: center;
    gap: 10px;
    padding-top: 14px;
    border-top: 1px solid var(--gray-100);
    font-size: 13px;
    color: var(--gray-400);
}
.feed-detail-back { margin-left: auto; color: var(--gray-500); text-decoration: none; }
.feed-detail-back:hover { color: var(--primary); }

/* 话题页 */
.huati-head { margin-bottom: 16px; }
.huati-title { font-size: 32px; font-weight: 700; color: var(--primary); margin-bottom: 10px; }
.huati-desc { font-size: 14px; color: var(--gray-500); line-height: 1.8; margin-bottom: 10px; }
.huati-count { font-size: 14px; color: var(--gray-500); }

/* 空态 */
.feed-empty {
    text-align: center;
    padding: 60px 0;
    color: var(--gray-500);
    background: #fff;
    border-radius: var(--radius);
    box-shadow: var(--shadow);
}
.feed-empty p { margin-bottom: 16px; font-size: 15px; }

/* 边栏热门动态（一行一个，超出省略） */
.sidebar-hot-feed { display: flex; flex-direction: column; }
.hot-feed-item {
    padding: 7px 0;
    font-size: 13px;
    color: var(--gray-600);
    text-decoration: none;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    border-bottom: 1px dashed var(--gray-100);
}
.hot-feed-item:last-child { border-bottom: none; }
.hot-feed-item:hover { color: var(--primary); }
.hot-topic-count { float: right; color: var(--gray-400); font-size: 12px; }

/* 边栏热门话题（标签云） */
.sidebar-tag-cloud { display: flex; flex-wrap: wrap; gap: 8px; }
.tag-cloud-item {
    padding: 3px 10px;
    background: var(--gray-50);
    border: 1px solid var(--gray-100);
    border-radius: 12px;
    font-size: 12px;
    color: var(--gray-600);
    text-decoration: none;
}
.tag-cloud-item span { margin-left: 4px; color: var(--gray-400); font-size: 11px; }
.tag-cloud-item:hover { color: var(--primary); border-color: var(--primary); }

/* 列表卡片：转发标记/查看全文/互动计数 */
.feed-repost-flag { font-size: 12px; color: var(--gray-400); margin-left: 6px; }
.feed-readmore { color: var(--primary); text-decoration: none; font-size: 14px; }
.feed-readmore:hover { text-decoration: underline; }
.feed-card-meta {
    display: flex;
    gap: 18px;
    padding-top: 10px;
    border-top: 1px solid var(--gray-100);
    font-size: 13px;
    color: var(--gray-400);
}

/* 转发引用卡（左竖线浅灰底，仅一层） */
.feed-quote {
    margin-top: 10px;
    padding: 10px 14px;
    background: var(--gray-50);
    border-left: 3px solid var(--gray-200);
    border-radius: 4px;
    font-size: 14px;
    color: var(--gray-600);
    line-height: 1.7;
    word-break: break-all;
}
.feed-quote-head { font-weight: 600; color: var(--gray-500); margin-bottom: 4px; font-size: 13px; }
.feed-quote-deleted { color: var(--gray-400); font-size: 13px; }
.feed-quote-full { margin-top: 14px; }
.feed-quote-goto { margin-top: 10px; }

/* 详情页：作者区/话题行/操作栏/转发表单 */
.feed-avatar-lg { width: 46px; height: 46px; }
.feed-detail-author { display: flex; flex-direction: column; gap: 2px; }
.feed-detail-author .feed-time { margin-left: 0; font-size: 12px; }
.feed-repost-title { font-size: 14px; color: var(--gray-500); margin-bottom: 10px; }
.feed-detail-topics { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.feed-topic-tag {
    padding: 3px 12px;
    background: rgba(108, 92, 231, 0.08);
    border-radius: 12px;
    font-size: 13px;
    color: var(--primary);
    text-decoration: none;
}
.feed-topic-tag:hover { background: rgba(108, 92, 231, 0.16); }
.feed-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    padding-top: 14px;
    border-top: 1px solid var(--gray-100);
}
.feed-action-btn {
    padding: 6px 18px;
    background: var(--gray-50);
    border: 1px solid var(--gray-200);
    border-radius: 18px;
    font-size: 14px;
    color: var(--gray-600);
    cursor: pointer;
    transition: all 0.15s;
}
.feed-action-btn:hover { border-color: var(--primary); color: var(--primary); }
.feed-action-btn.active { background: rgba(108, 92, 231, 0.08); border-color: var(--primary); color: var(--primary); }
.feed-action-count { margin-left: auto; font-size: 14px; color: var(--gray-400); }
.feed-repost-form { margin-top: 14px; }
.feed-repost-form .feed-publish-input { min-height: 70px; }

/* 评论区 */
.feed-section-title { font-size: 16px; font-weight: 600; margin-bottom: 14px; }
.feed-section-head { font-size: 16px; font-weight: 600; margin: 20px 0 12px; color: var(--gray-700); }
.feed-comment-form { margin-bottom: 18px; }
.feed-comment-form .feed-publish-input { min-height: 60px; }
.feed-comment-login { display: flex; gap: 10px; margin-bottom: 18px; }
.feed-comment-list { border-top: 1px solid var(--gray-100); }
.feed-comment-item { padding: 14px 0; border-bottom: 1px solid var(--gray-100); }
.feed-comment-item:last-child { border-bottom: none; }
.feed-comment-body { display: flex; align-items: center; gap: 10px; font-size: 13px; }
.feed-comment-at { color: var(--gray-400); font-size: 12px; }
.feed-comment-content { margin-top: 6px; font-size: 14px; color: var(--gray-700); line-height: 1.7; word-break: break-all; }
.feed-comment-reply { font-size: 12px; color: var(--gray-400); text-decoration: none; display: inline-block; margin-top: 6px; }
.feed-comment-reply:hover { color: var(--primary); }
.feed-comment-reply-tip { font-size: 12px; color: var(--primary); margin-right: auto; }
.feed-comment-children { margin-top: 10px; margin-left: 20px; padding-left: 14px; border-left: 2px solid var(--gray-100); }
.feed-comment-children .feed-comment-item { padding: 10px 0; }
.feed-comment-empty { text-align: center; color: var(--gray-400); padding: 30px 0; font-size: 14px; }

/* ===== 响应式 ===== */
/* 热门社群标题右侧按钮组 */
.hot-group-actions { display: flex; gap: 8px; align-items: center; }
/* 热门社群网格 */
.hot-group-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}
.hot-group-card {
    display: flex;
    gap: 10px;
    align-items: center;
    padding: 10px 0;
    border-bottom: 1px solid var(--gray-100);
}
.hot-group-card:last-child {
    border-bottom: none;
}
.hot-group-info {
    flex: 1;
    min-width: 0;
}
@media (max-width: 1200px) {
    .group-grid { grid-template-columns: repeat(2, 1fr); }
    .hot-group-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 900px) {
    .main-layout { flex-direction: column; }
    .main-content-area { width: 100%; }
    .sidebar-area { width: 100%; }
    .group-grid { grid-template-columns: 1fr; }
    .hot-group-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 480px) {
    .main-nav-links { gap: 12px; }
    .main-nav-links > .nav-item > a { font-size: 13px; }
    .topbar-left span:first-child { display: none; }
    .hot-group-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ===== 问答模块（33号入口 / 34号详情）===== */
.wenda-page { display: flex; flex-direction: column; gap: 16px; }
.wenda-search-card { padding: 16px; }
.wenda-search-form { display: flex; gap: 8px; }
.wenda-search-input { flex: 1; height: 42px; padding: 0 14px; border: 2px solid var(--primary-light); border-radius: var(--radius); font-size: 15px; }
.wenda-search-input:focus { border-color: var(--primary); outline: none; }
.wenda-ask-card { padding: 16px 20px 20px; }
.wenda-block-title { font-size: 17px; font-weight: 700; color: var(--gray-800); margin-bottom: 12px; }
.wenda-field { margin-bottom: 12px; }
.wenda-field-head { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 6px; }
.wenda-field-head label, .wenda-field-head span { font-size: 14px; font-weight: 600; color: var(--gray-700); }
.wenda-char-count { font-size: 12px; font-weight: 400; color: var(--gray-500); }
.wenda-char-count em { font-style: normal; color: var(--primary); }
.wenda-input, .wenda-textarea { width: 100%; padding: 9px 12px; border: 1px solid var(--gray-300); border-radius: var(--radius); font-size: 14px; font-family: inherit; color: var(--gray-700); background: #fff; }
.wenda-input:focus, .wenda-textarea:focus { border-color: var(--primary); outline: none; }
.wenda-textarea { resize: vertical; line-height: 1.7; }
.wenda-tip { margin-top: 6px; font-size: 12px; color: var(--gray-500); line-height: 1.6; }
.wenda-ask-foot { margin-top: 12px; display: flex; gap: 10px; align-items: center; }

/* Tab 与问点筛选条 */
.wenda-tabs { display: flex; background: #fff; border-radius: var(--radius); box-shadow: var(--shadow); overflow: hidden; }
.wenda-tab { flex: 1; text-align: center; padding: 12px 0; font-size: 15px; color: var(--gray-600); border-bottom: 2px solid transparent; }
.wenda-tab:hover { background: var(--gray-50); color: var(--primary); }
.wenda-tab.active { color: var(--primary); font-weight: 700; border-bottom-color: var(--primary); }
.wenda-filter-bar { display: flex; justify-content: space-between; align-items: center; padding: 10px 14px; background: #fff; border-left: 3px solid var(--primary); border-radius: var(--radius); box-shadow: var(--shadow); font-size: 13px; color: var(--gray-600); }
.wenda-filter-bar b { color: var(--primary); }
.wenda-filter-clear { color: var(--gray-500); }
.wenda-filter-clear:hover { color: var(--danger); }

/* 问题列表项：整卡可点，内部链接单独可点 */
.wenda-item { position: relative; padding: 16px 20px; transition: box-shadow .15s; }
.wenda-item:hover { box-shadow: var(--shadow-md); }
.wenda-item-main { position: absolute; top: 0; left: 0; right: 0; bottom: 0; z-index: 1; }
.wenda-item-body { position: relative; z-index: 2; pointer-events: none; }
.wenda-item-body a { pointer-events: auto; }
.wenda-item-title { font-size: 17px; font-weight: 600; color: var(--gray-800); margin-bottom: 6px; }
.wenda-item:hover .wenda-item-title { color: var(--primary); }
.wenda-badge { display: inline-block; margin-left: 6px; padding: 1px 7px; font-size: 12px; font-weight: 400; border-radius: 10px; vertical-align: 2px; }
.wenda-badge-solved { background: rgba(0, 184, 148, .12); color: var(--success); }
.wenda-badge-featured { background: rgba(253, 203, 110, .3); color: #b8860b; }
.wenda-item-summary { color: var(--gray-600); font-size: 14px; margin-bottom: 8px; }
.wenda-item-wendians { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 8px; }
.wenda-wendian-tag { padding: 2px 10px; font-size: 12px; color: var(--primary); background: rgba(108, 92, 231, .08); border-radius: 12px; }
.wenda-wendian-tag:hover { background: var(--primary); color: #fff; }
.wenda-item-foot { display: flex; align-items: center; gap: 14px; font-size: 12px; color: var(--gray-500); }
.wenda-item-author { display: inline-flex; align-items: center; gap: 6px; color: var(--gray-600); font-size: 13px; }
.wenda-item-author img { width: 22px; height: 22px; border-radius: 50%; object-fit: cover; }
.wenda-item-avatar-text { width: 22px; height: 22px; border-radius: 50%; background: var(--primary-light); color: #fff; font-size: 12px; display: inline-flex; align-items: center; justify-content: center; }
.wenda-item-counts { margin-left: auto; display: inline-flex; gap: 12px; }
.wenda-empty { padding: 40px; text-align: center; color: var(--gray-500); background: #fff; border-radius: var(--radius); box-shadow: var(--shadow); }

/* 详情页 */
.wenda-detail, .wenda-answer-box { padding: 20px 24px; }
.wenda-detail-title { font-size: 22px; font-weight: 700; color: var(--gray-800); line-height: 1.5; margin-bottom: 10px; }
.wenda-detail-meta { display: flex; align-items: center; gap: 14px; font-size: 12px; color: var(--gray-500); padding-bottom: 12px; border-bottom: 1px solid var(--gray-200); margin-bottom: 14px; }
.wenda-detail-edit { margin-left: auto; color: var(--primary); }
.wenda-detail-content { font-size: 15px; line-height: 1.9; color: var(--gray-700); margin-bottom: 14px; }
.wenda-detail-foot { padding-top: 14px; border-top: 1px solid var(--gray-200); }
.wenda-like-btn { padding: 6px 16px; font-size: 14px; color: var(--gray-600); background: var(--gray-50); border: 1px solid var(--gray-300); border-radius: 16px; cursor: pointer; }
.wenda-like-btn:hover { border-color: var(--primary); color: var(--primary); }
.wenda-like-btn.active { background: rgba(108, 92, 231, .1); border-color: var(--primary); color: var(--primary); font-weight: 600; }
.wenda-like-btn em { font-style: normal; }
.wenda-like-sm { padding: 3px 12px; font-size: 13px; }
.wenda-answer-form { margin-bottom: 18px; }
.wenda-answer { padding: 16px 0; border-top: 1px solid var(--gray-200); }
.wenda-solved-flag { display: inline-block; margin-bottom: 8px; padding: 2px 10px; font-size: 12px; color: #fff; background: var(--success); border-radius: var(--radius); }
.wenda-answer-head { display: flex; align-items: center; gap: 14px; font-size: 12px; color: var(--gray-500); margin-bottom: 8px; }
.wenda-answer-content { font-size: 15px; line-height: 1.8; color: var(--gray-700); margin-bottom: 8px; }
.wenda-answer-none { padding: 20px 0; text-align: center; color: var(--gray-500); border-top: 1px solid var(--gray-200); }
@media (max-width: 900px) {
    .wenda-tabs { flex-wrap: wrap; }
    .wenda-tab { flex: none; width: 50%; }
    .wenda-detail-title { font-size: 19px; }
    .wenda-item-counts { margin-left: 0; width: 100%; }
    .wenda-item-foot { flex-wrap: wrap; }
}

/* ===== 百科（39号）：入口三区块 + 详情页 ===== */
.baike-page { display: flex; flex-direction: column; gap: 16px; }
.baike-search-card { padding: 16px; display: flex; gap: 8px; }
.baike-search-form { display: flex; gap: 8px; flex: 1; min-width: 0; }
.baike-fabu-btn { white-space: nowrap; display: inline-flex; align-items: center; }
.baike-fabu-head { display: flex; align-items: center; justify-content: space-between; }
.baike-fabu-head .baike-block-title { margin-bottom: 0; }
.baike-fabu-back { font-size: 14px; color: var(--gray-500); text-decoration: none; }
.baike-fabu-back:hover { color: var(--primary); }
.baike-search-input { flex: 1; height: 42px; padding: 0 14px; border: 2px solid var(--primary-light); border-radius: var(--radius); font-size: 15px; }
.baike-search-input:focus { border-color: var(--primary); outline: none; }
.baike-ask-card { padding: 16px 20px 20px; }
.baike-block-title { font-size: 17px; font-weight: 700; color: var(--gray-800); margin-bottom: 12px; }
.baike-field { margin-bottom: 14px; }
.baike-field-head { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 6px; }
.baike-field-head label, .baike-field-head span { font-size: 14px; font-weight: 600; color: var(--gray-700); }
.baike-char-count { font-size: 12px; font-weight: 400; color: var(--gray-500); }
.baike-char-count em { font-style: normal; color: var(--primary); }
.baike-input, .baike-textarea { width: 100%; padding: 9px 12px; border: 1px solid var(--gray-300); border-radius: var(--radius); font-size: 14px; font-family: inherit; color: var(--gray-700); background: #fff; }
.baike-input:focus, .baike-textarea:focus { border-color: var(--primary); outline: none; }
.baike-textarea { resize: vertical; line-height: 1.7; }
.baike-tip { margin-top: 6px; font-size: 12px; color: var(--gray-500); line-height: 1.6; }
.baike-field-error { margin-top: 4px; font-size: 12px; color: var(--danger); min-height: 16px; }
.baike-ask-foot { margin-top: 14px; display: flex; gap: 10px; align-items: center; }
.baike-ask-guest .baike-input:disabled, .baike-ask-guest .baike-textarea:disabled { background: var(--gray-50); color: var(--gray-400); cursor: not-allowed; }

/* 词条URL：输入框右侧末尾冻结固定显示 .html */
.baike-slug-wrap { display: flex; align-items: stretch; }
.baike-slug-input { flex: 1; border-top-right-radius: 0; border-bottom-right-radius: 0; }
.baike-slug-suffix { display: flex; align-items: center; padding: 0 12px; background: var(--gray-100); border: 1px solid var(--gray-300); border-left: none; border-top-right-radius: var(--radius); border-bottom-right-radius: var(--radius); color: var(--gray-500); font-size: 14px; white-space: nowrap; }

/* 富文本详情：默认高度400px，右下角可拖拽扩大，最小400px */
.baike-editor-toolbar { border: 1px solid var(--gray-300); border-bottom: none; }
.baike-editor-container { height: 400px; min-height: 400px; border: 1px solid var(--gray-300); resize: vertical; overflow: auto; }
.baike-editor-container .w-e-text-container { min-height: 100% !important; }

/* Tab 切换 */
.baike-tabs { display: flex; background: #fff; border-radius: var(--radius); box-shadow: var(--shadow); overflow: hidden; }
.baike-tab { flex: 1; text-align: center; padding: 12px 0; font-size: 15px; color: var(--gray-600); border-bottom: 2px solid transparent; }
.baike-tab:hover { background: var(--gray-50); color: var(--primary); }
.baike-tab.active { color: var(--primary); font-weight: 700; border-bottom-color: var(--primary); }

/* 词条列表项：整卡可点 */
.baike-item { position: relative; padding: 16px 20px; transition: box-shadow .15s; }
.baike-item:hover { box-shadow: var(--shadow-md); }
.baike-item-main { position: absolute; top: 0; left: 0; right: 0; bottom: 0; z-index: 1; }
.baike-item-body { position: relative; z-index: 2; pointer-events: none; }
.baike-item-body a { pointer-events: auto; }
.baike-item-title { font-size: 17px; font-weight: 600; color: var(--gray-800); margin-bottom: 6px; }
.baike-item:hover .baike-item-title { color: var(--primary); }
.baike-item-summary { color: var(--gray-600); font-size: 14px; margin-bottom: 8px; line-height: 1.7; }
.baike-item-cilei { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 8px; }
.baike-cilei-chip { display: inline-block; padding: 2px 10px; font-size: 12px; color: var(--primary); background: rgba(108, 92, 231, .08); border-radius: 12px; text-decoration: none; transition: all .15s; cursor: pointer; }
.baike-cilei-chip:hover { background: var(--primary); color: #fff; }
.baike-item-foot { display: flex; align-items: center; gap: 14px; font-size: 12px; color: var(--gray-500); }
.baike-item-author { display: inline-flex; align-items: center; gap: 6px; color: var(--gray-600); font-size: 13px; }
.baike-item-author img { width: 22px; height: 22px; border-radius: 50%; object-fit: cover; }
.baike-item-avatar-text { width: 22px; height: 22px; border-radius: 50%; background: var(--primary-light); color: #fff; font-size: 12px; display: inline-flex; align-items: center; justify-content: center; }
.baike-empty { padding: 40px; text-align: center; color: var(--gray-500); background: #fff; border-radius: var(--radius); box-shadow: var(--shadow); }

/* 随机词条：仅标题，多列流式排版，一行尽可能多摆放 */
.baike-random-card { padding: 16px 20px; }
.baike-random-cols { display: flex; flex-wrap: wrap; gap: 8px 22px; }
.baike-random-item { font-size: 14px; color: var(--gray-700); line-height: 2; white-space: nowrap; }
.baike-random-item:hover { color: var(--primary); }

/* 详情页 */
.baike-detail { padding: 20px 24px; }
.baike-detail-title { font-size: 24px; font-weight: 700; color: var(--gray-800); line-height: 1.5; margin-bottom: 10px; }
.baike-detail-meta { display: flex; align-items: center; gap: 14px; font-size: 12px; color: var(--gray-500); padding-bottom: 12px; border-bottom: 1px solid var(--gray-200); margin-bottom: 14px; }
.baike-detail-summary { font-size: 15px; color: var(--gray-600); line-height: 1.8; padding: 12px 16px; background: var(--gray-50); border-left: 3px solid var(--primary-light); border-radius: 0 var(--radius) var(--radius) 0; margin-bottom: 16px; }
.baike-detail-content { font-size: 15px; line-height: 1.9; color: var(--gray-700); margin-bottom: 16px; word-break: break-word; }
.baike-detail-content img { max-width: 100%; height: auto; }
@media (max-width: 900px) {
    .baike-tabs { flex-wrap: wrap; }
    .baike-tab { flex: none; width: 50%; }
    .baike-detail-title { font-size: 20px; }
}

/* ===== 百科详情（40号）：注音/同名词/编辑/推荐词条/目录 ===== */
/* 词条名注音：后台手填 pinyin 原样显示在标题右侧【】内，不做逐字 ruby 拆分 */
.baike-pinyin-inline { font-size: 15px; color: var(--gray-400); font-weight: 400; margin-left: 6px; }

/* 区块小标题与编辑按钮行 */
.baike-block-head { display: flex; align-items: center; justify-content: space-between; margin: 18px 0 8px; }
.baike-sub-h { font-size: 15px; font-weight: 700; color: var(--gray-800); position: relative; padding-left: 10px; }
.baike-sub-h::before { content: ""; position: absolute; left: 0; top: 2px; bottom: 2px; width: 3px; background: var(--primary); border-radius: 2px; }
.baike-edit-btn { font-size: 12px; color: var(--primary); background: none; border: 1px solid var(--primary-light); border-radius: 12px; padding: 2px 10px; cursor: pointer; line-height: 1.6; }
.baike-edit-btn:hover { background: var(--primary); color: #fff; border-color: var(--primary); }

/* 同名词 */
.baike-synonyms { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; font-size: 14px; color: var(--gray-700); margin-bottom: 4px; }
.baike-syn-label { color: var(--gray-500); }
.baike-syn-none { color: var(--gray-400); }

/* 编辑表单 */
.baike-edit-form { margin: 4px 0 8px; }
.baike-edit-form .baike-textarea { margin-bottom: 8px; }
.baike-edit-row { display: flex; align-items: center; gap: 10px; margin-top: 8px; }
.baike-edit-row .baike-input { flex: 1; }
.btn-sm { padding: 5px 12px; font-size: 13px; }

/* 推荐词条：仅名称、可点，流式多列 */
.baike-related { padding: 16px 20px; }
.baike-related .baike-block-title { margin-bottom: 10px; }
.baike-related-list { display: flex; flex-wrap: wrap; gap: 8px 20px; }
.baike-related-item { font-size: 14px; color: var(--gray-700); line-height: 2; }
.baike-related-item:hover { color: var(--primary); }
.baike-empty-inline { color: var(--gray-400); font-size: 14px; }

/* 侧栏：词条目录 */
.baike-toc { list-style: none; margin: 0; padding: 0; max-height: 360px; overflow-y: auto; }
.baike-toc-item { line-height: 1.6; }
.baike-toc-item a { display: block; padding: 3px 0; font-size: 13px; color: var(--gray-600); border-left: 2px solid transparent; }
.baike-toc-item a:hover { color: var(--primary); }
.baike-toc-l3 a { font-size: 12.5px; }
.baike-toc-l4 a { font-size: 12px; color: var(--gray-500); }

/* 正文标题为平滑滚动预留顶部导航高度 */
.baike-detail-content h2, .baike-detail-content h3, .baike-detail-content h4 { scroll-margin-top: 80px; }

/* ===== 百科详情（41号）：标题序列号/修订表单/共创/参考资料/锁定标识 ===== */
/* 正文标题前的序列号（一、/1、/1.1），由控制器注入，与侧栏目录、修订目标下拉保持一致 */
.baike-hnum { color: var(--primary); font-weight: 700; margin-right: 6px; }

/* 锁定标识与「已锁定」标签 */
.baike-lock-tag { color: var(--gray-500); background: var(--gray-100); border-radius: 10px; padding: 1px 8px; font-size: 12px; }
.baike-revise-locked { font-size: 12px; color: var(--gray-400); }

/* 提交修订表单：类型单选行、目标位置行 */
.baike-revise-form { background: var(--gray-50); border: 1px solid var(--gray-200); border-radius: var(--radius); padding: 12px 14px; }
.baike-revise-types { display: flex; flex-wrap: wrap; gap: 8px 18px; font-size: 14px; color: var(--gray-700); margin-bottom: 10px; }
.baike-revise-types label { display: inline-flex; align-items: center; gap: 5px; cursor: pointer; }
.baike-revise-target { display: flex; align-items: center; gap: 8px; font-size: 14px; color: var(--gray-700); margin-bottom: 10px; }
.baike-revise-target select { flex: 1; min-width: 0; }

/* 共创贡献者 */
.baike-contrib { margin: 16px 0 4px; padding-top: 12px; border-top: 1px dashed var(--gray-200); font-size: 13px; color: var(--gray-500); }

/* 参考资料 */
.baike-refs { margin-top: 14px; }
.baike-refs-title { font-size: 14px; font-weight: 700; color: var(--gray-800); margin-bottom: 6px; }
.baike-refs-list { margin: 0; padding-left: 22px; font-size: 13px; color: var(--gray-600); line-height: 1.9; }
.baike-refs-list li { word-break: break-word; }
.baike-ref-src, .baike-ref-time { color: var(--gray-400); }

/* ===== 网址导航（45号） ===== */
.site-nav-page { padding: 6px 0 20px; }
.nav-block { margin-bottom: 18px; }
/* 第一个区块：导航名称 + SEO 描述 */
.nav-intro-title { font-size: 22px; font-weight: 700; color: var(--gray-800); margin: 0 0 8px; }
.nav-intro-desc { font-size: 14px; color: var(--gray-500); margin: 0; line-height: 1.7; }
/* 区块标题行：左侧文件夹图标+标题，右侧网址数量 */
.nav-block-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.nav-block-title { font-size: 17px; font-weight: 700; color: var(--gray-800); margin: 0; display: flex; align-items: center; line-height: 1.2; }
.nav-block-ico { margin-right: 8px; font-size: 16px; }
.nav-block-count { font-size: 13px; color: var(--gray-400); white-space: nowrap; }
.site-nav-empty { color: var(--gray-400); font-size: 14px; margin: 0; }
/* 区块内网址：流式换行，横向间隔 20px、上下行距 8px */
.nav-links { display: flex; flex-wrap: wrap; column-gap: 20px; row-gap: 8px; }
.nav-links a { display: inline-block; font-size: 15px; color: var(--gray-700); line-height: 1.5; }
.nav-links a:hover { color: var(--primary); }
/* 区块为侧栏「快速导航」锚点跳转预留吸顶主导航高度 */
.nav-block { scroll-margin-top: 80px; }
/* 侧栏「快速导航」：区块名靠左、链接数胶囊靠右，整行可点 */
.nav-quick-list { list-style: none; margin: 0; padding: 0; }
.nav-quick-item a { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 7px 0; font-size: 13px; color: var(--gray-700); border-bottom: 1px dashed var(--gray-100); text-decoration: none; }
.nav-quick-item:last-child a { border-bottom: none; }
.nav-quick-item a:hover { color: var(--primary); }
.nav-quick-item span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nav-quick-item em { font-style: normal; flex-shrink: 0; min-width: 22px; text-align: center; padding: 1px 7px; font-size: 12px; color: var(--gray-500); background: var(--gray-100); border-radius: 10px; }
