
    .dashboard-container {
        display: flex;
        flex-direction: column;
        gap: 6px;
        width: 100%;
        max-width: 100%;
        padding: 2px;
        overflow-x: hidden;
    }

    /* 上部区域：左半(指标卡+分时图) + 右半(涨停时间轴) 各占 50% */
    .top-section {
        display: flex;
        gap: 6px;
        padding: 2px 0;
        overflow: hidden;
    }

    /* 上部左半区域：指标卡 + 分时图 */
    .top-left-half {
        display: flex;
        gap: 6px;
        flex: 1 1 50%;
        min-width: 0;
    }

    /* 上部右半区域：涨停时间轴 */
    .top-right-half {
        flex: 1 1 50%;
        min-width: 0;
    }

    /* 右半区域内时间轴列表限制高度 */
    .top-right-half .timeline-list {
        height: 210px;
        max-height: 210px;
    }

    .indicator-panel {
        display: flex;
        flex-direction: column;
        height: 210px;
    }

    .chart-panel,
    .timeline-panel {
        display: flex;
        flex-direction: column;
    }

    /* top-section 内的子面板统一高度 */
    .top-section .chart-panel,
    .top-section .top-right-half {
        height: 210px;
    }

    /* 指标卡片 - 两列四排布局，每行左右结构 */
    .indicator-cards {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: repeat(4, 1fr);
        gap: 4px;
        padding: 4px;
        height: 100%;
    }

    /* 单个指标卡：左右结构 */
    .indicator-card {
        display: flex;
        align-items: center;
        justify-content: space-between;
        background: var(--bg-tertiary);
        border: 1px solid transparent;
        border-radius: 4px;
        padding: 4px 6px;
        cursor: pointer;
        transition: all 0.2s ease;
    }

    .indicator-card:hover {
        background: var(--hover-bg);
        border-color: var(--border-color);
    }

    .indicator-card.active {
        background: rgba(88, 166, 255, 0.12);
        border-color: var(--accent-blue);
    }

    .indicator-left {
        display: flex;
        flex-direction: column;
        justify-content: center;
        font-size: 12px;
        color: var(--text-secondary);
        flex-shrink: 0;
        gap: 1px;
    }

    .indicator-left .v-text {
        display: inline-block;
        line-height: 1.2;
    }

    .indicator-right {
        display: flex;
        flex-direction: column;
        align-items: flex-end;
        flex-shrink: 0;
    }

    .indicator-value {
        font-size: 13px;
        font-weight: 700;
        color: var(--text-primary);
        font-family: var(--font-mono);
        line-height: 1.2;
    }

    .indicator-value.up { color: var(--color-up); }
    .indicator-value.down { color: var(--color-down); }

    .indicator-yesterday {
        font-size: 9px;
        color: var(--text-muted);
    }

    /* 图表容器 */
    .chart-container {
        flex: 1;
        height: 190px;
        padding: 2px;
    }

    .chart-title {
        font-size: 12px;
        font-weight: 600;
        color: var(--text-primary);
        padding: 6px 8px 2px;
        text-align: center;
    }

    /* 时间轴列表 - 加宽后显示涨停原因 */
    .timeline-list {
        flex: 1;
        overflow-y: auto;
        padding: 4px;
    }

    /* analysis-row-section 内的 timeline-list 不再存在，移除 */

    /* ========== 热点轮动表格（占 analysis-row-section 左半宽度，与盘面分析对齐） ========== */
    .hot-rotation-panel {
        display: flex;
        flex-direction: column;
        /* 宽度由内联 flex: 0 0 50% 控制（固定占一半，不参与剩余空间分配） */
        min-width: 0;
        max-height: none;
        background: var(--bg-secondary);
        border: 1px solid var(--border-color);
        border-radius: 6px;
        overflow: hidden;
    }

    /* 顶部栏：标题 + 提示 */
    .hr-top-bar {
        display: flex;
        align-items: center;
        gap: 6px;
        padding: 6px 10px 4px;
        flex-shrink: 0;
        border-bottom: 1px solid var(--border-color);
    }

    .hr-top-bar__title {
        font-size: 12px;
        font-weight: 600;
        color: var(--text-secondary);
        letter-spacing: 0.5px;
    }

    .hr-top-bar__hint {
        font-size: 10px;
        color: var(--text-muted);
        font-weight: 500;
        margin-left: 4px;
    }

    /* ========== 今日炒什么近 7 日热点矩阵表格（行：排名，列：日期，无首列）========== */
    .jtcsm-recent-scroll {
        flex: 1;
        overflow-y: auto;
        overflow-x: auto;
    }

    .jtcsm-recent-table {
        border-collapse: separate;
        border-spacing: 0;
        width: 100%;
        table-layout: fixed;
    }

    /* 表头：各日期（最右为最新） */
    .jtcsm-recent-table thead th {
        position: sticky;
        top: 0;
        z-index: 2;
        background: var(--bg-tertiary);
        font-size: 11px;
        font-weight: 600;
        color: var(--text-secondary);
        padding: 5px 4px;
        border-bottom: 1px solid var(--border-color);
        white-space: nowrap;
        text-align: center;
        font-family: var(--font-mono);
        letter-spacing: 0.3px;
    }

    /* 每个日期列：固定 60px 最小宽度，剩余空间按 1fr 平分 */
    .jtcsm-recent-table thead th.jtcsm-recent-date-col,
    .jtcsm-recent-table tbody td.jtcsm-recent-heat-cell {
        width: 60px;
        min-width: 60px;
        max-width: 60px;
    }

    /* 日期单元格 */
    .jtcsm-recent-table tbody td.jtcsm-recent-heat-cell {
        padding: 4px 2px;
        border-bottom: 1px solid rgba(0, 0, 0, 0.04);
        border-right: 1px solid rgba(0, 0, 0, 0.03);
        vertical-align: middle;
        text-align: center;
    }

    /* 单元格主体：方向 + 热度 + 走势，三行 */
    .jtcsm-recent-heat-clickable {
        cursor: pointer;
        transition: background 0.15s;
        line-height: 1.35;
    }

    .jtcsm-recent-heat-clickable:hover {
        background: rgba(88, 166, 255, 0.08);
    }

    .jtcsm-recent-direction {
        font-size: 10px;
        font-weight: 600;
        color: var(--text-primary);
        overflow-wrap: break-word;
        word-break: break-all;
        line-height: 1.3;
        max-width: 100%;
    }

    .jtcsm-recent-heat {
        font-size: 9px;
        font-weight: 500;
        color: var(--text-primary);
        padding: 0 2px;
        border-radius: 2px;
        font-family: var(--font-mono);
        line-height: 1.5;
        display: inline-block;
        margin-top: 1px;
        white-space: nowrap;
    }

    /* 最新交易日走势：平均涨幅 + 主力净额，紧凑两行展示 */
    .jtcsm-recent-stats {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 1px;
        margin-top: 2px;
        font-family: var(--font-mono);
        line-height: 1.4;
    }

    /* 平均涨幅（%）：独立着色 */
    .jtcsm-recent-zdf {
        font-size: 9px;
        font-weight: 600;
        color: var(--text-secondary);
        display: inline-block;
        padding: 0 1px;
        white-space: nowrap;
    }

    /* 主力净额：独立着色（资金流向决定，不受涨跌影响） */
    .jtcsm-recent-inflow {
        font-size: 8px;
        font-weight: 500;
        color: var(--text-muted);
        white-space: nowrap;
        display: inline-block;
        padding: 0 1px;
    }

    /* 各数值独立着色：跌/流出为绿，涨/流入为红 */
    .jtcsm-recent-zdf.down,
    .jtcsm-recent-inflow.down {
        color: var(--color-down);
    }

    .jtcsm-recent-zdf.up,
    .jtcsm-recent-inflow.up {
        color: var(--color-up);
    }

    /* 强信号板块：主力净流入 > 10 亿 或 平均涨幅 > 5%，标记为紫色（淡底 + 左色条） */
    .jtcsm-recent-heat-cell.jtcsm-recent-surge {
        background: var(--color-surge-bg);
        box-shadow: inset 2px 0 0 var(--color-surge);
    }
    .jtcsm-recent-heat-cell.jtcsm-recent-surge.jtcsm-recent-heat-clickable:hover {
        background: var(--color-surge-bg);
    }

    /* 空白单元格（该日该排名无事件） */
    .jtcsm-recent-heat-empty {
        background: transparent;
    }

    /* 表格自身：列均分（无首列排名） */
    .timeline-item {
        display: flex;
        align-items: center;
        padding: 4px 5px;
        border-radius: 4px;
        margin-bottom: 2px;
        background: var(--bg-tertiary);
        transition: background 0.2s;
        gap: 5px;
    }

    .timeline-item:hover {
        background: var(--hover-bg);
    }

    .timeline-item.clickable {
        cursor: pointer;
    }

    .timeline-item.clickable:hover {
        background: rgba(88, 166, 255, 0.1);
    }

    .timeline-time {
        font-size: 10px;
        color: var(--text-secondary);
        font-family: var(--font-mono);
        flex-shrink: 0;
        width: 40px;
    }

    .timeline-time.early-zt {
        color: var(--color-up);
        font-weight: 600;
    }

    .timeline-name {
        font-size: 12px;
        color: var(--text-primary);
        font-weight: 500;
        flex-shrink: 0;
        width: 60px;
    }

    .timeline-name.special-stock {
        color: var(--color-brown);
    }

    .timeline-name.up-name {
        color: var(--color-up);
    }

    .timeline-item.timeline-up {
        border-left: 2px solid var(--color-up);
    }

    /* 状态标签：涨停/跌停/炸板，颜色独立标记在标签词上，与板块色（创业板蓝/科创板橙）分离 */
    .timeline-tag {
        font-size: 10px;
        font-weight: 500;
        padding: 0 3px;
        border-radius: 3px;
        line-height: 16px;
        flex-shrink: 0;
    }
    .timeline-tag.tag-zt { color: var(--color-up); background: rgba(234, 56, 0, 0.12); }
    .timeline-tag.tag-dt { color: var(--color-down); background: rgba(86, 183, 170, 0.12); }
    .timeline-tag.tag-zb { color: var(--color-brown); background: rgba(138, 109, 75, 0.16); }

    /* 创业板（30 开头）：天蓝色边框 */
    .timeline-item.timeline-cy {
        border-left: 2px solid var(--gem-blue);
    }

    .timeline-name.cy-name {
        color: var(--gem-blue);
    }

    /* 科创板（68 开头）：橙色边框 */
    .timeline-item.timeline-star {
        border-left: 2px solid var(--star-orange);
    }

    .timeline-name.star-name {
        color: var(--star-orange);
    }

    /* 北交所（8/4 开头）：黄色边框 */
    .timeline-item.timeline-bj {
        border-left: 2px solid var(--bj-yellow);
    }

    .timeline-name.bj-name {
        color: var(--bj-yellow);
    }

    .timeline-reason {
        font-size: 10px;
        color: var(--text-secondary);
        flex: 1;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .timeline-empty {
        text-align: center;
        color: var(--text-muted);
        font-size: 12px;
        padding: 20px;
    }

    /* 盘中 LLM 盘面分析区域 + 右侧趋势股/自选股 */
    .analysis-row-section {
        display: flex;
        gap: 6px;
        height: 525px;
        padding: 0;
        margin: 0;
    }

    /* 盘面分析顶部栏：标题 + 时间 + 指标摘要 + 查看更多按钮，允许整体换行 */
    .ma-top-bar {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        gap: 4px 6px;
        padding: 5px 8px;
        flex-shrink: 0;
        border-bottom: 1px solid var(--border-color);
        background: var(--bg-tertiary);
    }

    .ma-top-bar__title {
        font-size: 12px;
        font-weight: 600;
        color: var(--text-secondary);
        letter-spacing: 0.5px;
        flex-shrink: 0;
    }

    /* 顶部栏时间：紧跟标题，等宽字体弱化 */
    .ma-top-bar__time {
        font-size: 11px;
        font-family: var(--font-mono);
        color: var(--text-primary);
        font-weight: 600;
        flex-shrink: 0;
    }

    /* 顶部栏指标容器：占满剩余宽度，内部指标自动换行 */
    .ma-top-bar__metrics {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        gap: 4px;
        flex: 1 1 auto;
        min-width: 0;
    }

    /* 桌面端顶部栏按钮：作为 ma-top-bar 直接子元素，靠 margin-left:auto 贴右；不被 metrics.innerHTML 覆盖 */
    .ma-top-bar > .ma-desktop-more {
        margin-left: auto;
    }

    /* 顶部栏免责声明标签：风险提示红，与页面「不构成投资建议」警示口径一致 */
    .ma-disclaimer {
        font-size: 11px;
        font-weight: 500;
        color: var(--color-up);
        flex-shrink: 0;
        line-height: 16px;
        padding: 0 6px 0 4px;
        border-left: 2px solid var(--color-up);
        background: color-mix(in srgb, var(--color-up) 9%, transparent);
        border-radius: 2px;
        white-space: nowrap;
    }

    /* 移动端标题栏：桌面端整体隐藏（标题由 ma-top-bar 承担） */
    .ma-mobile-header {
        display: none;
    }

    /* 顶部栏单个指标：轻量左侧色条 + 标签文字，与页面风格统一 */
    .ma-top-metric {
        display: inline-flex;
        align-items: center;
        gap: 3px;
        font-size: 11px;
        padding: 0 5px 0 4px;
        border-radius: 2px;
        flex-shrink: 0;
        border-left: 2px solid;
        line-height: 16px;
    }

    .ma-top-metric__label {
        color: var(--text-muted);
        font-weight: 500;
    }

    .ma-top-metric__value {
        font-weight: 600;
        font-family: var(--font-mono);
    }

    /* 趋势股/自选股面板（按容器等分伸缩，去掉最小宽度约束，避免窄屏横向溢出） */
    .analysis-row-section > .right-list-panel {
        flex: 1 1 0 !important;
        min-width: 0;
        max-height: none;
    }

    .analysis-row-section > .right-list-panel .table-wrapper {
        max-height: 520px;
        overflow-y: auto;
    }

    /* 「查看更多」按钮（复用 analysis-header-more 样式） */
    .analysis-header-more {
        display: inline-flex !important;
        align-items: center;
        gap: 4px;
        font-size: 11px;
        color: var(--accent-blue);
        background: none;
        border: 1px solid rgba(88, 166, 255, 0.2);
        border-radius: 3px;
        padding: 1px 8px;
        cursor: pointer;
        transition: all 0.2s ease;
        flex-shrink: 0;
        line-height: 16px;
    }

    .analysis-header-more:hover {
        background: rgba(88, 166, 255, 0.1);
        border-color: rgba(88, 166, 255, 0.5);
        box-shadow: 0 0 8px rgba(88, 166, 255, 0.15);
    }

    /* 最新一条分析内容：固定高度，溢出滚动 */
    .analysis-card {
        background: var(--bg-secondary);
        border: 1px solid var(--border-color);
        border-radius: 6px;
        padding: 10px 12px;
        transition: border-color 0.2s, box-shadow 0.2s;
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
    }

    .analysis-card:hover {
        border-color: rgba(88, 166, 255, 0.3);
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04), 0 0 12px rgba(88, 166, 255, 0.06);
    }

    .analysis-card-head {
        display: flex;
        align-items: center;
        gap: 8px;
        margin-bottom: 8px;
    }

    .analysis-card-time {
        font-size: 12px;
        font-family: var(--font-mono);
        font-weight: 600;
        color: var(--text-primary);
    }

    .analysis-card-temp {
        font-size: 11px;
        padding: 2px 8px;
        border-radius: 4px;
        background: var(--bg-tertiary);
        color: var(--text-secondary);
        border: 1px solid var(--border-color);
    }

    .analysis-card-body {
        display: flex;
        flex-direction: column;
        gap: 5px;
    }

    /* 每行：分类标签 + 股票列表，允许换行 */
    .analysis-dir {
        display: flex;
        align-items: flex-start;
        gap: 0;
        flex-wrap: wrap;
        font-size: 11px;
        line-height: 1.8;
        padding: 1px 0;
    }

    /* 分类标签 — 轻量左侧色条 + 文字，与页面风格统一 */
    .analysis-dir-label {
        display: inline-flex;
        align-items: center;
        gap: 2px;
        font-weight: 600;
        font-size: 11px;
        padding: 1px 6px 1px 5px;
        border-radius: 3px;
        flex-shrink: 0;
        margin: 2px 5px 2px 0;
        border-left: 2px solid;
    }

    .analysis-dir-label.label-opportunity {
        color: var(--color-up);
        border-left-color: var(--color-up);
        background: rgba(234, 56, 0, 0.08);
    }

    .analysis-dir-label.label-risk {
        color: var(--color-down);
        border-left-color: var(--color-down);
        background: rgba(86, 183, 170, 0.08);
    }

    /* 观察方向 — 低权重灰阶，与机会(红)/风险(绿)形成层级差，提示"苗头待确认" */
    .analysis-dir-label.label-observe {
        color: var(--text-secondary);
        border-left-color: var(--text-secondary);
        background: color-mix(in srgb, var(--text-secondary) 6%, transparent);
        font-weight: 500;
    }

    /* 股票列表容器 */
    .analysis-dir-stocks {
        display: inline;
        color: var(--text-secondary);
    }

    /* 单个股票 — 轻量文字，悬停时微微高亮 */
    .analysis-stock {
        display: inline;
        padding: 0 2px;
        border-radius: 3px;
        cursor: pointer;
        margin: 0;
        font-size: 11px;
        font-weight: 500;
        color: var(--text-primary);
        transition: all 0.15s ease;
    }

    .analysis-stock:hover {
        color: var(--accent-blue);
        background: rgba(88, 166, 255, 0.08);
    }

    /* 股票涨跌幅标签 */
    .analysis-stock-zdf {
        display: inline-block;
        padding: 0 2px;
        border-radius: 2px;
        font-size: 10px;
        font-family: var(--font-mono);
        font-weight: 600;
        margin-left: 1px;
        line-height: 14px;
        vertical-align: middle;
    }

    .analysis-stock-zdf.zdf-up {
        color: var(--color-up);
        background: rgba(234, 56, 0, 0.1);
    }

    .analysis-stock-zdf.zdf-down {
        color: var(--color-down);
        background: rgba(0, 194, 136, 0.1);
    }

    .analysis-stock-zdf.zdf-flat {
        color: var(--text-muted);
        background: var(--bg-tertiary);
    }

    /* 涨超 5% 异动（紫色） — 仅上涨侧 */
    .zdf-surge {
        color: var(--color-surge) !important;
        font-weight: 700;
    }

    /* NEW 标签 — 轻量小标记 */
    .analysis-tag-new {
        display: inline-block;
        font-size: 9px;
        font-weight: 600;
        color: var(--color-up);
        margin-left: 3px;
        padding: 0 3px;
        border-radius: 2px;
        background: rgba(234, 56, 0, 0.1);
        line-height: 14px;
        vertical-align: middle;
    }

    .analysis-empty {
        color: var(--text-muted);
        font-size: 12px;
        padding: 20px 0;
        text-align: center;
    }

    /* 中部区域 */
    .middle-section {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        gap: 6px;
        min-height: 505px;
    }

    /* 中部区域的表格容器 */
    .middle-section .table-wrapper {
        overflow-x: auto;
        overflow-y: auto;
        max-height: 405px;
    }

    /* 右侧列表自适应宽度，最小 150px，可伸缩 */
    .right-list-panel {
        flex: 1 1 150px;
        display: flex;
        flex-direction: column;
        min-width: 0;
        max-height: 520px;
    }

    .right-list-panel .table-wrapper {
        max-height: 505px;
        overflow-y: auto;
    }

    /* 成交额 / 趋势股列表列更多，分配更多空间 */
    .right-list-panel.amount-panel {
        flex: 1 1 0;
    }

    /* 热度前 30 面板：与同区域其他面板平分宽度（基准 0，flex 等分） */
    .right-list-panel.hot-panel {
        flex: 1 1 0;
    }

    /* 重点监控股面板：与同区域其他面板平分宽度（基准 0，flex 等分） */
    .right-list-panel.key-watch-panel {
        flex: 1 1 0;
    }

    /* 自选股面板（与其他表格等宽分配，按容器伸缩） */
    .right-list-panel.favorite-panel {
        flex: 1 1 0;
        min-width: 0;
    }

    .right-list-panel .table-wrapper {
        flex: 1;
        overflow-y: auto;
    }

    .right-list-panel .data-table th,
    .right-list-panel .data-table td {
        padding: 3px 3px;
        font-size: 11px;
    }

    /* 下部区域 */
    .bottom-section {
        display: flex;
        gap: 6px;
        height: 530px;
    }

    /* 盘面分析结果面板 */
    .market-analysis-panel {
        display: flex;
        flex-direction: column;
    }

    /* 盘面分析滚动容器 */
    .market-analysis-scroll {
        flex: 1;
        overflow-y: auto;
        overflow-x: hidden;
        max-height: 530px;
        padding: 8px 10px;
    }

    /* 盘面分析空状态 */
    .market-analysis-empty {
        width: 100%;
        text-align: center;
        color: var(--text-muted);
        font-size: 12px;
        padding: 20px;
    }

    /* 盘面分析 — 方向区域兜底（attack/retreat 全部落空时的说明文案，明示非数据异常） */
    .ma-direction-empty {
        font-size: 11px;
        color: var(--text-muted);
        padding: 6px 10px;
        margin: 2px 0 6px;
        background: rgba(128, 128, 128, 0.05);
        border-left: 2px solid var(--border-color);
        border-radius: 2px;
        line-height: 1.5;
    }

    /* 盘面分析 — 头部信息栏 */
    .ma-header {
        display: flex;
        align-items: center;
        gap: 8px;
        margin-bottom: 8px;
        flex-wrap: wrap;
    }

    .ma-header-title {
        font-size: 12px;
        font-weight: 600;
        color: var(--text-secondary);
        letter-spacing: 0.5px;
    }

    .ma-header-time {
        font-size: 12px;
        font-family: var(--font-mono);
        font-weight: 600;
        color: var(--text-primary);
    }

    .ma-header-date {
        font-size: 11px;
        font-family: var(--font-mono);
        color: var(--text-secondary);
    }

    /* 盘面综述 */
    .ma-overview {
        font-size: 12px;
        line-height: 1.7;
        color: var(--text-primary);
        padding: 8px 10px;
        background: var(--bg-tertiary);
        border-radius: 4px;
        margin-bottom: 8px;
        border-left: 2px solid var(--accent-blue);
    }

    /* 仓位 + 操作建议栏 */
    .ma-action-bar {
        display: flex;
        align-items: center;
        gap: 12px;
        margin-bottom: 8px;
        padding: 6px 10px;
        background: var(--bg-tertiary);
        border-radius: 4px;
        font-size: 11px;
    }

    .ma-position {
        display: inline-flex;
        align-items: center;
        gap: 4px;
        color: var(--text-primary);
    }

    .ma-position-value {
        font-family: var(--font-mono);
        font-size: 13px;
        font-weight: 700;
    }

    .ma-advice {
        color: var(--text-secondary);
        flex: 1;
    }

    /* 方向区块标题 */
    .ma-section-label {
        font-size: 11px;
        font-weight: 600;
        color: var(--text-muted);
        margin: 8px 0 4px;
        letter-spacing: 0.5px;
    }

    /* 复用分析方向样式 */
    .market-analysis-scroll .analysis-dir {
        padding: 2px 0;
    }

    .market-analysis-scroll .analysis-dir-label {
        font-size: 11px;
    }

    .market-analysis-scroll .analysis-stock {
        font-size: 11px;
    }

    .market-analysis-scroll .analysis-stock-zdf {
        font-size: 10px;
    }

    /* 风险提示 */
    .ma-risk-list {
        margin-top: 6px;
        padding: 0;
        list-style: none;
    }

    .ma-risk-item {
        font-size: 11px;
        color: var(--text-secondary);
        padding: 2px 0 2px 12px;
        position: relative;
        line-height: 1.6;
    }

    .ma-risk-item::before {
        content: '⚠';
        position: absolute;
        left: 0;
        font-size: 10px;
        color: var(--color-down);
        opacity: 0.7;
    }

    /* 对比上次分析 */
    .ma-vs-prev {
        font-size: 11px;
        color: var(--text-muted);
        margin-top: 6px;
        padding: 4px 8px;
        background: var(--bg-tertiary);
        border-radius: 3px;
        line-height: 1.6;
    }

    /* 区块分割线 */
    .ma-section-divider {
        height: 1px;
        background: var(--border-color);
        margin: 8px 0;
        opacity: 0.5;
    }

    /* 「分析过程」标签 — 比结论区标签弱化 */
    .ma-label-process {
        opacity: 0.5;
    }

    /* 分析过程块容器 */
    .ma-process-block {
        margin-bottom: 4px;
    }

    /* 仓位/分析理由文本 */
    .ma-reasoning {
        font-size: 11px;
        color: var(--text-secondary);
        line-height: 1.7;
        padding: 4px 0;
    }

    /* 理由前缀标签（仓位理由/较上次） */
    .ma-reasoning-label {
        display: inline-block;
        font-size: 10px;
        font-weight: 600;
        color: var(--text-muted);
        margin-right: 4px;
        padding: 0 4px;
        background: var(--bg-tertiary);
        border-radius: 2px;
    }

    /* 分析维度信息栏（大盘情绪温度 / 短线情绪温度等维度共用） */
    .ma-sentiment-bar {
        display: flex;
        align-items: center;
        gap: 6px;
        flex-wrap: wrap;
        margin-bottom: 4px;
    }

    .ma-sentiment-chip {
        font-size: 11px;
        font-weight: 600;
        padding: 1px 6px 1px 5px;
        border-radius: 3px;
        border-left: 2px solid;
        color: var(--text-secondary);
    }

    .ma-sentiment-score {
        font-size: 11px;
        font-family: var(--font-mono);
        color: var(--text-primary);
        font-weight: 600;
    }

    /* 分析维度关键信号 */
    .ma-signals {
        display: flex;
        flex-wrap: wrap;
        gap: 4px 8px;
        margin-top: 4px;
    }

    .ma-signal-tag {
        font-size: 11px;
        color: var(--text-secondary);
        padding: 1px 4px 1px 5px;
        border-left: 2px solid;
        line-height: 1.6;
    }

    /* 资金面机构信号 */
    .ma-institutional {
        font-size: 11px;
        color: var(--text-secondary);
        padding: 2px 0;
    }

    /* 方向区块 */
    .ma-direction-block {
        margin-bottom: 6px;
        padding: 4px 6px;
        border-radius: 3px;
        background: var(--bg-tertiary);
    }

    .ma-direction-head {
        display: flex;
        align-items: center;
        gap: 6px;
        margin-bottom: 3px;
    }

    .ma-persistence {
        font-size: 10px;
        font-weight: 600;
    }

    /* 方向内个股列表 */
    .ma-direction-stocks {
        display: flex;
        flex-wrap: wrap;
        gap: 3px 6px;
        padding: 2px 0;
    }

    .ma-stock-item {
        display: inline-flex;
        align-items: center;
        gap: 2px;
        padding: 1px 3px;
        border-radius: 3px;
        cursor: pointer;
        transition: background 0.15s;
    }

    .ma-stock-item:hover {
        background: rgba(88, 166, 255, 0.08);
    }

    .ma-stock-name {
        font-size: 11px;
        font-weight: 500;
        color: var(--text-primary);
    }

    .ma-stock-reason {
        font-size: 10px;
        color: var(--text-muted);
        max-width: 400px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    /* 方向证据 */
    .ma-direction-evidence {
        font-size: 10px;
        color: var(--text-muted);
        line-height: 1.5;
        margin-top: 2px;
        padding-top: 2px;
        border-top: 1px solid var(--border-color);
    }

    /* 下部区域的热点分类表格 - 宽度自适应 */
    .bottom-section .hot-spot-wrapper {
        flex: 1;
        display: flex;
        flex-direction: column;
        min-width: 0;
    }

    .bottom-section .hot-spot-wrapper .table-wrapper {
        overflow-x: auto;
        overflow-y: auto;
        max-height: 530px;
    }

    /* 主题列表表格：table-layout:fixed 下配合 colgroup 锁定列宽，单元格内容超长省略号截断
     *   - 数据列宽度由 colgroup 固定，不随内容/排序变化抖动
     *   - 名称列弹性吸收剩余空间，长主题名 ellipsis 截断 */
    [data-table-id="theme-watch-table"] {
        table-layout: fixed;
        width: 100%;
    }

    /* colgroup 数据列：桌面端固定 70px，名称列弹性吸收剩余空间 */
    [data-table-id="theme-watch-table"] .col-data {
        width: 70px;
    }

    [data-table-id="theme-watch-table"] th,
    [data-table-id="theme-watch-table"] td {
        overflow: hidden;
        text-overflow: ellipsis;
    }

    /* 主题列表名称列：可点击跳转，纯文字风格 + 悬停微高亮（符合轻量交互规范） */
    [data-table-id="theme-watch-table"] td.theme-name-link {
        cursor: pointer;
        transition: background 0.15s ease;
    }

    [data-table-id="theme-watch-table"] td.theme-name-link:hover {
        background: var(--hover-bg);
    }

    /* 热点分类表格 - 大屏不设置最小宽度，列宽自适应容器（不出现横向滚动条） */

    /* 表格行选中 */
    .data-table tbody tr.selected {
        background: rgba(88, 166, 255, 0.1);
    }

    /* 表格紧凑排列 */
    .data-table th {
        padding: 4px 6px;
        font-size: 12px;
        white-space: nowrap;
    }

    .data-table td {
        padding: 3px 6px;
        font-size: 12px;
        white-space: nowrap;
    }

    .data-table .empty-row td {
        padding: 20px;
    }

    /* 中部表格更紧凑 */
    .middle-section .data-table th,
    .middle-section .data-table td {
        padding: 3px 5px;
        font-size: 11px;
    }

    /* 排序功能样式 */
    .data-table th.sortable {
        cursor: pointer;
        user-select: none;
        transition: background 0.2s;
        position: relative;
    }

    .data-table th.sortable:hover {
        background: var(--hover-bg);
    }

    .sort-icon {
        display: inline-block;
        margin-left: 4px;
        opacity: 0.3;
        transition: opacity 0.2s, transform 0.2s;
    }

    .sort-icon::before {
        content: '↕';
        font-size: 10px;
    }

    .data-table th.sortable:hover .sort-icon {
        opacity: 0.6;
    }

    .data-table th.sortable.sort-asc .sort-icon,
    .data-table th.sortable.sort-desc .sort-icon {
        opacity: 1;
    }

    .data-table th.sortable.sort-asc .sort-icon::before {
        content: '↑';
        color: var(--accent-blue);
    }

    .data-table th.sortable.sort-desc .sort-icon::before {
        content: '↓';
        color: var(--accent-blue);
    }

    /* 棕黄色标记（非 60、00 开头的股票） */
    .data-table td.special-stock {
        color: var(--color-brown) !important;
    }

    /* 天蓝色标记（30 开头的创业板股票） */
    .data-table td.blue-stock {
        color: var(--gem-blue) !important;
    }

    /* 橙色标记（68 开头的科创板股票） */
    .data-table td.star-stock {
        color: var(--star-orange) !important;
    }

    /* 黄色标记（8/4 开头的北交所股票） */
    .data-table td.bj-stock {
        color: var(--bj-yellow) !important;
    }

    [data-theme="dark"] {
        --color-brown: #8a6d4b;
    }

    [data-theme="light"] {
        --color-brown: #6b4423;
    }

    /* 数据变更闪烁动效 */
    @keyframes cell-flash-up {
        0% { background-color: transparent; }
        30% { background-color: rgba(234, 57, 67, 0.25); }
        100% { background-color: transparent; }
    }
    @keyframes cell-flash-down {
        0% { background-color: transparent; }
        30% { background-color: rgba(0, 194, 136, 0.25); }
        100% { background-color: transparent; }
    }
    @keyframes cell-flash-neutral {
        0% { background-color: transparent; }
        30% { background-color: rgba(88, 166, 255, 0.2); }
        100% { background-color: transparent; }
    }
    @keyframes indicator-flash-up {
        0% { background-color: var(--bg-tertiary); }
        30% { background-color: rgba(234, 57, 67, 0.15); }
        100% { background-color: var(--bg-tertiary); }
    }
    @keyframes indicator-flash-down {
        0% { background-color: var(--bg-tertiary); }
        30% { background-color: rgba(0, 194, 136, 0.15); }
        100% { background-color: var(--bg-tertiary); }
    }

    .cell-changed-up {
        animation: cell-flash-up 1s ease-out;
    }
    .cell-changed-down {
        animation: cell-flash-down 1s ease-out;
    }
    .cell-changed-neutral {
        animation: cell-flash-neutral 1s ease-out;
    }
    .indicator-changed-up {
        animation: indicator-flash-up 1s ease-out;
    }
    .indicator-changed-down {
        animation: indicator-flash-down 1s ease-out;
    }

    /* 表格遮罩层 */
    .table-overlay {
        position: absolute;
        inset: 0;
        z-index: 10;
        display: flex;
        align-items: center;
        justify-content: center;
        background: var(--bg-tertiary);
        border-radius: 4px;
        opacity: 1;
        transition: opacity 0.6s ease;
        pointer-events: none;
    }

    /* 盘面分析面板：遮罩只覆盖内容区，不覆盖顶部栏（顶部栏已有标题） */
    .market-analysis-panel > .table-overlay {
        top: auto;
        bottom: 0;
    }

    /* 移动端表格名称标签 - 默认隐藏 */
    .mobile-table-label {
        display: none;
    }

    .table-overlay.fade-out {
        opacity: 0;
    }

    .table-overlay::after {
        content: attr(data-overlay-text);
        font-size: 13px;
        font-weight: 600;
        color: var(--text-secondary);
        letter-spacing: 2px;
    }


    /* ========== 全局股票搜索 Modal（Shift+F 唤起）========== */
    #stock-search-overlay {
        position: fixed;
        inset: 0;
        z-index: 10000;
        display: none;
        align-items: flex-start;
        justify-content: center;
        padding-top: 12vh;
        background: rgba(0, 0, 0, 0.45);
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.2s ease-out;
    }
    #stock-search-overlay.ssm-open,
    #stock-search-overlay.ssm-opening,
    #stock-search-overlay.ssm-closing {
        display: flex;
    }
    #stock-search-overlay.ssm-opening {
        visibility: visible;
        opacity: 1;
        animation: ssm-overlay-fade-in 0.2s ease-out forwards;
    }
    #stock-search-overlay.ssm-open {
        visibility: visible;
        opacity: 1;
    }
    #stock-search-overlay.ssm-closing {
        visibility: visible;
        opacity: 0;
        transition: opacity 0.16s ease-in;
    }
    @keyframes ssm-overlay-fade-in {
        from { opacity: 0; }
        to   { opacity: 1; }
    }
    #stock-search-overlay.ssm-opening #stock-search-panel {
        animation: ssm-slide-in 0.2s ease-out forwards;
    }
    #stock-search-overlay.ssm-open #stock-search-panel {
        opacity: 1;
    }
    #stock-search-overlay.ssm-closing #stock-search-panel {
        animation: ssm-slide-out 0.16s ease-in forwards;
    }
    @keyframes ssm-slide-in {
        from { opacity: 0; transform: translateY(-12px) scale(0.98); }
        to   { opacity: 1; transform: translateY(0) scale(1); }
    }
    @keyframes ssm-slide-out {
        from { opacity: 1; transform: translateY(0) scale(1); }
        to   { opacity: 0; transform: translateY(-8px) scale(0.98); }
    }

    /* 搜索面板 */
    #stock-search-panel {
        width: 480px;
        max-width: calc(100vw - 32px);
        background: var(--bg-secondary);
        border: 1px solid var(--border-color);
        border-top: 2px solid var(--accent-blue);
        border-radius: 10px;
        box-shadow: 0 12px 40px rgba(0, 0, 0, 0.45);
        overflow: hidden;
        opacity: 0;
    }
    /* 顶部标题栏 */
    #stock-search-header {
        display: flex;
        align-items: baseline;
        justify-content: space-between;
        padding: 8px 12px 4px;
    }
    .ssm-title {
        font-size: 12px;
        font-weight: 600;
        color: var(--accent-blue);
        letter-spacing: 0.5px;
    }
    .ssm-hint {
        font-size: 10px;
        color: var(--text-muted);
    }
    /* 搜索输入框 */
    #stock-search-box {
        position: relative;
        padding: 0 12px 8px;
    }
    .ssm-input-icon {
        position: absolute;
        left: 20px;
        top: 6px;
        width: 14px;
        height: 14px;
        color: var(--text-muted);
        pointer-events: none;
    }
    #stock-search-input {
        width: 100%;
        box-sizing: border-box;
        padding: 6px 10px 6px 30px;
        font-size: 13px;
        color: var(--text-primary);
        background: var(--bg-tertiary);
        border: 1px solid var(--border-color);
        border-radius: 6px;
        outline: none;
        transition: border-color 0.2s, box-shadow 0.2s;
    }
    #stock-search-input::placeholder {
        color: var(--text-muted);
        font-size: 12px;
    }
    #stock-search-input:focus {
        border-color: var(--accent-blue);
        box-shadow: 0 0 0 2px rgba(88, 166, 255, 0.15);
    }
    /* 结果列表 */
    #stock-search-results {
        max-height: 360px;
        overflow-y: auto;
        border-top: 1px solid var(--border-color);
    }
    .ssm-placeholder {
        padding: 24px 12px;
        text-align: center;
        color: var(--text-muted);
        font-size: 11px;
    }
    .ssm-item {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 7px 12px;
        cursor: pointer;
        font-size: 12px;
        border-bottom: 1px solid var(--border-color);
        transition: background 0.12s;
    }
    .ssm-item:last-child {
        border-bottom: none;
    }
    .ssm-item:hover,
    .ssm-item-active {
        background: var(--hover-bg);
    }
    .ssm-item-active {
        box-shadow: inset 2px 0 0 var(--accent-blue);
    }
    .ssm-item-left {
        display: flex;
        align-items: baseline;
        gap: 6px;
        min-width: 0;
    }
    .ssm-name {
        font-weight: 500;
        color: var(--text-primary);
    }
    .ssm-industry {
        color: var(--text-secondary);
        font-size: 10px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .ssm-code {
        color: var(--text-muted);
        font-family: var(--font-mono);
        font-size: 10px;
        flex-shrink: 0;
        margin-left: 8px;
    }


    /* ========== 股票列表组件在盯盘页的容器 ========== */
    .stock-list__header {
        font-size: 12px;
        font-weight: 600;
        color: var(--text-secondary);
        padding: 5px 8px 2px;
        letter-spacing: 0.5px;
        flex-shrink: 0;
    }
    /* 带右侧操作按钮的标题：文字左、图标右，两端对齐 */
    .stock-list__header--with-action {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 8px;
    }
    /* 搜索图标按钮：低饱和轻量风格，仅 hover 微高亮（不加粗重边框/底色） */
    .stock-list__search-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 20px;
        height: 20px;
        padding: 0;
        border: none;
        border-radius: 4px;
        background: transparent;
        color: var(--text-muted);
        cursor: pointer;
        transition: color 0.15s ease, background-color 0.15s ease;
    }
    .stock-list__search-btn:hover {
        color: var(--accent-blue);
        background: var(--hover-bg, rgba(88, 166, 255, 0.1));
    }

    .stock-list-wrapper {
        flex: 1;
        overflow-y: auto;
        max-height: 505px;
    }

    .stock-list__empty {
        text-align: center;
        color: var(--text-muted);
        font-size: 12px;
        padding: 20px;
    }

    /* ========== 移动端响应式适配 ========== */
    @media (max-width: 767px) {
        /* 全局容器：禁止横向溢出 */
        .dashboard-container {
            overflow-x: hidden;
        }

        /* 面板元素：禁止横向溢出 */
        .panel,
        .top-section,
        .top-left-half,
        .top-right-half,
        .bottom-section,
        .analysis-row-section,
        .middle-section,
        .market-analysis-panel,
        .hot-spot-wrapper,
        .right-list-panel,
        .indicator-panel,
        .chart-panel,
        .timeline-panel {
            min-width: 0;
            max-width: 100%;
            overflow-x: hidden;
        }

        /* 上部区域 - 移动端改为纵向堆叠 */
        .top-section {
            flex-direction: column;
            height: auto;
            margin: 0;
            padding: 0;
            gap: 4px;
            overflow: visible;
        }

        .top-left-half {
            flex-direction: column;
            flex: none;
            width: 100%;
        }

        .top-right-half {
            flex: none;
            height: auto;
            width: 100%;
        }

        .top-right-half .timeline-list {
            height: auto;
            max-height: 250px;
        }

        .indicator-panel {
            height: auto;
            flex: none !important;
        }

        .indicator-cards {
            grid-template-columns: repeat(4, 1fr);
            grid-template-rows: repeat(2, 1fr);
            padding: 4px;
        }

        .indicator-card {
            padding: 3px 4px;
            min-height: 44px;
        }

        .indicator-left {
            font-size: 10px;
            gap: 0;
        }

        .indicator-value {
            font-size: 12px;
        }

        .indicator-yesterday {
            font-size: 8px;
        }

        .chart-panel {
            flex: none !important;
            height: 200px;
        }

        .chart-container {
            height: 170px;
        }

        .timeline-panel {
            flex: none !important;
            height: auto;
            max-height: 250px;
        }

        .timeline-list {
            height: auto;
            max-height: 250px;
        }

        .timeline-name {
            width: 50px;
            font-size: 11px;
        }

        .timeline-reason {
            font-size: 9px;
        }

        /* 中部区域 - 移动端改为两列网格（每行两个列表各占一半），放开表格高度 */
        .middle-section {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 6px;
            min-height: auto;
        }

        /* 连板跟踪表格列多，移动端占满整行，靠横向滚动查看全部列 */
        .lb-track-section {
            grid-column: 1 / -1;
        }

        .right-list-panel {
            flex: none !important;
            max-height: 650px;
            min-height: auto;
        }

        .right-list-panel .table-wrapper {
            max-height: 620px;
            overflow-y: auto;
        }

        /* 覆盖 .middle-section .table-wrapper，确保 right-list-panel 内部表格在面板高度内滚动 */
        .middle-section .right-list-panel .table-wrapper,
        .analysis-row-section .right-list-panel .table-wrapper {
            max-height: 620px;
            overflow-y: auto;
        }

        .middle-section .table-wrapper {
            max-height: none;
            overflow-y: visible;
        }

        /* 重点监控股表格：移动端隐藏当前涨幅列，避免半宽下横向滚动 */
        .middle-section .right-list-panel [data-table-id="key-watch-table"] {
            table-layout: fixed;
            width: 100%;
        }

        .middle-section .right-list-panel [data-table-id="key-watch-table"] th,
        .middle-section .right-list-panel [data-table-id="key-watch-table"] td {
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
        }

        .middle-section .right-list-panel [data-table-id="key-watch-table"] th:nth-child(2),
        .middle-section .right-list-panel [data-table-id="key-watch-table"] td:nth-child(2) {
            display: none;
        }

        .middle-section .right-list-panel [data-table-id="key-watch-table"] th:nth-child(1),
        .middle-section .right-list-panel [data-table-id="key-watch-table"] td:nth-child(1) {
            width: 40%;
        }

        .middle-section .right-list-panel [data-table-id="key-watch-table"] th:nth-child(3),
        .middle-section .right-list-panel [data-table-id="key-watch-table"] td:nth-child(3) {
            width: 60%;
        }

        /* 下部区域 - 移动端改为纵向堆叠，放开表格高度 */
        .bottom-section {
            flex-direction: column;
            height: auto;
        }

        .ladder-panel {
            flex: none !important;
            min-height: auto;
        }

        .market-analysis-panel {
            flex: none !important;
            min-height: auto;
        }

        .market-analysis-scroll {
            max-height: none;
            overflow-y: visible;
        }

        .bottom-section .hot-spot-wrapper .table-wrapper {
            max-height: none;
            overflow-x: hidden;
            overflow-y: visible;
        }

        /* 热点轮动：移动端放开高度 + 横向滚动 */
        .hot-rotation-panel {
            flex: none !important;
            min-width: 0;
            width: 100%;
        }

        /* 热点分类表格：移动端压缩列宽和 padding，避免横向溢出 */
        .hot-spot-wrapper .data-table {
            table-layout: fixed;
            width: 100%;
            min-width: 880px;
        }

        .hot-spot-wrapper .data-table th,
        .hot-spot-wrapper .data-table td {
            font-size: 11px;
            padding: 4px 4px;
        }

        /* 热点分类表格首列（分类名称）放宽一点 */
        .hot-spot-wrapper .data-table th:first-child,
        .hot-spot-wrapper .data-table td:first-child {
            width: 88px;
            min-width: 0;
        }

        /* 小表格列表（theme-watch-table）：移动端名称列固定、其他列随内容动态分配，完整显示不截断
           - 提升选择器特异性以覆盖 .hot-spot-wrapper .data-table 的 min-width:880px / table-layout:fixed
           - table-layout:auto 让浏览器按单元格实际内容计算数据列宽
           - 名称列固定 64px，超长用 ellipsis 截断；数据列按内容自适应，不截断
           - 字体 10px、padding 3px 2px，确保 9 列总宽 ≤ 容器宽，不出现横向滚动条 */
        .hot-spot-wrapper [data-table-id="theme-watch-table"].data-table {
            table-layout: auto;
            width: 100%;
            min-width: 0;
        }

        .hot-spot-wrapper [data-table-id="theme-watch-table"].data-table .col-name {
            width: 64px;
        }

        .hot-spot-wrapper [data-table-id="theme-watch-table"].data-table .col-data {
            width: auto;
        }

        /* 覆盖 .hot-spot-wrapper .data-table th/td 与 .data-table th/td 的移动端字体/padding 规则 */
        .hot-spot-wrapper [data-table-id="theme-watch-table"].data-table th,
        .hot-spot-wrapper [data-table-id="theme-watch-table"].data-table td {
            overflow: visible;
            text-overflow: clip;
            font-size: 10px;
            padding: 3px 2px;
        }

        /* 名称列固定 64px，超长省略 */
        .hot-spot-wrapper [data-table-id="theme-watch-table"].data-table th:first-child,
        .hot-spot-wrapper [data-table-id="theme-watch-table"].data-table td:first-child {
            width: 64px;
            min-width: 0;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
        }

        /* 移动端隐藏默认排序提示图标（每个约 14px，8 列共腾出 ~110px），保留激活列的升降序箭头；
           th.sortable 仍可点击排序，仅去掉未激活列的「↕」视觉提示 */
        .hot-spot-wrapper [data-table-id="theme-watch-table"] th.sortable:not(.sort-asc):not(.sort-desc) .sort-icon {
            display: none;
        }

        /* 表格字体在移动端适当放大 */
        .data-table th,
        .data-table td {
            font-size: 13px;
            padding: 6px 8px;
        }

        .middle-section .data-table th,
        .middle-section .data-table td {
            font-size: 12px;
            padding: 5px 6px;
        }

        /* 移动端表格名称标签 */
        .mobile-table-label {
            display: block;
            font-size: 13px;
            font-weight: 600;
            color: var(--text-secondary);
            padding: 8px 12px;
            background: var(--bg-tertiary);
            border-bottom: 1px solid var(--border-color);
            letter-spacing: 1px;
        }

        .mobile-table-label::before {
            content: '';
            display: inline-block;
            width: 3px;
            height: 14px;
            background: var(--accent-blue);
            border-radius: 2px;
            margin-right: 8px;
            vertical-align: middle;
        }

        /* 移动端专属标题栏：flex 布局让「更多分析过程」贴右 */
        .ma-mobile-header {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 8px;
        }

        .ma-mobile-header__title {
            display: inline-flex;
            align-items: center;
            flex-shrink: 0;
            font-weight: 600;
            font-size: 13px;
            color: var(--text-secondary);
            letter-spacing: 1px;
        }

        .ma-mobile-header__title::before {
            content: '';
            display: inline-block;
            width: 3px;
            height: 14px;
            background: var(--accent-blue);
            border-radius: 2px;
            margin-right: 8px;
        }

        /* 移动端标题栏内时间：紧跟标题，等宽字体弱化 */
        .ma-mobile-header__time {
            font-size: 11px;
            font-family: var(--font-mono);
            color: var(--text-primary);
            font-weight: 600;
            flex: 1 1 auto;
            min-width: 0;
            margin-left: 8px;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        /* 移动端：桌面端的「更多分析过程」按钮由 ma-mobile-header 内同名按钮承担 */
        .ma-desktop-more {
            display: none !important;
        }

        /* 移动端：盘面分析顶部栏退化为指标条（去掉标题/时间，紧凑排列） */
        .market-analysis-panel .ma-top-bar {
            background: transparent;
            border-bottom: 1px solid var(--border-color);
            padding: 4px 10px;
            gap: 4px;
        }

        .market-analysis-panel .ma-top-bar__title,
        .market-analysis-panel .ma-top-bar__time {
            display: none;
        }

        /* 分析区域移动端改为两列网格（每行两个列表各占一半）；今日炒什么矩阵表信息量大，独占整行 */
        .analysis-row-section {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 6px;
            height: auto;
        }

        /* 今日炒什么（横向滚动矩阵表）独占整行，避免两列挤压 */
        .analysis-row-section > .hot-rotation-panel {
            grid-column: 1 / -1;
        }

        /* 热点分类表格列数多，移动端独占整行占满宽度 */
        .analysis-row-section > .hot-spot-wrapper {
            grid-column: 1 / -1;
        }

        /* 热点分类表格列数多，允许容器内横向滚动 */
        .analysis-row-section > .hot-spot-wrapper .table-wrapper {
            overflow-x: auto;
            overflow-y: auto;
            max-height: 530px;
        }

        /* 移动端隐藏股票列表标题，统一使用 mobile-table-label */
        .stock-list__header {
            display: none;
        }
        .analysis-row-section .timeline-panel {
            flex: none !important;
            height: auto;
            max-height: 250px;
        }
        /* 列表面板高度由内容撑开（grid 轨道决定宽度，放开表格高度避免被压） */
        .analysis-row-section > .right-list-panel {
            max-height: 650px;
        }

        .analysis-row-section > .right-list-panel .table-wrapper {
            max-height: 620px;
            overflow-y: auto;
        }
    }

    /* ========== 连板跟踪（盯盘页单列表格） ========== */
    /* 整体 section：复用 middle-section 的 flex 排版，放开最小高度由内容撑开 */
    .lb-track-section {
        width: 100%;
        min-height: auto;
    }
    .lb-track-section .lb-track-col {
        flex: 1 1 0;
        min-width: 0;
        max-height: 520px;
    }
    /* 异动时间轴列：与连板跟踪等分宽度（各占整体 50%） */
    .lb-track-section .yi-dong-timeline-col {
        flex: 1 1 0;
        min-width: 0;
        max-height: 520px;
    }
    /* 列较多，内容超出时横向滚动（桌面端 50% 宽 + 移动端均适用） */
    .lb-track-section .lb-track-col .table-wrapper {
        overflow-x: auto;
    }
    /* 昨日分类+原因合并单元格：分类标签在前、原因跟后，整行省略 */
    .lb-cell-reason {
        max-width: 220px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    /* 一字板 / T 字板形态标记：彩色文字 + 极淡底色 */
    .lb-track-mark {
        display: inline-block;
        font-size: 10px;
        padding: 0 3px;
        border-radius: 2px;
        line-height: 14px;
    }
    .lb-track-mark.yizi { color: #ef4444; background: rgba(239, 68, 68, 0.10); }
    .lb-track-mark.t    { color: #f97316; background: rgba(249, 115, 22, 0.10); }
    /* 涨停分类标签：彩色文字 + 极淡底色（颜色由 JS 内联写入） */
    .lb-track-tab {
        display: inline-block;
        font-size: 10px;
        padding: 0 4px;
        border-radius: 2px;
        line-height: 14px;
        margin-right: 2px;
    }

    /* ========== 异动时间轴（盯盘页内嵌，紧凑风格，复用 /api/daily-summary） ========== */
    .yi-dong-timeline-body {
        flex: 1;
        overflow-y: auto;
        padding: 6px 8px;
    }
    /* 时间轴：左侧竖线 + 圆点（涨红/跌绿/混合蓝） */
    .yd-tl { position: relative; padding-left: 18px; }
    .yd-tl::before {
        content: ''; position: absolute; left: 5px; top: 6px; bottom: 6px;
        width: 1px; background: var(--border-color);
    }
    .yd-tl-item { position: relative; padding-bottom: 12px; }
    .yd-tl-item:last-child { padding-bottom: 2px; }
    .yd-tl-dot {
        position: absolute; left: -16px; top: 5px; width: 7px; height: 7px;
        border-radius: 50%; background: var(--accent-blue);
    }
    .yd-tl-item--up .yd-tl-dot { background: var(--color-up); }
    .yd-tl-item--down .yd-tl-dot { background: var(--color-down); }
    .yd-tl-time {
        font-size: 11px; font-weight: 600; color: var(--text-secondary);
        font-variant-numeric: tabular-nums;
    }
    /* 题材行：轻量底色 + 主题左侧色条（涨红跌绿） */
    .yd-tl-lines { margin-top: 4px; display: flex; flex-direction: column; gap: 3px; }
    .yd-tl-line {
        display: flex; align-items: baseline; gap: 6px;
        padding: 2px 6px; border-radius: 4px; 
    }
    .yd-tl-theme {
        flex-shrink: 0; font-size: 10px; font-weight: 600;
        color: var(--accent-blue); border-left: 2px solid var(--accent-blue); padding-left: 5px;
    }
    .yd-tl-line--up .yd-tl-theme { border-left-color: var(--color-up); color: var(--color-up); }
    .yd-tl-line--down .yd-tl-theme { border-left-color: var(--color-down); color: var(--color-down); }
    .yd-tl-text { font-size: 11px; font-weight: 500; color: var(--text-primary); line-height: 1.5; }
    /* 可点击个股名：穿透到个股详情面板（StockModal） */
    .yd-stock-link { cursor: pointer; border-radius: 2px; transition: background 0.15s; }
    .yd-stock-link:hover { background: var(--hover-bg); }
    /* 个股涨跌幅徽标：小号等宽数字，涨红跌绿 */
    .yd-tl-zdf {
        font-size: 10px; font-weight: 500;
        font-variant-numeric: tabular-nums; margin-left: 1px;
    }
    .yd-tl-zdf--up { color: var(--color-up); }
    .yd-tl-zdf--down { color: var(--color-down); }
