/* ===== Stellaris 策略竞技场 ===== */
.arena-sub { font-size: 13px; color: var(--text-muted, #94a3b8); margin: 6px 0 0; font-weight: 400; }
.arena-meta-bar {
  display: flex; flex-wrap: wrap; gap: 18px; align-items: center;
  margin: 14px 0 18px; padding: 12px 16px;
  background: var(--bg-card, #1e293b); border: 1px solid var(--border, #334155);
  border-radius: var(--card-radius, 12px); font-size: 12px; color: var(--text-muted, #94a3b8);
}
.arena-meta-bar b { color: var(--text-primary, #f8fafc); font-weight: 700; margin-left: 4px; }
.arena-meta-bar .arena-hash { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; color: var(--text-brand, #60a5fa); }

/* 视角切换 tabs */
.arena-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.arena-tab {
  padding: 7px 16px; border-radius: 999px; cursor: pointer; font-size: 13px; font-weight: 600;
  background: var(--bg-surface, #1a2332); color: var(--text-muted, #94a3b8);
  border: 1px solid var(--border, #334155); transition: all .15s;
}
.arena-tab:hover { color: var(--text-secondary, #cbd5e1); border-color: var(--border-light, #475569); }
.arena-tab.active { background: var(--accent, #10b981); color: #04241a; border-color: var(--accent, #10b981); }

/* 榜单表格 */
.arena-board {
  width: 100%; border-collapse: collapse; font-size: 13px;
  background: var(--bg-card, #1e293b); border-radius: var(--card-radius, 12px); overflow: hidden;
  border: 1px solid var(--border, #334155);
}
.arena-board th {
  text-align: right; padding: 11px 12px; font-weight: 600; color: var(--text-muted, #94a3b8);
  background: var(--bg-surface, #1a2332); border-bottom: 1px solid var(--border, #334155); white-space: nowrap;
}
.arena-board th:first-child, .arena-board td:first-child { text-align: left; }
.arena-board td { padding: 11px 12px; text-align: right; border-bottom: 1px solid rgba(51,65,85,.5); color: var(--text-secondary, #cbd5e1); white-space: nowrap; }
.arena-board tr:last-child td { border-bottom: none; }
.arena-row { cursor: pointer; transition: background .12s; }
.arena-row:hover { background: var(--bg-card-hover, #243044); }
.arena-rank { font-weight: 800; color: var(--text-muted, #94a3b8); width: 30px; }
.arena-rank.top { color: var(--accent, #10b981); }
.arena-name { font-weight: 700; color: var(--text-primary, #f8fafc); }
.arena-badge {
  display: inline-block; font-size: 10px; font-weight: 700; padding: 2px 8px; border-radius: 6px;
  margin-left: 6px; vertical-align: middle;
}
.arena-badge.rule { background: rgba(16,185,129,.16); color: #34d399; }
.arena-badge.llm { background: rgba(96,165,250,.16); color: #60a5fa; }
.arena-badge.meta { background: rgba(168,139,110,.22); color: #fbd8b6; }
.arena-style-tag { font-size: 11px; color: var(--text-muted, #94a3b8); }
.up { color: var(--accent-red, #ef4444); font-weight: 700; }   /* 涨=红 */
.down { color: var(--accent-green, #22c55e); font-weight: 700; } /* 跌=绿 */
.arena-disc-ok { color: var(--accent-green, #22c55e); font-weight: 700; }
.arena-disc-bad { color: var(--accent-red, #ef4444); font-weight: 700; }

/* 净值叠加图 */
.arena-nav-wrap { margin: 22px 0; background: var(--bg-card, #1e293b); border: 1px solid var(--border, #334155); border-radius: var(--card-radius, 12px); padding: 14px 16px 8px; }
.arena-nav-wrap h3 { margin: 0 0 4px; font-size: 14px; color: var(--text-secondary, #cbd5e1); }
.arena-nav-wrap .arena-nav-hint { font-size: 11px; color: var(--text-muted, #94a3b8); margin-bottom: 8px; }
#arena-nav-chart { width: 100%; height: 380px; }

/* 下钻详情 */
.arena-detail { margin-top: 22px; display: none; }
.arena-detail.show { display: block; }
.arena-detail-head { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; }
.arena-detail-head h2 { margin: 0; font-size: 20px; color: var(--text-primary, #f8fafc); }
.arena-close { margin-left: auto; cursor: pointer; color: var(--text-muted, #94a3b8); border: 1px solid var(--border, #334155); background: var(--bg-surface, #1a2332); border-radius: 8px; padding: 6px 12px; font-size: 12px; }
.arena-close:hover { color: var(--text-primary, #f8fafc); }
.arena-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; margin-bottom: 18px; }
.arena-metric { background: var(--bg-surface, #1a2332); border: 1px solid var(--border, #334155); border-radius: 10px; padding: 12px 14px; }
.arena-metric .k { font-size: 11px; color: var(--text-muted, #94a3b8); }
.arena-metric .v { font-size: 18px; font-weight: 800; color: var(--text-primary, #f8fafc); margin-top: 4px; }

/* 质询 / 纪律面板 */
.arena-panel { background: var(--bg-card, #1e293b); border: 1px solid var(--border, #334155); border-radius: var(--card-radius, 12px); padding: 16px 18px; margin-bottom: 18px; }
.arena-panel h3 { margin: 0 0 12px; font-size: 15px; color: var(--text-secondary, #cbd5e1); display: flex; align-items: center; gap: 8px; }
.arena-disc-def { font-size: 13px; color: var(--text-secondary, #cbd5e1); line-height: 1.7; background: rgba(96,165,250,.08); border: 1px solid rgba(96,165,250,.22); border-radius: 10px; padding: 12px 14px; margin-bottom: 14px; }
.arena-disc-def b { color: var(--text-primary, #f8fafc); }
.arena-disc-summary { display: flex; gap: 22px; flex-wrap: wrap; margin-bottom: 12px; font-size: 13px; }
.arena-disc-summary .big { font-size: 28px; font-weight: 900; }
.arena-challenge { border-left: 3px solid var(--accent-red, #ef4444); background: rgba(239,68,68,.08); padding: 8px 12px; border-radius: 0 8px 8px 0; margin: 8px 0; font-size: 13px; color: var(--text-secondary, #cbd5e1); }
.arena-disc-clean { border-left: 3px solid var(--accent-green, #22c55e); background: rgba(34,197,94,.08); padding: 10px 14px; border-radius: 0 8px 8px 0; font-size: 13px; color: var(--text-secondary, #cbd5e1); line-height: 1.6; }

/* 成本归因条 */
.arena-cost-row { display: flex; align-items: center; gap: 10px; margin: 8px 0; font-size: 12px; }
.arena-cost-name { width: 64px; color: var(--text-muted, #94a3b8); text-align: right; }
.arena-cost-track { flex: 1; height: 12px; background: var(--bg-surface, #1a2332); border-radius: 999px; overflow: hidden; }
.arena-cost-fill { display: block; height: 100%; background: linear-gradient(90deg, var(--accent, #10b981), var(--text-brand, #60a5fa)); border-radius: 999px; }
.arena-cost-val { width: 110px; text-align: right; color: var(--text-primary, #f8fafc); font-weight: 700; }

/* 账本 / 持仓表 */
.arena-detail h4 { font-size: 13px; color: var(--text-muted, #94a3b8); margin: 18px 0 8px; font-weight: 600; }
.arena-mini { width: 100%; border-collapse: collapse; font-size: 12px; }
.arena-mini th { text-align: right; padding: 8px 10px; color: var(--text-muted, #94a3b8); border-bottom: 1px solid var(--border, #334155); background: var(--bg-surface, #1a2332); position: sticky; top: 0; }
.arena-mini td { text-align: right; padding: 7px 10px; border-bottom: 1px solid rgba(51,65,85,.4); color: var(--text-secondary, #cbd5e1); }
.arena-mini td:first-child, .arena-mini th:first-child { text-align: left; }
.arena-mini tr:hover td { background: var(--bg-card-hover, #243044); }
.arena-scroll { max-height: 420px; overflow: auto; border: 1px solid var(--border, #334155); border-radius: 10px; }
.arena-pos-code { color: var(--text-brand, #60a5fa); font-weight: 600; }
.arena-status { font-size: 10px; padding: 1px 7px; border-radius: 6px; font-weight: 700; }
.arena-status.OPEN { background: rgba(96,165,250,.18); color: #60a5fa; }
.arena-status.CLOSE { background: rgba(148,163,184,.18); color: #94a3b8; }
.arena-status.STOP { background: rgba(239,68,68,.18); color: #f87171; }
.arena-status.TIMEOUT { background: rgba(245,158,11,.18); color: #facc15; }
.arena-reason { color: var(--text-muted, #94a3b8); font-size: 11px; max-width: 260px; }
.arena-loading, .arena-error { text-align: center; padding: 50px 20px; color: var(--text-muted, #94a3b8); }
.arena-error { color: var(--accent-red, #ef4444); }

/* ===== 公共留言板 / 圆桌辩论 / 决策日记 ===== */
.arena-subview { margin-top: 6px; }
.arena-wall-controls, .arena-round-controls {
  display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px;
  margin: 8px 0 16px; padding: 12px 16px;
  background: var(--bg-card, #1e293b); border: 1px solid var(--border, #334155); border-radius: 12px;
}
.arena-wall-title { font-size: 13px; color: var(--text-secondary, #cbd5e1); font-weight: 600; }
.arena-date-select {
  background: var(--bg-surface, #1a2332); color: var(--text-primary, #f8fafc);
  border: 1px solid var(--border, #334155); border-radius: 8px; padding: 7px 12px; font-size: 13px; cursor: pointer;
}
.arena-empty { text-align: center; padding: 40px 20px; color: var(--text-muted, #94a3b8); font-size: 13px; }

/* 立场徽章 */
.arena-stance {
  display: inline-block; padding: 2px 9px; border-radius: 999px; font-size: 11px; font-weight: 700; white-space: nowrap;
}
.arena-stance.bullish { background: rgba(239,68,68,.18); color: #f87171; }   /* 看多=红（A股惯例） */
.arena-stance.bearish { background: rgba(34,197,94,.18); color: #4ade80; }    /* 看空=绿 */
.arena-stance.neutral { background: rgba(148,163,184,.18); color: #cbd5e1; }

/* 留言板帖子 */
.arena-wall-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 14px; }
.arena-post {
  background: var(--bg-card, #1e293b); border: 1px solid var(--border, #334155); border-left: 4px solid var(--border, #334155);
  border-radius: 12px; padding: 14px 16px; box-shadow: 0 2px 10px rgba(36,40,82,.18);
}
.arena-post.bullish { border-left-color: var(--accent-red, #ef4444); }
.arena-post.bearish { border-left-color: var(--accent-green, #22c55e); }
.arena-post.neutral { border-left-color: var(--text-muted, #94a3b8); }
.arena-post-head { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; flex-wrap: wrap; }
.arena-post-name { font-size: 15px; font-weight: 700; color: var(--text-primary, #f8fafc); }
.arena-post-note { font-size: 13px; line-height: 1.65; color: var(--text-secondary, #cbd5e1); }
.arena-post-label { font-size: 11px; color: var(--text-muted, #94a3b8); margin: 10px 0 5px; letter-spacing: .04em; }
.arena-post-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.arena-chip {
  display: inline-block; padding: 3px 9px; border-radius: 8px; font-size: 11px;
  background: var(--bg-surface, #1a2332); color: var(--text-secondary, #cbd5e1); border: 1px solid var(--border, #334155);
}
.arena-chip.buy { background: rgba(239,68,68,.14); color: #f87171; border-color: rgba(239,68,68,.3); }
.arena-chip.sell { background: rgba(34,197,94,.14); color: #4ade80; border-color: rgba(34,197,94,.3); }
.arena-post-concerns { margin-top: 10px; font-size: 11px; color: #fbbf24; line-height: 1.5; }

/* 圆桌辩论气泡 */
.arena-round-meta { font-size: 12px; color: var(--text-muted, #94a3b8); margin-bottom: 14px; padding: 0 4px; }
.arena-round-chat { display: flex; flex-direction: column; gap: 14px; max-width: 860px; }
.arena-turn { display: flex; flex-direction: column; gap: 5px; max-width: 72%; }
.arena-turn-speaker { font-size: 11px; font-weight: 700; color: var(--text-muted, #94a3b8); letter-spacing: .03em; }
.arena-turn-bubble {
  padding: 12px 16px; border-radius: 14px; font-size: 13px; line-height: 1.7;
  background: var(--bg-card, #1e293b); border: 1px solid var(--border, #334155); color: var(--text-secondary, #cbd5e1);
}
.arena-turn.sp-buffett { align-self: flex-start; }
.arena-turn.sp-buffett .arena-turn-bubble { border-top-left-radius: 4px; border-left: 3px solid var(--gold, #c58b58); }
.arena-turn.sp-druckenmiller { align-self: flex-end; align-items: flex-end; }
.arena-turn.sp-druckenmiller .arena-turn-speaker { text-align: right; }
.arena-turn.sp-druckenmiller .arena-turn-bubble { border-top-right-radius: 4px; border-right: 3px solid var(--text-brand, #60a5fa); background: rgba(96,165,250,.08); }
.arena-turn.sp-host { align-self: center; max-width: 90%; }
.arena-turn.sp-host .arena-turn-bubble { background: transparent; border: 1px dashed var(--border, #334155); color: var(--text-muted, #94a3b8); font-size: 12px; }

/* 策略广场（常驻对话室） */
.arena-square-untrusted { font-size: 11px; color: #fbbf24; margin: 8px 4px 14px; opacity: .85; }
.arena-square-fresh { font-size: 11px; color: var(--text-muted, #94a3b8); }

/* 决策日记（下钻） */
.arena-diary { display: flex; flex-direction: column; gap: 12px; }
.arena-diary-entry {
  background: var(--bg-card, #1e293b); border: 1px solid var(--border, #334155); border-left: 4px solid var(--border, #334155);
  border-radius: 10px; padding: 12px 14px;
}
.arena-diary-entry.bullish { border-left-color: var(--accent-red, #ef4444); }
.arena-diary-entry.bearish { border-left-color: var(--accent-green, #22c55e); }
.arena-diary-entry.neutral { border-left-color: var(--text-muted, #94a3b8); }
.arena-diary-date { font-size: 11px; color: var(--text-muted, #94a3b8); font-family: ui-monospace, monospace; margin-bottom: 6px; }
.arena-diary-head { display: flex; align-items: center; gap: 10px; margin-bottom: 6px; flex-wrap: wrap; }
.arena-diary-thesis { font-size: 12px; color: var(--text-brand, #60a5fa); font-style: italic; }
.arena-diary-note { font-size: 13px; line-height: 1.65; color: var(--text-secondary, #cbd5e1); }
