/* 论坛全局外挂样式 */
 .forum-container {
     display: grid;
     grid-template-columns: 280px 1fr;
     gap: 24px;
     max-width: 100%; /* 解除物理宽幅限制，允许网格全屏展开 */
     margin: 20px 0 20px 0; /* 剥离 auto 居中属性，强制网格贴合视窗左侧 */
     padding: 0 20px;
     flex: 1 0 auto; 
 }

/* 顶部状态栏固定逻辑 */
.forum-dashboard {
    position: fixed;
    top: 0;           /* 贴顶，与 pc-nav 同层级，无需偏移 80px */
    left: 280px;      /* 避开左侧固定导航栏 */
    right: 0;
    width: calc(100% - 280px);
    display: flex;
    justify-content: space-around;
    align-items: center;
    padding: 10px 20px;
    z-index: 1000;
    background-color: var(--nav-bg);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid var(--nav-border);
    box-sizing: border-box;
    height: 60px;
}

 .forum-sidebar {
     grid-column: 1;
     grid-row: 1;
     position: sticky;
     top: 20px; /* 挂载吸顶引擎，防止伴随信息流滚动而丢失视野 */
     height: fit-content;
 }

.forum-main {
    grid-column: 2;
    grid-row: 1;
    width: 100%;
}

/* 核心模块边界装甲 */
.module-border {
    background: var(--nav-bg);
    border: 1px solid var(--nav-border);
    border-radius: 4px;
    padding: 16px;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
    transition: background-color 0.4s ease, border-color 0.4s ease;
}

.forum-header {
    margin-bottom: 40px;
    border-left: 4px solid var(--accent-color);
    padding-left: 16px;
}

.forum-header h2 {
    font-size: 2rem;
    color: var(--text-title);
    margin: 0 0 8px 0;
}

.forum-header p {
    color: var(--text-main);
    font-size: 0.9rem;
    margin: 0;
}

 /* 论坛页脚：在 scroll-container 末尾自然流排列，覆写首页的 absolute 定位 */
 .forum-page .site-footer {
     position: relative !important;
     bottom: auto !important;
     left: auto !important;
     width: 100% !important;
     margin-top: auto !important;
     flex-shrink: 0; /* 拒绝在容器高度受限时被压缩坍塌 */
 }

/* 编辑器区域 */
/* 发帖区抽离至浮窗内共享组件样式 */
.post-modal-content input,
.post-modal-content textarea,
.post-modal-content select {
    width: 100%;
    background-color: var(--input-bg);
    border: 1px solid var(--input-border);
    color: var(--text-title);
    padding: 12px;
    border-radius: 4px;
    margin-bottom: 16px;
    font-family: inherit;
    transition: all 0.3s ease;
}

/* 彻底放开输入框限制，提升富文本输入体验 */
.post-modal-content textarea {
    min-height: 250px; /* 扩展编辑高度 */
    resize: vertical;
}

/* 修复：单独压制回复浮窗内输入框的高度，释放空间 */
#replyContent {
    min-height: 60px !important;
    height: 60px;
}

.post-modal-content input:focus,
.post-modal-content textarea:focus,
.post-modal-content select:focus {
    border-color: var(--accent-color);
    outline: none;
}

.toolbar {
    margin-bottom: 16px;
}

.toolbar button {
    background: transparent;
    border: 1px solid var(--text-main);
    color: var(--text-main);
    padding: 6px 12px;
    border-radius: 4px;
    cursor: pointer;
    font-size: 0.8rem;
}

.toolbar button:hover {
    border-color: var(--accent-color);
    color: var(--accent-color);
}

/* 动态网格总线，实现高度完全对齐 */
.editor-actions {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    margin-top: 16px;
    gap: 16px;
    flex-wrap: wrap;
}

/* 物理强制人机验证框不溢出 */
#forumTurnstileWidget {
   /* 控制验证码的绝对缩放比例：0.8 代表缩小为原本尺寸的 80% */
   transform: scale(0.8);
   /* 维持左侧原点对齐以防脱离排版流 */
   transform-origin: left center;
   /* 配合缩放因子修正物理高度 (65px * 0.8 = 52px) */
   height: 52px;
    display: flex;
    align-items: center;
    overflow: hidden;
}

.btn-submit {
    background-color: var(--accent-color);
    color: #000;
    border: none;
    padding: 0 32px;
    font-weight: bold;
    cursor: pointer;
    border-radius: 4px;
    height: 52px; /* 与重置后的微缩验证码高度保持严格对齐 */
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.1rem;
    transition: opacity 0.3s ease;
}

/* 信息流列表 */
.topic-card {
    position: relative;
    overflow: visible; /* 释放容器边缘限制，允许下拉菜单在Z轴越界显示 */
    background-color: var(--nav-bg);
    border: 1px solid var(--nav-border);
    border-radius: 4px;
    padding: 20px;
    margin-bottom: 20px;
}

/* 移动端防溢出全局盒模型修正 */
*, *::before, *::after {
    box-sizing: border-box;
}

/* 统一三横线下拉菜单系统 */
.dropdown-container {
     position: relative; 
     display: inline-block; }
.dropdown-trigger {
     background: transparent; 
     border: none; 
     color: var(--text-main); 
     font-size: 1.4rem; 
     cursor: pointer; 
     padding: 0 8px; 
     line-height: 1; 
     transition: color 0.3s ease; 
    }

.dropdown-trigger:hover {
     color: var(--accent-color); 
    }

/* 右侧管理下拉菜单 (三横杠 ≡ 弹出的操作菜单) */
.dropdown-menu {
     display: none; 
     position: absolute; 
     right: 0; top: 120%; 
     background-color: var(--nav-bg); 
     border: 1px solid var(--nav-border); 
     border-radius: 4px; box-shadow: 0 4px 12px rgba(0,0,0,0.5); 
     z-index: 100; 
     max-width: 100px;  /* 调整菜单的宽度 */
     overflow: hidden; 
    }

.dropdown-menu.show {
     display: block; 
     animation: fadeIn 0.2s ease; 
    }

.dropdown-menu button {
     display: block; 
     width: 100%; 
     text-align: left; 
     background: none; 
     border: none; 
     padding: 10px 16px; 
     color: var(--text-main); 
     cursor: pointer; 
     font-size: 0.85rem; 
     border-bottom: 1px solid rgba(255,255,255,0.05); 
     transition: background 0.2s ease; 
    }

.dropdown-menu button:last-child {
     border-bottom: none; 
    }

.dropdown-menu button:hover {
     background-color: var(--input-bg); color: var(--accent-color); }
.admin-action {
     color: #FF9F0A !important; }

/* 底部社交数据舱段 */
.topic-social-footer {
     display: flex; gap: 20px; 
     margin-top: 16px; 
     padding-top: 12px; 
     border-top: 1px dashed var(--nav-border); 
    }

.social-btn {
     background: transparent; 
     border: none; 
     color: var(--text-main); 
     cursor: pointer; 
     display: flex; 
     align-items: center; 
     gap: 6px; 
     font-size: 0.85rem; 
     transition: color 0.3s ease; padding: 0; 
    }

.social-btn:hover {
     color: var(--accent-color); 
    }

/* 版块管理头部伸缩布局 */
.category-block-header {
     display: flex; 
     justify-content: space-between; 
     align-items: center; 
    }

.topic-meta {
    display: flex;
    justify-content: space-between;
    border-bottom: 1px dashed var(--nav-border);
    padding-bottom: 12px;
    margin-bottom: 16px;
}

.topic-author {
    font-weight: 700;
    color: var(--accent-color);
}

.topic-time {
    font-size: 0.8rem;
    color: var(--text-main);
}

/* Markdown 渲染引擎样式 */
.markdown-body {
    color: var(--text-title);
    line-height: 1.6;
}

.markdown-body p { margin-top: 0; }

.markdown-body a {
    color: var(--accent-color);
    text-decoration: none;
}

/* 修复：确保 Markdown 中的图片能够自适应渲染，不超宽不溢出 */
.markdown-body img {
    max-width: 100%;
    height: auto;
    border-radius: 4px;
    display: block;
    margin: 12px 0;
    border: 1px solid var(--nav-border);
    box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}

.forum-uploaded-img {
    max-width: 100%;
    height: auto;
    border-radius: 4px;
    border: 1px solid #333;
    margin: 10px 0;
}

/* 16:9 响应式视频容器 */
.video-container {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    border-radius: 4px;
    margin: 16px 0;
}

.video-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.water-drop-badge {
    background-color: #ff3b30;
    color: white;
    font-size: 11px;
    padding: 2px 6px;
    border-radius: 10px;
    vertical-align: super;
}

.category-block h3 {
    cursor: pointer;
    user-select: none;
    transition: color 0.3s ease;
    display: flex;
    align-items: center;
    gap: 8px;
}

.category-block h3:hover {
    color: var(--accent-color);
}

.sub-categories {
    margin-top: 12px;
    padding-left: 16px;
    border-left: 1px solid var(--nav-border);
    overflow: hidden;
    transition: max-height 0.4s cubic-bezier(0.25, 0.8, 0.25, 1), opacity 0.4s ease;
    max-height: 500px;
    opacity: 1;
}

.sub-categories.hidden {
    max-height: 0;
    opacity: 0;
    margin-top: 0;
    pointer-events: none;
}

/* 侧边栏鉴权输入组件工业风适配 */
.auth-form-box {
    padding: 10px 0 20px 0;
    border-bottom: 1px solid var(--nav-border);
    margin-bottom: 20px;
}

.auth-form-box h4 {
    font-size: 0.95rem;
    color: var(--text-title);
    margin-bottom: 16px;
    letter-spacing: 1px;
    text-transform: uppercase;
    border-left: 2px solid var(--accent-color);
    padding-left: 8px;
}

.auth-input-group {
    position: relative;
    margin-bottom: 12px;
    display: flex;
    gap: 8px;
}

.auth-input-group input {
    width: 100%;
    padding: 10px 12px;
    background-color: var(--input-bg);
    border: 1px solid var(--input-border);
    color: var(--text-title);
    border-radius: 4px;
    font-size: 0.85rem;
    outline: none;
    transition: border-color 0.3s ease;
}

.auth-input-group input:focus {
    border-color: var(--accent-color);
}

.email-group button, .pwd-group button {
    background-color: var(--btn-bg);
    border: 1px solid var(--btn-border);
    color: var(--text-main);
    padding: 0 12px;
    border-radius: 4px;
    cursor: pointer;
    font-size: 0.75rem;
    white-space: nowrap;
    transition: all 0.3s ease;
}

.email-group button:hover, .pwd-group button:hover {
    border-color: var(--accent-color);
    color: var(--text-title);
}

.auth-turnstile-wrapper {
    margin: 12px 0;
    max-width: 100%;
    overflow: hidden;
}

.btn-auth-submit {
    width: 100%;
    padding: 12px;
    background-color: var(--accent-color);
    border: none;
    color: #000;
    font-weight: 700;
    font-size: 0.85rem;
    cursor: pointer;
    border-radius: 4px;
    letter-spacing: 1px;
    transition: opacity 0.2s ease;
}

.btn-auth-submit:hover {
    opacity: 0.9;
}

.auth-status-msg {
    margin-top: 10px;
    font-size: 0.8rem;
    text-align: center;
}

.auth-form-footer {
    margin-top: 12px;
    font-size: 0.8rem;
    text-align: center;
}

.auth-form-footer a {
    color: var(--accent-color);
    text-decoration: none;
    transition: color 0.3s ease;
}

.auth-form-footer a:hover {
    color: var(--text-title);
}

.auth-prompt-msg {
    background-color: rgba(255, 59, 48, 0.15);
    border: 1px solid #FF3B30;
    color: #FF3B30;
    padding: 8px;
    border-radius: 4px;
    font-size: 0.75rem;
    margin-bottom: 12px;
    text-align: center;
    line-height: 1.4;
}

/* 新增：账户控制项垂直排列总线 */
.user-action-matrix {
    display: flex;
    flex-direction: column;
    gap: 8px;
    width: 100%;
    box-sizing: border-box;
}

/* 新增：标准紧凑型控制按钮样式 */
.btn-user-op {
    width: 100%;
    padding: 10px 12px;
    background-color: var(--input-bg);
    border: 1px solid var(--input-border);
    color: var(--text-main);
    font-size: 0.8rem;
    font-weight: 600;
    cursor: pointer;
    border-radius: 4px;
    transition: all 0.3s ease;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.btn-user-op:hover {
    border-color: var(--accent-color);
    color: var(--text-title);
    background-color: rgba(0, 255, 255, 0.02);
}

/* 新增：高危危险动作按钮防误触涂装 */
.btn-danger-action {
    color: #FF3B30;
}

.btn-danger-action:hover {
    background-color: rgba(255, 59, 48, 0.08) !important;
    border-color: #FF3B30 !important;
    color: #FF453A !important;
}

/* 更新：调整原登出按钮间距 */
.btn-logout {
    margin-top: 4px;
    background-color: transparent !important;
    border: 1px solid #FF3B30 !important;
    color: #FF3B30 !important;
}

.btn-logout:hover {
    background-color: #FF3B30 !important;
    color: #000 !important;
}

/* 全局遮罩物理浮窗架构 */
.auth-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.6);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    z-index: 2000; /* 高于固定侧边栏的 100 */
    display: flex;
    justify-content: center;
    align-items: center;
}

.auth-modal-content {
    width: 100%;
    max-width: 400px;
    position: relative;
    max-height: 90vh; /* 防溢出物理干涉 */
    overflow-y: auto;
    animation: modalFission 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
    background-color: var(--nav-bg) !important;
    scrollbar-width: thin;
}

@keyframes modalFission {
    from { transform: scale(0.95); opacity: 0; }
    to { transform: scale(1); opacity: 1; }
}

.auth-modal-close {
    position: absolute;
    top: 12px;
    right: 16px;
    background: none;
    border: none;
    color: var(--text-main);
    font-size: 1.5rem;
    cursor: pointer;
    line-height: 1;
    transition: color 0.2s ease;
}

.auth-modal-close:hover {
    color: #FF3B30;
}

/* 新主题专属空间拓展 */
.post-modal-content {
    max-width: 800px;   /* 控制电脑端的最大宽度 */
    width: 90%; /* 控制移动端的百分比宽度 */
    padding: 30px;
}

/* 响应式降维：移动端自动坍缩并重组网格流 (CSS Grid  display:contents) */
@media (max-width: 1023px) {
    .forum-container {
        grid-template-columns: 1fr 1fr; /* 划分为两列，以支持按钮和版块并排 */
        gap: 12px;
        margin: 5px 0 20px 0;
    }
    .forum-dashboard {
        left: 0;
        width: 100%;
        /* 新增：强制移动端状态栏绝对贴顶，无视安全区及隐藏元素的物理偏移 */
        position: fixed !important;
        top: 0 !important;
        margin-top: 0 !important;
    }
    .forum-scroll {
        height: calc(100vh - 60px);
    }

    /* 释放 HTML 容器的物理束缚，允许侧边栏与主容器的所有子模块直接参与顶级 Grid 排版 */
    .forum-sidebar, .forum-main {
        display: contents;
    }

    /* 1. 搜索框：强制提升至最上方，横跨两列 (状态栏正下方) */
    .search-panel {
        grid-column: 1 / 3;
        grid-row: 1;
        margin-top: 0 !important;
    }

    /* 2. 发帖按钮：拦截至第二行左侧的半幅区域 */
    .forum-sidebar > .btn-submit {
        grid-column: 1 / 2;
        grid-row: 2;
        margin-top: 0 !important;
        width: 100% !important;
        height: 44px; /* 微调移动端触控高度与头部对齐 */
        font-size: 0.9rem;
    }

    /* 3. 版块信息：拦截至第二行右侧，允许纵向展开版块列表 */
    .category-panel {
        grid-column: 2 / 3;
        grid-row: 2;
        margin-top: 0 !important;
        padding: 0 !important;
        border: none !important;
        background: transparent !important;
        box-shadow: none !important;
        display: flex;
        flex-direction: column; /* 释放垂直空间以容纳下方的版块列表 */
    }

    /* 重置版块头部自带的 margin，并与左侧按钮的44px高度严格对齐 */
    .category-panel > div:first-child {
        margin-bottom: 8px !important;
        width: 100%;
        height: 44px; 
        display: flex;
        align-items: center;
        justify-content: space-between;
    }

    /* 缩小标题字号适配半幅网格 */
    .category-panel h4 {
        font-size: 0.85rem !important; 
    }

    /* 移动端默认物理隐藏版块列表，节约屏幕空间 */
    #sidebarSectorList {
        display: none !important;
        width: 100%;
        background-color: var(--nav-bg);
        border: 1px solid var(--nav-border);
        border-radius: 4px;
        padding: 4px 10px !important;
    }

    /* 移动端激发态：配合点击事件触发展开 */
    #sidebarSectorList.mobile-show {
        display: block !important;
    }

    /* 4. 账户信息与统计：排列在下方第三、第四行 */
    .account-panel {
        grid-column: 1 / 3;
        grid-row: 3;
        margin-top: 8px;
    }

    .stats-grid {
        grid-column: 1 / 3;
        grid-row: 4;
    }

    /* 5. 动态内容列表(Recent Activity)：最下方，占满宽幅 */
    .recent-topics {
        grid-column: 1 / 3;
        grid-row: 5;
        width: 100%;
    }
}

/* 移动端发帖区物理挤压保护 */
@media (max-width: 768px) {
    .editor-actions {
        flex-direction: column;
        align-items: stretch;
    }
    
    #forumTurnstileWidget {
        justify-content: center;
        margin-bottom: 8px;
    }
    
    .btn-submit {
        width: 100%;
    }
}

/* ==========================================================================
   GLOBAL NOTIFICATION BOX (全局滑动式响应提示框)
   ========================================================================== */
.toast-container {
    position: fixed;
    top: 24px;
    right: 24px;
    z-index: 9999;
    display: flex;
    flex-direction: column;
    gap: 12px;
    pointer-events: none;
}

.toast-box {
    pointer-events: auto;
    min-width: 280px;
    max-width: 360px;
    background-color: var(--nav-bg);
    border: 1px solid var(--nav-border);
    border-left: 4px solid var(--accent-color);
    color: var(--text-title);
    padding: 16px 20px;
    border-radius: 4px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
    font-size: 0.85rem;
    line-height: 1.4;
    display: flex;
    align-items: center;
    justify-content: space-between;
    backdrop-filter: blur(10px);
    
    /* 初始状态位于屏幕右侧外 */
    transform: translateX(calc(100%  40px));
    transition: transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
}

/* 状态激发态：向左滑入视图 */
.toast-box.slide-in {
    transform: translateX(0);
}

/* 状态湮灭态：向右滑出视图 */
.toast-box.slide-out {
    transform: translateX(calc(100%  40px));
}

/* 针对不同响应结果的侧边装甲色彩微调 */
.toast-box.toast-success { border-left-color: #34C759; }
.toast-box.toast-error { border-left-color: #FF3B30; }
.toast-box.toast-info { border-left-color: var(--accent-color); }

/* 顶部数据监控看板 */
.dashboard-stat {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
}

.dashboard-stat .stat-label {
    font-size: 0.8rem;
    color: var(--text-main);
    text-transform: uppercase;
    letter-spacing: 1px;
    text-align: center; /* 新增：设置文本水平居中 */
/*    white-space: nowrap; */ /* 强制单行显示，禁止折行 */
}

.dashboard-stat .stat-value {
    font-size: 1.0rem;
    font-weight: 800;
    color: var(--text-title);
}

/* 论坛滚动容器：覆写首页的 snap 强制全屏滚动行为 */
.forum-scroll {
    scroll-snap-type: none;
    overflow-y: auto;
    height: calc(100vh - 60px);
    margin-top: 60px;
    display: flex;
    flex-direction: column;
}

/* 对话框遮罩层 (全屏，暗化) */
.machina-dialog-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.85); /* 深色透明背景 */
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 10000; /* 确保在最顶层 */
    backdrop-filter: blur(4px); /* 背景模糊，增加科技感 */
}

/* 对话框主窗口 */
.machina-dialog-window {
background-color: #1a1d21; /* 深灰色金属底色 */
    border: 2px solid #3f474f; /* 暗金属边框 */
    border-radius: 4px; /* 较硬的圆角 */
    
    /* 修复：使用宽幅与最大宽幅的组合，替代 min-width，以兼容移动端 */
    width: 90%; 
    max-width: 800px; 
    
    box-shadow: 0 0 20px rgba(0, 255, 255, 0.2), /* 霓虹蓝外发光 */
    inset 0 0 10px rgba(0, 0, 0, 0.5); /* 内部阴影，增加深度 */
    font-family: 'Courier New', Courier, monospace; /* 使用单色/代码字体 */
    overflow: hidden;
    animation: machinaDialogSlideIn 0.3s ease-out;
}

@keyframes machinaDialogSlideIn {
    from { transform: translateY(-30px); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
}

/* 头部 */
.machina-dialog-header {
    background-color: #262a30;
    padding: 10px 15px;
    border-bottom: 1px solid #3f474f;
    display: flex;
    align-items: center;
}

.machina-dialog-title {
    color: #00ffff; /* 霓虹青色标题 */
    font-weight: bold;
    text-transform: uppercase; /* 大写 */
    letter-spacing: 1px;
    text-shadow: 0 0 5px rgba(0, 255, 255, 0.5);
}

/* 主体 */
.machina-dialog-body {
    padding: 20px 15px;
}

.machina-dialog-message {
    color: #a0aab5; /* 暗灰色文本 */
    margin: 0 0 15px 0;
    font-size: 14px;
}

/* 输入框 (机械/单色风格) */
.machina-dialog-input {
    width: 100%;
    padding: 8px 10px;
    background-color: #101214; /* 极深色背景 */
    border: 1px solid #00aaaa; /* 暗青色边框 */
    color: #00ffff; /* 青色输入文本 */
    font-family: 'Courier New', Courier, monospace;
    font-size: 14px;
    outline: none;
    box-sizing: border-box;
}

.machina-dialog-input:focus {
    border-color: #00ffff;
    box-shadow: 0 0 10px rgba(0, 255, 255, 0.4);
}

/* 底部按钮区域 */
.machina-dialog-footer {
    background-color: #262a30;
    padding: 10px 15px;
    border-top: 1px solid #3f474f;
    display: flex;
    justify-content: flex-end;
    gap: 10px;
}

/* 机械风格通用按钮 */
.machina-btn {
    padding: 6px 16px;
    font-family: 'Courier New', Courier, monospace;
    font-size: 12px;
    font-weight: bold;
    text-transform: uppercase;
    cursor: pointer;
    border: 1px solid transparent;
    transition: all 0.2s;
    outline: none;
    border-radius: 2px;
}

/* 确认/提交按钮 (青色/霓虹) */
.machina-btn-confirm {
    background-color: transparent;
    border-color: #00cccc;
    color: #00cccc;
}

.machina-btn-confirm:hover,
.machina-btn-confirm:focus {
    background-color: rgba(0, 255, 255, 0.1);
    border-color: #00ffff;
    color: #00ffff;
    box-shadow: 0 0 10px rgba(0, 255, 255, 0.4);
}

/* 取消/关闭按钮 (暗色/红色) */
.machina-btn-cancel {
    background-color: transparent;
    border-color: #666;
    color: #999;
}

.machina-btn-cancel:hover {
    background-color: rgba(255, 0, 0, 0.05);
    border-color: #aa0000;
    color: #ff4444;
}

/* 新增：利用 CSS 强行截断文本，使其最多只展示 2 行，超出部分显示省略号 */
.topic-content.collapsed-view {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    cursor: pointer; /* 改变指针状态提示用户此处可点击 */
}

/* ==========================================================================
   新增：浅色模式（Light Theme）下工业视觉缺陷与对比度物理重写
   ========================================================================== */
.light-theme .module-border {
    background: #ffffff;
    border-color: #e2e8f0;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03);
}

.light-theme .topic-card {
    background-color: #ffffff;
    border-color: #e2e8f0;
}

.light-theme .machina-date-picker {
    background-color: #f8fafc;
    border-color: #cbd5e1;
    color: #0f172a;
}

.light-theme .btn-user-op {
    background-color: #f1f5f9;
    border-color: #cbd5e1;
    color: #334155;
}

.light-theme .btn-user-op:hover {
    border-color: var(--accent-color);
    color: #0f172a;
    background-color: #f8fafc;
}

.light-theme .auth-modal-content {
    background-color: #ffffff !important;
    border-color: #cbd5e1;
}

.light-theme .machina-dialog-window {
    background-color: #ffffff;
    border-color: #cbd5e1;
    box-shadow: 0 10px 40px rgba(0, 204, 204, 0.08);
}

.light-theme .machina-dialog-header {
    background-color: #f1f5f9;
    border-bottom-color: #cbd5e1;
}

.light-theme .machina-dialog-footer {
    background-color: #f1f5f9;
    border-top-color: #cbd5e1;
}

.light-theme .machina-dialog-input {
    background-color: #f8fafc;
    border-color: #cbd5e1;
    color: #0f172a;
}

.light-theme .machina-dialog-message {
    color: #475569;
}

.light-theme #pwdStrengthContainer {
    color: #475569;
}