/* AI 起名候选卡片样式。禁用 color-mix(html2canvas 分享截图不支持),用具体色值 + 深色 media。 */

.nm-card-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 12px;
    margin: 10px 0;
}

/* 移动端:强制单列大卡(不被挤成两列小卡);PC/平板仍走上面的 auto-fill 自适应。 */
@media (max-width: 640px) {
    .nm-card-grid {
        grid-template-columns: 1fr;
    }
}

/* 起名结果卡片 / 表格视图切换(与商标卡片 tm-view 同一套处理):
   · 卡片视图:原始表格隐藏(仍留 DOM),去掉外层表格边框/阴影/背景,让卡片像独立列表;
     宽度必须改回满宽——基础 .table-block 是 width:fit-content,表格被隐藏后 grid 失去确定宽度,
     auto-fill minmax(220px,1fr) 会塌缩成单列。
   · 表格视图:隐藏卡片网格,显示原始表格(报告列由 naming-cards.js 隐藏),块保留默认表格外框。
   · 工具栏两视图都不显示:起名表格只做只读展示,不导出,避免 report_id 泄漏进复制/下载。
   仅当卡片成功构建(block 挂 .nm-result + 视图类)才生效;流式降级/未出卡片时原始表格连同边框照常显示。 */
.message-content .table-block.nm-result.nm-view-card {
    width: 100%;
    border: none;
    box-shadow: none;
    background: transparent;
    overflow: visible;
}
.message-content .table-block.nm-result.nm-view-card .table-header {
    background: transparent;
    border-bottom: none;
    padding: 4px 2px 8px;
}
.table-block.nm-result.nm-view-card .table-scroll  { display: none; }
/* 工具栏只在卡片视图隐藏;表格视图显示复制/下载/全屏/批量收藏(委托通用) */
.table-block.nm-result.nm-view-card .table-toolbar { display: none; }
.table-block.nm-result.nm-view-table .nm-card-grid { display: none; }

/* 取名结果表头不换行(防"注册成功率"列头被挤到两行)。仅作用于起名表,不影响商标表。 */
.table-block.nm-result th { white-space: nowrap; }

/* 取名结果表格统一字号 14px,与卡片视图(名称/释义/星级均 14px)对齐。仅作用于 .nm-result,选商标表不受影响。 */
.table-block.nm-result > .table-scroll > table { font-size: 14px; }

/* 分段开关:药丸分段,主色高亮选中态(与商标 .tm-view-toggle 同款,用同一套设计 token,深色随变量自适应) */
.nm-view-toggle {
    display: inline-flex;
    border: 1px solid var(--color-border-strong);
    border-radius: var(--radius-pill);
    overflow: hidden;
    background: var(--color-surface);
}
.nm-view-btn {
    border: none;
    background: transparent;
    color: var(--color-text-secondary);
    font-size: 0.75rem;
    padding: 4px 12px;
    cursor: pointer;
}
.nm-view-btn.is-active {
    background: var(--color-primary);
    color: var(--color-primary-text);
}

.nm-card {
    position: relative;   /* 右上角绝对定位心形收藏的参照 */
    border: 1px solid #e6e8eb;
    border-radius: 12px;
    padding: 12px 14px;
    background: #ffffff;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.nm-card-head {
    display: flex;
    align-items: center;
    gap: 8px;
    padding-right: 30px;   /* 给右上角心形让位,标题不与之重叠 */
}

.nm-card-title {
    font-size: 14px;
    font-weight: 600;
    color: #1a1a1a;
    word-break: break-all;
}

.nm-stars {
    font-size: 14px;
    white-space: nowrap;
    flex-shrink: 0;
}

/* 注册成功率区域顶部 caption(单 label 一次到底,每类目再各起一行)。色系与 .nm-interp-label 保持一致。 */
.nm-stars-caption {
    font-size: 13px;
    color: #6a6f78;
    line-height: 1.5;
    white-space: nowrap;
}

.nm-star {
    color: #d0d3d8;
}

.nm-star-on {
    color: #f5a623;
}

.nm-stars-pending {
    color: #9aa0a6;
    font-size: 13px;
}

.nm-stars-unrated {
    color: #9aa0a6;
    font-size: 13px;
}

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

.nm-interp {
    font-size: 14px;
    line-height: 1.55;
    color: #2f343a;
}

.nm-interp-label {
    color: #6a6f78;
    margin-right: 4px;
}

.nm-card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;   /* 星级(左) + 成功率报告按钮(右) */
    gap: 8px;
    /* 钉到卡片底部:同一行内 grid 已把卡片拉到等高,margin-top:auto 把 footer 压到底,
       让同行所有卡片的星级/报告按钮对齐成一条基线(不受各卡文字长短影响)。 */
    margin-top: auto;
}

.nm-card-btn {
    padding: 6px 9px;
    font-size: 14px;
    border-radius: 8px;
    border: 1px solid #d7dae0;
    background: #f6f7f9;
    color: #333;
    cursor: pointer;
}

.nm-card-btn:hover {
    background: #eceef1;
}

/* 成功率报告按钮:footer 右侧,不铺满(星级占左侧) */
.nm-card-report {
    flex: 0 0 auto;
    color: #2b6cb0;
    border-color: #cfe0f2;
    background: #f2f7fc;
}

/* 收藏:卡片右上角心形(仿商标 .tm-card-fav,禁 color-mix 用具体 hex) */
.nm-card-fav {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: none;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.8);
    color: #9aa0a6;               /* 默认淡灰描边心 */
    cursor: pointer;
    transition: color 0.15s ease, background 0.15s ease;
}
.nm-card-fav svg { width: 18px; height: 18px; }
.nm-card-fav:hover {
    background: #ffffff;
    color: #e5484d;              /* hover 变红 */
}
.nm-card-fav.is-faved {
    color: #e5484d;
}
.nm-card-fav.is-faved svg {
    fill: #e5484d;               /* 已收藏:红实心 */
}
/* 表格行内态:不绝对定位,inline 排在操作列里 */
.nm-card-fav.nm-row-fav {
    position: static;
    top: auto;
    right: auto;
    width: 24px;
    height: 24px;
    margin-left: 6px;
    background: transparent;
    vertical-align: middle;
}
.nm-card-fav.nm-row-fav svg { width: 16px; height: 16px; }

/* 表格操作列:「成功率报告」查看链接(仿商标末列的 查看链接)+ 收藏心形并列,不换行 */
.nm-row-actions { white-space: nowrap; }
.nm-card-report.nm-row-report {
    flex: none;
    padding: 0;
    border: none;
    background: transparent;
    color: #2b6cb0;
    font-size: 14px;
    vertical-align: middle;
    cursor: pointer;
}
.nm-card-report.nm-row-report:hover {
    background: transparent;
    text-decoration: underline;
}

@media (prefers-color-scheme: dark) {
    .nm-card { background: #1e2024; border-color: #2f333a; }
    .nm-card-title { color: #f0f1f3; }
    .nm-interp { color: #c7cbd1; }
    .nm-interp-label { color: #8a9099; }
    .nm-card-btn { background: #2a2d33; border-color: #3a3e46; color: #d8dbe0; }
    .nm-card-btn:hover { background: #33373e; }
    .nm-card-report { background: #1c2733; border-color: #2f4763; color: #7fb0e6; }
    .nm-star { color: #4a4e55; }
    .nm-card-fav { background: rgba(40, 43, 49, 0.8); color: #8a9099; }
    .nm-card-fav:hover { background: #33373e; color: #ff6369; }
    .nm-card-fav.is-faved { color: #ff6369; }
    .nm-card-fav.is-faved svg { fill: #ff6369; }
    .nm-card-fav.nm-row-fav { background: transparent; }
    .nm-card-report.nm-row-report { background: transparent; color: #7fb0e6; }
}

:root[data-theme="dark"] .nm-card { background: #1e2024; border-color: #2f333a; }
:root[data-theme="dark"] .nm-card-report.nm-row-report { background: transparent; color: #7fb0e6; }
:root[data-theme="dark"] .nm-card-title { color: #f0f1f3; }
:root[data-theme="dark"] .nm-interp { color: #c7cbd1; }
:root[data-theme="dark"] .nm-card-btn { background: #2a2d33; border-color: #3a3e46; color: #d8dbe0; }
:root[data-theme="dark"] .nm-card-report { background: #1c2733; border-color: #2f4763; color: #7fb0e6; }
:root[data-theme="dark"] .nm-card-fav { background: rgba(40, 43, 49, 0.8); color: #8a9099; }
:root[data-theme="dark"] .nm-card-fav:hover { background: #33373e; color: #ff6369; }
:root[data-theme="dark"] .nm-card-fav.is-faved { color: #ff6369; }
:root[data-theme="dark"] .nm-card-fav.is-faved svg { fill: #ff6369; }
:root[data-theme="dark"] .nm-card-fav.nm-row-fav { background: transparent; }
:root[data-theme="light"] .nm-card { background: #ffffff; border-color: #e6e8eb; }

/* 页底免责声明:默认单行省略,点击展开;可对外文案,弱化展示。 */
.chat-disclaimer {
    max-width: 900px;
    margin: 4px auto 0;
    padding: 0 12px;
    font-size: 11px;
    line-height: 1.5;
    color: #9aa0a6;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    cursor: pointer;
}

.chat-disclaimer.nm-disclaimer-expanded {
    white-space: normal;
}

@media (prefers-color-scheme: dark) {
    .chat-disclaimer { color: #7c828a; }
}
:root[data-theme="dark"] .chat-disclaimer { color: #7c828a; }

/* ---------- 起名批量收藏:入口高亮 + 行勾选(镜像商标 favorite-grid.css,批量态非分享截图内容,可用设计 token) ---------- */
.table-block.nm-batch-mode [data-table-action="nm-batch-fav"] {
    color: var(--color-primary);
    background: var(--color-primary-soft);
}
.nm-batch-mode tbody tr { cursor: pointer; }
.nm-batch-mode tbody tr:hover { background: var(--color-surface-hover); }
.nm-batch-mode tbody tr.is-batch-selected { background: var(--color-primary-soft); }
/* 批量模式下隐藏行内收藏心,避免与勾选圈语义混淆 */
.nm-batch-mode .nm-row-fav { display: none; }

.nm-batch-check {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border: 1.5px solid var(--color-border-strong);
    border-radius: var(--radius-pill);
    color: transparent;
    background: var(--color-surface);
    vertical-align: middle;
    transition: all var(--duration-fast) var(--ease);
}
.nm-batch-check .lucide { width: 14px; height: 14px; }
.is-batch-selected .nm-batch-check {
    border-color: var(--color-primary);
    background: var(--color-primary);
    color: var(--color-primary-text);
}
