/* ═══════════════════════════════════════════════════════════
   全球交易时钟 · Bloomberg/Refinitiv 终端风格
   深色调、高对比度数据、紧凑但不拥挤
   ═══════════════════════════════════════════════════════════ */

/* 顶部 4 行参考轴里的实时时钟（每行独立） */
.tc-axis-row:nth-child(1) .tc-axis-clock{color:#0f172a}   /* UTC 深灰 */
.tc-axis-row:nth-child(2) .tc-axis-clock{color:#1d4ed8}   /* 北京 蓝 */
.tc-axis-row:nth-child(3) .tc-axis-clock{color:#15803d}   /* 伦敦 绿 */
.tc-axis-row:nth-child(4) .tc-axis-clock{color:#b91c1c}   /* 纽约 红 */

[data-theme="dark"] .tc-axis-row:nth-child(1) .tc-axis-clock{color:#f1f5f9}
[data-theme="dark"] .tc-axis-row:nth-child(2) .tc-axis-clock{color:#60a5fa}
[data-theme="dark"] .tc-axis-row:nth-child(3) .tc-axis-clock{color:#4ade80}
[data-theme="dark"] .tc-axis-row:nth-child(4) .tc-axis-clock{color:#f87171}

/* 多时区参考轴 */
.tc-axis-row{display:flex;align-items:center;height:30px;position:relative;border-bottom:1px solid rgba(15,23,42,.08)}
.tc-axis-row:nth-child(even){background:rgba(15,23,42,.025)}
.tc-axis-row:last-child{border-bottom:none}

.tc-axis-label{width:340px;flex-shrink:0;padding:0 14px;font-size:11px;font-weight:600;color:#475569;letter-spacing:.5px;display:flex;align-items:center;justify-content:flex-end;gap:5px;font-family:-apple-system,"Segoe UI",sans-serif;box-sizing:border-box}
.tc-axis-label .label-name{color:#0f172a;font-weight:700;font-size:12px}
.tc-axis-label .code{opacity:.6;font-weight:500;font-size:10px}
/* 分组 */
.tc-axis-bar{flex:1;position:relative;height:100%}
/* 每小时数字 — 全部统一 */
.tc-axis-num{position:absolute;top:50%;transform:translate(-50%,-50%);font-size:10px;font-weight:400;color:#64748b;font-family:"SF Mono",Menlo,Consolas,monospace}
/* 分组 */
.tc-group{padding:2px 0;margin-top:1px;flex-shrink:0}
.tc-group-label{font-size:10px;font-weight:700;color:#64748b;letter-spacing:1.5px;text-transform:uppercase;display:flex;align-items:center;gap:8px;padding:0 14px;height:18px}
.tc-group-label::before{content:'';width:3px;height:11px;background:linear-gradient(180deg,#2563eb,#60a5fa);border-radius:2px}
.tc-group-label::after{content:'';flex:1;height:1px;background:linear-gradient(90deg,#e2e8f0,transparent);opacity:.8}

/* 每行市场 — flex:1 均分剩余空间 */
.tc-row{display:flex;align-items:stretch;background:#ffffff;transition:background .12s;flex:1;min-height:0}
.tc-row:hover{background:#f0f4f8}
.tc-row:nth-child(even){background:#fafbfc}
.tc-row:nth-child(even):hover{background:#f0f4f8}

/* 左侧信息：固定宽度，所有行严格对齐 */
.tc-left{width:340px;flex:0 0 340px;padding:0 14px;display:flex;align-items:center;gap:6px;border-right:1px solid #e2e8f0;position:relative;z-index:2;box-sizing:border-box}

.tc-flag{font-size:15px;flex:0 0 22px;text-align:center;width:22px}
.tc-name{font-size:12px;font-weight:600;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:0 0 100px;width:100px}
.tc-status{font-size:9px;font-weight:700;padding:2px 6px;border-radius:4px;white-space:nowrap;flex:0 0 52px;width:52px;text-align:center}
.tc-status-open{background:#dcfce7;color:#15803d;border:1px solid #86efac}
.tc-status-pre{background:#dbeafe;color:#1d4ed8;border:1px solid #93c5fd}
.tc-status-post{background:#f3e8ff;color:#7c3aed;border:1px solid #c4b5fd}
.tc-status-close{background:#f1f5f9;color:#64748b;border:1px solid #cbd5e1}
.tc-status-holiday{background:#fee2e2;color:#b91c1c;border:1px solid #fca5a5}

.tc-time{font-family:"SF Mono",Menlo,Consolas,monospace;font-size:12px;font-weight:700;color:#2563eb;letter-spacing:.5px;flex:0 0 56px;width:56px;text-align:right}

/* 右侧时间轴 */
.tc-right{flex:1;position:relative;overflow:hidden}

/* 网格刻度线 */
.tc-grid-hour{position:absolute;top:0;bottom:0;width:1px;background:rgba(148,163,184,.06)}
.tc-grid-3h  {position:absolute;top:0;bottom:0;width:1px;background:rgba(148,163,184,.12)}
.tc-grid-6h  {position:absolute;top:0;bottom:0;width:1px;background:rgba(148,163,184,.22)}

/* 交易时段色块 — 默认灰色（非活跃），活跃时变绿 */
.tc-session{position:absolute;top:1px;bottom:1px;border-radius:2px;box-sizing:border-box;overflow:hidden;cursor:pointer;transition:background-color .3s, border-color .3s, box-shadow .3s}
.tc-session:hover{filter:brightness(1.15);box-shadow:0 0 0 1px rgba(37,99,235,.4)}

/* 非活跃（默认灰色） */
.tc-session.tc-session-open,
.tc-session.tc-session-pre,
.tc-session.tc-session-post{
  background:#e2e8f0;
  border:1px solid #cbd5e1;
  opacity:.7;
}

/* 活跃（当前在交易时段内） — 动态切换 */
.tc-session.tc-session-active.tc-session-open{
  background:linear-gradient(180deg,#22c55e,#16a34a);
  border:1px solid #15803d;
  opacity:1;
  box-shadow:0 1px 3px rgba(34,197,94,.35), inset 0 1px 0 rgba(255,255,255,.25);
}
.tc-session.tc-session-active.tc-session-pre{
  background:linear-gradient(180deg,#3b82f6,#2563eb);
  border:1px solid #1d4ed8;
  opacity:1;
  box-shadow:0 1px 3px rgba(37,99,235,.35), inset 0 1px 0 rgba(255,255,255,.25);
}
.tc-session.tc-session-active.tc-session-post{
  background:linear-gradient(180deg,#8b5cf6,#7c3aed);
  border:1px solid #6d28d9;
  opacity:1;
  box-shadow:0 1px 3px rgba(124,58,237,.35), inset 0 1px 0 rgba(255,255,255,.25);
}

/* 周末遮罩 */
.tc-weekend-overlay{position:absolute;top:0;bottom:0;left:0;right:0;background:rgba(148,163,184,.2);pointer-events:none;display:flex;align-items:center;justify-content:center;font-size:10px;color:#94a3b8;font-weight:700;letter-spacing:4px}

/* 贯穿红线 */
#tcNowGlobal::before{
  content:'';position:absolute;top:6px;left:-4px;width:10px;height:10px;background:#dc2626;border-radius:50%;
  box-shadow:0 0 10px rgba(220,38,38,.55);
}
#tcNowGlobal::after{
  content:'';position:absolute;top:2px;left:-7px;width:16px;height:16px;border:2px solid rgba(220,38,38,.3);border-radius:50%;
  animation:tc-pulse 2s ease-out infinite;
}
@keyframes tc-pulse{0%{transform:scale(.5);opacity:1}100%{transform:scale(1.8);opacity:0}}

/* 暗色主题适配 */
[data-theme="dark"] .tc-axis-row{border-bottom-color:rgba(148,163,184,.1)}
[data-theme="dark"] .tc-axis-row:nth-child(even){background:rgba(148,163,184,.04)}
[data-theme="dark"] .tc-axis-label{color:#94a3b8}
[data-theme="dark"] .tc-axis-label .label-name{color:#f1f5f9}
[data-theme="dark"] .tc-axis-row.utc-row .tc-axis-label .label-name{color:#f8fafc}
[data-theme="dark"] .tc-axis-row.utc-row .tc-axis-label::before{background:#f8fafc}
[data-theme="dark"] .tc-axis-num{color:#94a3b8}

[data-theme="dark"] .tc-row{background:#1e293b}
[data-theme="dark"] .tc-row:hover{background:#334155}
[data-theme="dark"] .tc-row:nth-child(even){background:#1a2332}
[data-theme="dark"] .tc-row:nth-child(even):hover{background:#334155}
[data-theme="dark"] .tc-left{border-right-color:#334155}
[data-theme="dark"] .tc-name{color:#f1f5f9}
[data-theme="dark"] .tc-time{color:#60a5fa}
[data-theme="dark"] .tc-session.tc-session-open,
[data-theme="dark"] .tc-session.tc-session-pre,
[data-theme="dark"] .tc-session.tc-session-post{background:#334155;border-color:#475569;opacity:.65}
[data-theme="dark"] .tc-session.tc-session-active.tc-session-open{background:linear-gradient(180deg,#22c55e,#15803d);border-color:#15803d;opacity:1}
[data-theme="dark"] .tc-session.tc-session-active.tc-session-pre{background:linear-gradient(180deg,#3b82f6,#1d4ed8);border-color:#1d4ed8;opacity:1}
[data-theme="dark"] .tc-session.tc-session-active.tc-session-post{background:linear-gradient(180deg,#8b5cf6,#6d28d9);border-color:#6d28d9;opacity:1}
[data-theme="dark"] .tc-grid-hour{background:rgba(148,163,184,.08)}
[data-theme="dark"] .tc-grid-3h{background:rgba(148,163,184,.15)}
[data-theme="dark"] .tc-grid-6h{background:rgba(148,163,184,.3)}
