﻿/* 全站卡片统一悬浮：红色渐变边框 + 上浮 + 阴影 */
:is(
  .apple-card:not(:has(.card, .factor-card, .rank-panel, .cal-cell, .cal-event-card, .theme-pill, .theme-lib-metric, .tsb-kpi, .tsb-panel, .dk-stat, .dk-chg-card, .ind-stat)),
  .card:not(:has(.card, .factor-card, .rank-panel, .chart-card, .gm-card, .gm-us-card, .theme-lib-node, .l3-cards, .tsb-panel)),
  .monitor-card,
  .sentiment-card,
  .rank-panel,
  .lr-theme-card,
  .gt-card,
  .gm-card,
  .gm-us-card,
  .gm-asset-card,
  .gm-sector-cell,
  .hm-card,
  .mc-card,
  .dk-stock-card,
  .input-card,
  .preset-panel,
  .panel,
  .rounded-card,
  .leader-card,
  .factor-card,
  .idx-card,
  .global-card,
  .ldv2-card,
  .tl-card,
  .tl-stock-card,
  .gl-stock-card,
  .theme-item,
  .theme-lib-node,
  .theme-pill,
  .theme-lib-metric,
  .cal-cell,
  .cal-event-card,
  .member-summary-box,
  .ind-stat,
  .selected-bar,
  .filters-bar,
  .tsb-kpi,
  .tsb-panel,
  .dk-stat,
  .dk-chg-card,
  .ai-hint-card,
  .prompt-recommend-card,
  .board-card,
  .env-card,
  .flat-card,
  .insight-card,
  .risk-card,
  .up-card
) {
  position: relative;
  border-radius: 12px;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  will-change: transform;
}

:is(
  .apple-card:not(:has(.card, .factor-card, .rank-panel, .cal-cell, .cal-event-card, .theme-pill, .theme-lib-metric, .tsb-kpi, .tsb-panel, .dk-stat, .dk-chg-card, .ind-stat)),
  .card:not(:has(.card, .factor-card, .rank-panel, .chart-card, .gm-card, .gm-us-card, .theme-lib-node, .l3-cards, .tsb-panel)),
  .monitor-card,
  .sentiment-card,
  .rank-panel,
  .lr-theme-card,
  .gt-card,
  .gm-card,
  .gm-us-card,
  .gm-asset-card,
  .gm-sector-cell,
  .hm-card,
  .mc-card,
  .dk-stock-card,
  .input-card,
  .preset-panel,
  .panel,
  .rounded-card,
  .leader-card,
  .factor-card,
  .idx-card,
  .global-card,
  .ldv2-card,
  .tl-card,
  .tl-stock-card,
  .gl-stock-card,
  .theme-item,
  .theme-lib-node,
  .theme-pill,
  .theme-lib-metric,
  .cal-cell,
  .cal-event-card,
  .member-summary-box,
  .ind-stat,
  .selected-bar,
  .filters-bar,
  .tsb-kpi,
  .tsb-panel,
  .dk-stat,
  .dk-chg-card,
  .ai-hint-card,
  .prompt-recommend-card,
  .board-card,
  .env-card,
  .flat-card,
  .insight-card,
  .risk-card,
  .up-card
)::after {
  content: "";
  position: absolute;
  inset: 0;
  padding: 1px;
  border-radius: inherit;
  background: linear-gradient(135deg, #fecaca 0%, #f87171 38%, #dc2626 68%, #991b1b 100%);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask-composite: exclude;
  opacity: 0;
  transition: opacity .18s ease;
  pointer-events: none;
  z-index: 5;
}

@media (hover: hover) {
  :is(
    .apple-card:not(:has(.card, .factor-card, .rank-panel, .cal-cell, .cal-event-card, .theme-pill, .theme-lib-metric, .tsb-kpi, .tsb-panel, .dk-stat, .dk-chg-card, .ind-stat)),
    .card:not(:has(.card, .factor-card, .rank-panel, .chart-card, .gm-card, .gm-us-card, .theme-lib-node, .l3-cards, .tsb-panel)),
    .monitor-card,
    .sentiment-card,
      .rank-panel,
    .lr-theme-card,
      .gt-card,
    .gm-card,
    .gm-us-card,
    .gm-asset-card,
    .gm-sector-cell,
    .hm-card,
    .mc-card,
    .dk-stock-card,
        .input-card,
    .preset-panel,
  .panel,
    .rounded-card,
    .leader-card,
    .factor-card,
    .idx-card,
    .global-card,
    .ldv2-card,
    .tl-card,
    .tl-stock-card,
    .gl-stock-card,
    .theme-item,
      .theme-lib-node,
  .theme-pill,
  .theme-lib-metric,
  .cal-cell,
  .cal-event-card,
  .member-summary-box,
  .ind-stat,
  .selected-bar,
  .filters-bar,
  .tsb-kpi,
  .tsb-panel,
  .dk-stat,
  .dk-chg-card,
    .ai-hint-card,
    .prompt-recommend-card,
    .board-card,
    .env-card,
    .flat-card,
    .insight-card,
    .risk-card,
    .up-card
  ):hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .13), 0 0 0 1px rgba(220, 38, 38, .04) !important;
    z-index: 30;
  }

  :is(
    .apple-card:not(:has(.card, .factor-card, .rank-panel, .cal-cell, .cal-event-card, .theme-pill, .theme-lib-metric, .tsb-kpi, .tsb-panel, .dk-stat, .dk-chg-card, .ind-stat)),
    .card:not(:has(.card, .factor-card, .rank-panel, .chart-card, .gm-card, .gm-us-card, .theme-lib-node, .l3-cards, .tsb-panel)),
    .monitor-card,
    .sentiment-card,
      .rank-panel,
    .lr-theme-card,
      .gt-card,
    .gm-card,
    .gm-us-card,
    .gm-asset-card,
    .gm-sector-cell,
    .hm-card,
    .mc-card,
    .dk-stock-card,
        .input-card,
    .preset-panel,
  .panel,
    .rounded-card,
    .leader-card,
    .factor-card,
    .idx-card,
    .global-card,
    .ldv2-card,
    .tl-card,
    .tl-stock-card,
    .gl-stock-card,
    .theme-item,
      .theme-lib-node,
  .theme-pill,
  .theme-lib-metric,
  .cal-cell,
  .cal-event-card,
  .member-summary-box,
  .ind-stat,
  .selected-bar,
  .filters-bar,
  .tsb-kpi,
  .tsb-panel,
  .dk-stat,
  .dk-chg-card,
    .ai-hint-card,
    .prompt-recommend-card,
    .board-card,
    .env-card,
    .flat-card,
    .insight-card,
    .risk-card,
    .up-card
  ):hover::after {
    opacity: 1;
  }
}


/* 投资日历：事件小条 */
.cal-event-chip { transition: background .15s ease, border-color .15s ease, box-shadow .15s ease; }
.cal-event-chip:hover { background: #fff !important; border-color: #fca5a5 !important; box-shadow: 0 2px 7px rgba(220,38,38,.08); }

/* 左侧导航：A1 悬浮 */
.nav-item { position: relative; border-radius: 10px; transition: transform .16s ease, box-shadow .16s ease, background .16s ease; }
.nav-item::after {
  content: ""; position: absolute; inset: 0; padding: 1px; border-radius: inherit;
  background: linear-gradient(135deg, #fecaca 0%, #f87171 38%, #dc2626 68%, #991b1b 100%);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask-composite: exclude;
  opacity: 0; transition: opacity .16s ease; pointer-events: none; z-index: 5;
}
@media (hover: hover) {
  .nav-item:hover { transform: translateY(-1px); background: #f8fbff !important; box-shadow: 0 6px 16px rgba(15,23,42,.09); z-index: 20; }
  .nav-item:hover::after { opacity: 1; }
  .nav-item:hover .nav-label { color: #1677ff !important; }
}

/* 投资日历个股链接 */
.cal-stock-link { color: #1677ff; font-weight: 600; text-decoration: none; cursor: pointer; }
.cal-stock-link:hover { color: #dc2626; text-decoration: underline; }
