/* ==========================================
   郎超代理人战争（测试版）样式
   ========================================== */

/* 通用屏幕容器 */
.agent-war-screen {
  width: 100%;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  background: linear-gradient(180deg, #0f0a1e 0%, #1a1030 50%, #0f0a1e 100%);
  color: #e8e4f0;
  padding: 0;
  box-sizing: border-box;
}

.agent-war-beta {
  display: inline-block;
  padding: 2px 8px;
  font-size: 12px;
  font-weight: 500;
  background: linear-gradient(135deg, #ff6b35, #ff8c42);
  color: #fff;
  border-radius: 12px;
  vertical-align: middle;
  margin-left: 8px;
  letter-spacing: 0.5px;
}

/* ========== 顶部栏 ========== */
.agent-war-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 24px;
  background: rgba(15, 10, 30, 0.85);
  border-bottom: 1px solid rgba(212, 175, 55, 0.2);
  backdrop-filter: blur(8px);
  position: sticky;
  top: 0;
  z-index: 10;
}

.agent-war-back-btn {
  color: #b8b0d0;
  font-size: 14px;
}

.agent-war-title-wrap {
  text-align: center;
  flex: 1;
}

.agent-war-title {
  margin: 0;
  font-size: 22px;
  font-weight: 700;
  background: linear-gradient(135deg, #d4af37, #f4d03f, #d4af37);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  letter-spacing: 1px;
}

.agent-war-subtitle {
  margin: 4px 0 0 0;
  font-size: 13px;
  color: #9a90b0;
  letter-spacing: 0.5px;
}

/* 步骤指示器 */
.agent-war-step-indicator {
  display: flex;
  align-items: center;
  gap: 4px;
  min-width: 140px;
  justify-content: flex-end;
}

.agent-war-step-indicator .step {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: rgba(120, 110, 140, 0.3);
  color: #8a80a0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 600;
  transition: all 0.3s ease;
}

.agent-war-step-indicator .step.active {
  background: linear-gradient(135deg, #d4af37, #f4d03f);
  color: #1a1030;
  box-shadow: 0 0 12px rgba(212, 175, 55, 0.5);
}

.agent-war-step-indicator .step.done {
  background: rgba(212, 175, 55, 0.3);
  color: #d4af37;
}

.agent-war-step-indicator .step-line {
  width: 16px;
  height: 2px;
  background: rgba(120, 110, 140, 0.3);
}

.agent-war-step-indicator .step-line.done {
  background: rgba(212, 175, 55, 0.5);
}

/* ========== 主体区域 ========== */
.agent-war-body {
  flex: 1;
  overflow-y: auto;
  padding: 20px 24px;
}

/* ========== 底部按钮栏 ========== */
.agent-war-footer {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding: 16px 24px;
  background: rgba(15, 10, 30, 0.9);
  border-top: 1px solid rgba(212, 175, 55, 0.15);
  backdrop-filter: blur(8px);
  position: sticky;
  bottom: 0;
  z-index: 10;
}

/* ========== 第1步：代理人选择 ========== */
.agent-cards-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 20px;
  max-width: 1100px;
  margin: 0 auto;
}

.agent-card {
  background: rgba(30, 20, 55, 0.7);
  border: 2px solid rgba(120, 110, 140, 0.3);
  border-radius: 12px;
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  flex-direction: column;
  position: relative;
  overflow: hidden;
}

.agent-card:hover {
  border-color: rgba(212, 175, 55, 0.5);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
}

.agent-card.selected {
  border-color: #d4af37;
  background: rgba(60, 45, 90, 0.8);
  box-shadow: 0 0 20px rgba(212, 175, 55, 0.25);
}

.agent-card-portrait {
  width: 100%;
  aspect-ratio: 3 / 4;
  overflow: hidden;
  background: linear-gradient(135deg, #3d2e66, #5d408c);
  flex-shrink: 0;
}

.agent-portrait-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
}

.agent-card-info {
  padding: 14px 16px 16px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1;
}

.agent-card-name {
  text-align: center;
  font-size: 20px;
  font-weight: 700;
  color: #f0ecf8;
  letter-spacing: 1px;
  margin-bottom: 2px;
}

.agent-card-skill,
.agent-card-event {
  background: rgba(20, 15, 35, 0.6);
  border-radius: 6px;
  padding: 8px 10px;
  border: 1px solid rgba(120, 110, 140, 0.15);
}

.agent-skill-label,
.agent-event-label {
  font-size: 10px;
  font-weight: 600;
  color: #d4af37;
  letter-spacing: 1px;
  margin-bottom: 3px;
}

.agent-event-label {
  color: #ff6b35;
}

.agent-skill-name,
.agent-event-name {
  font-size: 12px;
  font-weight: 600;
  color: #d0c8e0;
}

.agent-skill-desc,
.agent-event-desc {
  font-size: 11px;
  color: #7a7090;
  line-height: 1.4;
}

.agent-card-check {
  position: absolute;
  top: 12px;
  right: 12px;
  background: linear-gradient(135deg, #d4af37, #f4d03f);
  color: #1a1030;
  padding: 4px 10px;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 700;
}

/* ========== 第2步：教练选择 ========== */
.agent-war-coach-progress {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding: 16px 24px;
  background: rgba(30, 20, 55, 0.5);
  border-bottom: 1px solid rgba(212, 175, 55, 0.1);
}

.coach-progress-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  padding: 8px 20px;
  border-radius: 8px;
  background: rgba(20, 15, 35, 0.6);
  border: 1px solid rgba(120, 110, 140, 0.2);
  min-width: 140px;
}

.coach-progress-item.done {
  border-color: rgba(212, 175, 55, 0.5);
  background: rgba(60, 45, 90, 0.5);
}

.coach-progress-item.active {
  border-color: #d4af37;
  box-shadow: 0 0 12px rgba(212, 175, 55, 0.3);
}

.coach-progress-label {
  font-size: 11px;
  color: #8a80a0;
  letter-spacing: 1px;
}

.coach-progress-name {
  font-size: 15px;
  font-weight: 700;
  color: #e8e4f0;
}

.coach-progress-item.done .coach-progress-name {
  color: #d4af37;
}

.coach-progress-arrow {
  font-size: 18px;
  color: #5a5070;
}

.coach-cards-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 14px;
  max-width: 1100px;
  margin: 0 auto;
}

.coach-card {
  background: rgba(30, 20, 55, 0.7);
  border: 2px solid rgba(120, 110, 140, 0.3);
  border-radius: 12px;
  padding: 16px;
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  position: relative;
}

.coach-card:hover:not(.disabled) {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3);
}

.coach-card.selected {
  background: rgba(60, 45, 90, 0.8);
  box-shadow: 0 0 20px rgba(212, 175, 55, 0.25);
}

.coach-card.disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

.coach-card-portrait {
  width: 90px;
  height: 90px;
  border-radius: 50%;
  background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
  border: 2px solid rgba(212, 175, 55, 0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  position: relative;
}

.coach-portrait-text {
  font-size: 22px;
  font-weight: 700;
  color: #1a1030;
}

.coach-card-check {
  position: absolute;
  top: 4px;
  right: 4px;
  width: 24px;
  height: 24px;
  background: linear-gradient(135deg, #d4af37, #f4d03f);
  color: #1a1030;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 700;
}

.coach-card-info {
  text-align: center;
  width: 100%;
}

.coach-card-name {
  font-size: 16px;
  font-weight: 700;
  color: #f0ecf8;
  margin-bottom: 4px;
}

.coach-card-type-tag {
  display: inline-block;
  padding: 2px 10px;
  font-size: 11px;
  background: rgba(212, 175, 55, 0.15);
  color: #d4af37;
  border-radius: 10px;
  margin-bottom: 8px;
}

.coach-card-skill {
  background: rgba(20, 15, 35, 0.6);
  border-radius: 6px;
  padding: 6px 10px;
  text-align: left;
  margin-top: 4px;
}

.coach-card-skill-command {
  background: rgba(251, 191, 36, 0.08);
  border: 1px solid rgba(251, 191, 36, 0.15);
}

.coach-skill-label {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 2px;
}

.coach-skill-tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  border-radius: 4px;
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
}

.coach-skill-tag.train {
  background: rgba(96, 165, 250, 0.2);
  color: #60a5fa;
  border: 1px solid rgba(96, 165, 250, 0.3);
}

.coach-skill-tag.cmd {
  background: rgba(251, 191, 36, 0.2);
  color: #fbbf24;
  border: 1px solid rgba(251, 191, 36, 0.3);
}

.coach-skill-name {
  font-size: 12px;
  font-weight: 600;
  color: #d0c8e0;
  margin-bottom: 0;
}

.coach-skill-desc {
  font-size: 10px;
  color: #7a7090;
  line-height: 1.4;
  margin-left: 22px;
}

/* ========== 第3步：队员选择 ========== */
.agent-war-player-progress {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 24px;
  background: rgba(30, 20, 55, 0.5);
  border-bottom: 1px solid rgba(212, 175, 55, 0.1);
  flex-wrap: wrap;
  gap: 12px;
}

.player-progress-count {
  display: flex;
  align-items: baseline;
  gap: 6px;
}

.progress-num {
  font-size: 28px;
  font-weight: 700;
  color: #d4af37;
}

.progress-sep {
  font-size: 18px;
  color: #5a5070;
}

.progress-max {
  font-size: 18px;
  font-weight: 600;
  color: #8a80a0;
}

.progress-label {
  font-size: 13px;
  color: #8a80a0;
  margin-left: 8px;
}

.player-progress-avg {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.avg-label {
  font-size: 12px;
  color: #8a80a0;
}

.avg-dim {
  font-size: 11px;
  color: #b0a8c8;
  display: flex;
  align-items: center;
  gap: 2px;
}

.avg-dim em {
  font-style: normal;
  font-weight: 600;
  color: #d4af37;
  font-size: 10px;
}

.aw-selected-bar {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 24px;
  background: rgba(60, 45, 90, 0.4);
  border-bottom: 1px solid rgba(212, 175, 55, 0.1);
  flex-wrap: wrap;
}

.aw-selected-label {
  font-size: 12px;
  font-weight: 600;
  color: #d4af37;
  letter-spacing: 1px;
  flex-shrink: 0;
}

.aw-selected-chips {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  flex: 1;
}

.aw-selected-chip {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  background: rgba(30, 20, 55, 0.7);
  border: 1px solid #d4af37;
  border-radius: 16px;
  font-size: 12px;
  cursor: pointer;
  transition: all 0.2s;
}

.aw-selected-chip:hover {
  background: rgba(212, 50, 50, 0.2);
  border-color: #ff6b6b;
}

.aw-chip-name {
  color: #e8e4f0;
}

.aw-chip-remove {
  color: #8a80a0;
  font-size: 14px;
  line-height: 1;
}

.aw-player-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 12px;
  max-width: 1200px;
  margin: 0 auto;
}

.aw-player-card {
  background: rgba(30, 20, 55, 0.7);
  border: 2px solid rgba(120, 110, 140, 0.3);
  border-radius: 10px;
  padding: 10px;
  cursor: pointer;
  transition: all 0.25s ease;
  display: flex;
  flex-direction: column;
  gap: 6px;
  position: relative;
  min-width: 0;
}

.aw-player-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.3);
}

.aw-player-card.selected {
  box-shadow: 0 0 16px rgba(212, 175, 55, 0.3);
}

.aw-player-portrait {
  width: 100%;
  height: 100px;
  border-radius: 8px;
  background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
}

.aw-portrait-text {
  font-size: 24px;
  font-weight: 700;
  color: #1a1030;
}

.aw-player-check {
  position: absolute;
  top: 4px;
  right: 4px;
  width: 22px;
  height: 22px;
  background: #d4af37;
  color: #1a1030;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 700;
}

.aw-player-info {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.aw-player-name {
  font-size: 14px;
  font-weight: 700;
  color: #ffffff;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
  letter-spacing: 0.3px;
}

.aw-player-meta {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 2px;
}

.aw-player-tier {
  font-size: 11px;
  font-weight: 700;
}

.aw-player-overall {
  font-size: 10px;
  color: #8a80a0;
}

.aw-player-dims {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 4px 6px;
  padding-top: 6px;
  border-top: 1px solid rgba(120, 110, 140, 0.15);
}

.aw-dim-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 10px;
}

.aw-dim-label {
  color: #7a7090;
}

.aw-dim-val {
  color: #c0b8d8;
  font-weight: 600;
}

/* ========== 第4步：队长选择 ========== */
.aw-captain-hint {
  padding: 12px 24px;
  text-align: center;
  font-size: 13px;
  color: #b0a8c8;
  background: rgba(212, 175, 55, 0.08);
  border-bottom: 1px solid rgba(212, 175, 55, 0.15);
}

.aw-captain-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 14px;
  max-width: 1100px;
  margin: 0 auto;
}

.aw-captain-card {
  background: rgba(30, 20, 55, 0.7);
  border: 2px solid rgba(120, 110, 140, 0.3);
  border-radius: 12px;
  padding: 16px;
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}

.aw-captain-card:hover {
  transform: translateY(-2px);
}

.aw-captain-card.selected {
  background: rgba(60, 45, 90, 0.8);
}

.aw-captain-portrait {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background-size: cover;
  background-position: center top;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 3px solid transparent;
  position: relative;
  overflow: hidden;
}

.aw-captain-card.selected .aw-captain-portrait {
  border-color: #d4af37;
}

.aw-captain-portrait-text {
  font-size: 20px;
  font-weight: 700;
  color: #1a1030;
}

.aw-captain-badge {
  position: absolute;
  bottom: -4px;
  left: 50%;
  transform: translateX(-50%);
  background: linear-gradient(135deg, #d4af37, #f4d03f);
  color: #1a1030;
  padding: 2px 10px;
  border-radius: 10px;
  font-size: 11px;
  font-weight: 700;
  white-space: nowrap;
}

.aw-captain-info {
  text-align: center;
}

.aw-captain-name {
  font-size: 15px;
  font-weight: 700;
  color: #f0ecf8;
  margin-bottom: 2px;
}

.aw-captain-meta {
  display: flex;
  justify-content: center;
  gap: 8px;
  font-size: 11px;
}

.aw-captain-tier {
  font-weight: 700;
}

.aw-captain-overall {
  color: #8a80a0;
}

.aw-captain-skill {
  width: 100%;
  background: rgba(20, 15, 35, 0.6);
  border-radius: 6px;
  padding: 8px 10px;
  text-align: center;
  border: 1px solid rgba(212, 175, 55, 0.15);
}

.aw-captain-skill-name {
  font-size: 12px;
  font-weight: 600;
  color: #d4af37;
  margin-bottom: 2px;
}

.aw-captain-skill-desc {
  font-size: 11px;
  color: #7a7090;
  line-height: 1.4;
}

/* ========== 第5步：育成界面 ========== */
.aw-training-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 24px;
  background: rgba(15, 10, 30, 0.9);
  border-bottom: 1px solid rgba(212, 175, 55, 0.2);
  backdrop-filter: blur(8px);
  position: sticky;
  top: 0;
  z-index: 10;
}

.aw-training-title {
  text-align: center;
  flex: 1;
}

.aw-training-title h2 {
  margin: 0;
  font-size: 20px;
  font-weight: 700;
  background: linear-gradient(135deg, #d4af37, #f4d03f, #d4af37);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  letter-spacing: 1px;
}

.aw-training-title p {
  margin: 2px 0 0 0;
  font-size: 12px;
  color: #9a90b0;
}

/* 阵容条 */
.aw-training-lineup {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 16px 24px;
  background: rgba(30, 20, 55, 0.5);
  border-bottom: 1px solid rgba(212, 175, 55, 0.1);
  flex-wrap: wrap;
}

.aw-lineup-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  min-width: 80px;
}

.aw-lineup-role {
  font-size: 10px;
  color: #8a80a0;
  letter-spacing: 1px;
}

.aw-lineup-avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background-size: cover;
  background-position: center top;
  border: 2px solid rgba(212, 175, 55, 0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.aw-lineup-avatar span {
  font-size: 14px;
  font-weight: 700;
  color: #1a1030;
}

.aw-lineup-avatar-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
}

.agent-avatar-mini {
  background: linear-gradient(135deg, #3d2e66, #5d408c);
  border-color: #d4af37;
}

.agent-avatar-mini span {
  color: #d4af37;
  font-size: 18px;
}

.aw-lineup-name {
  font-size: 12px;
  font-weight: 600;
  color: #d0c8e0;
  text-align: center;
  white-space: nowrap;
}

.aw-captain-star {
  color: #d4af37;
  margin-left: 2px;
}

.aw-lineup-divider {
  color: #5a5070;
  font-size: 16px;
  padding: 0 4px;
}

.captain-item .aw-lineup-avatar {
  border-color: #d4af37;
  box-shadow: 0 0 8px rgba(212, 175, 55, 0.4);
}

/* 主区域占位 */
.aw-training-main {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px 24px;
}

.aw-training-placeholder {
  text-align: center;
  max-width: 500px;
}

.aw-placeholder-icon {
  font-size: 64px;
  margin-bottom: 16px;
  animation: float 3s ease-in-out infinite;
}

@keyframes float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}

.aw-training-placeholder h3 {
  font-size: 24px;
  font-weight: 700;
  color: #d4af37;
  margin: 0 0 12px 0;
  letter-spacing: 2px;
}

.aw-placeholder-desc {
  font-size: 14px;
  color: #9a90b0;
  line-height: 1.8;
  margin: 0 0 24px 0;
}

.aw-placeholder-features {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
}

.aw-feature-tag {
  padding: 6px 14px;
  background: rgba(60, 45, 90, 0.6);
  border: 1px solid rgba(212, 175, 55, 0.3);
  border-radius: 20px;
  font-size: 12px;
  color: #d0c8e0;
  letter-spacing: 1px;
}

/* 底部球队总览 */
.aw-training-bottom {
  background: rgba(15, 10, 30, 0.95);
  border-top: 1px solid rgba(212, 175, 55, 0.2);
  padding: 16px 24px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.aw-team-overview-header {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 10px;
}

.aw-team-overview-title {
  font-size: 14px;
  font-weight: 700;
  color: #d4af37;
  letter-spacing: 1px;
}

.aw-team-overall {
  font-size: 15px;
  font-weight: 700;
  color: #f0ecf8;
}

.aw-team-player-count {
  font-size: 12px;
  color: #8a80a0;
  margin-left: auto;
}

.aw-team-dims {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 8px;
}

.aw-team-dim-item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
}

.aw-team-dim-label {
  color: #9a90b0;
  min-width: 28px;
  font-size: 11px;
}

.aw-team-dim-bar {
  flex: 1;
  height: 6px;
  background: rgba(120, 110, 140, 0.2);
  border-radius: 3px;
  overflow: hidden;
}

.aw-team-dim-fill {
  height: 100%;
  background: linear-gradient(90deg, #d4af37, #f4d03f);
  border-radius: 3px;
  transition: width 0.5s ease;
}

.aw-team-dim-val {
  color: #d0c8e0;
  font-weight: 600;
  min-width: 24px;
  text-align: right;
}

/* 队员名单缩略 */
.aw-team-roster {
  border-top: 1px solid rgba(120, 110, 140, 0.15);
  padding-top: 12px;
}

.aw-roster-header {
  font-size: 12px;
  font-weight: 600;
  color: #8a80a0;
  letter-spacing: 1px;
  margin-bottom: 8px;
}

.aw-roster-list {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.aw-roster-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  padding: 6px 8px;
  background: rgba(30, 20, 55, 0.6);
  border: 1px solid rgba(120, 110, 140, 0.2);
  border-radius: 8px;
  min-width: 60px;
}

.aw-roster-item.is-captain {
  border-color: #d4af37;
  background: rgba(60, 45, 90, 0.5);
}

.aw-roster-portrait {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background-size: cover;
  background-position: center top;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
}

.aw-roster-portrait span {
  font-size: 11px;
  font-weight: 700;
  color: #1a1030;
}

.aw-roster-captain-mark {
  position: absolute;
  top: -2px;
  right: -2px;
  font-size: 10px;
  color: #d4af37;
  text-shadow: 0 0 4px #1a1030;
}

.aw-roster-name {
  font-size: 10px;
  color: #b0a8c8;
  max-width: 56px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* ========== 响应式 ========== */
@media (max-width: 768px) {
  .agent-war-header {
    padding: 12px 16px;
    flex-wrap: wrap;
    gap: 8px;
  }

  .agent-war-title-wrap {
    order: -1;
    width: 100%;
  }

  .agent-war-step-indicator {
    order: 2;
    width: 100%;
    justify-content: center;
  }

  .agent-war-back-btn {
    order: 1;
  }

  .agent-war-body {
    padding: 16px;
  }

  .agent-war-footer {
    padding: 12px 16px;
    flex-direction: column;
    align-items: stretch;
  }

  .agent-war-footer .btn {
    width: 100%;
  }

  .aw-training-lineup {
    gap: 8px;
    padding: 12px 16px;
  }

  .aw-lineup-item {
    min-width: 60px;
  }

  .aw-team-dims {
    grid-template-columns: repeat(4, 1fr);
  }

  /* 队员选择页：手机竖屏 2 列 */
  .aw-player-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }
  .aw-player-card {
    padding: 8px;
    gap: 6px;
    border-radius: 8px;
  }
  .aw-player-portrait {
    height: 80px;
    border-radius: 6px;
  }
  .aw-portrait-text {
    font-size: 18px;
  }
  .aw-player-name {
    font-size: 12px;
  }
  .aw-player-tier {
    font-size: 10px;
  }
  .aw-player-overall {
    font-size: 9px;
  }
  .aw-player-dims {
    display: none;
  }
  .aw-player-check {
    width: 20px;
    height: 20px;
    font-size: 11px;
    top: 3px;
    right: 3px;
  }

  /* 进度条手机端 */
  .agent-war-player-progress {
    padding: 10px 16px;
    gap: 8px;
  }
  .progress-num {
    font-size: 22px;
  }
  .progress-max {
    font-size: 14px;
  }
  .progress-label {
    font-size: 11px;
    margin-left: 4px;
  }
  .player-progress-avg {
    gap: 6px;
    width: 100%;
  }
  .avg-label {
    font-size: 11px;
  }
  .avg-dim {
    font-size: 10px;
  }

  /* 已选 chips 手机端 */
  .aw-selected-bar {
    padding: 8px 16px;
    gap: 8px;
  }
  .aw-selected-label {
    font-size: 11px;
  }
  .aw-selected-chip {
    padding: 3px 8px;
    font-size: 11px;
    gap: 4px;
  }
}

/* ============================================================
   队伍分析总结界面
   ============================================================ */
.agent-war-team-summary {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: linear-gradient(160deg, #0f0820 0%, #1a0e35 40%, #24123f 100%);
}

.aw-ts-content {
  flex: 1;
  display: grid;
  grid-template-columns: 1.3fr 1fr;
  gap: 16px;
  padding: 16px 24px 100px;
  overflow-y: auto;
}

.aw-ts-left,
.aw-ts-right {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.aw-ts-card {
  background: linear-gradient(145deg, rgba(59, 29, 105, 0.6), rgba(31, 16, 60, 0.75));
  border: 1px solid rgba(167, 139, 250, 0.25);
  border-radius: 14px;
  padding: 20px 22px;
  backdrop-filter: blur(8px);
}

.aw-ts-card-title {
  font-size: 18px;
  font-weight: 700;
  color: #e9d8ff;
  margin: 0 0 16px 0;
  display: flex;
  align-items: center;
  gap: 10px;
  letter-spacing: 0.5px;
}

.aw-ts-card-title::before {
  content: '';
  width: 4px;
  height: 18px;
  background: linear-gradient(180deg, #ffd86b, #b088f9);
  border-radius: 2px;
}

/* ---- 阵容一览 ---- */
.aw-ts-core {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin-bottom: 20px;
}

.aw-ts-core-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  padding: 12px 8px;
  background: rgba(139, 92, 246, 0.08);
  border: 1px solid rgba(139, 92, 246, 0.2);
  border-radius: 10px;
}

.aw-ts-core-role {
  font-size: 11px;
  color: #c4b5fd;
  font-weight: 600;
  letter-spacing: 1px;
}

.aw-ts-core-avatar {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: 700;
  font-size: 14px;
  border: 2px solid rgba(255, 215, 0, 0.4);
  overflow: hidden;
}

.aw-ts-core-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.aw-ts-core-avatar.agent-avatar-mini {
  border-color: rgba(167, 139, 250, 0.6);
}

.aw-ts-core-item.captain .aw-ts-core-avatar {
  border-color: #ffd86b;
  box-shadow: 0 0 12px rgba(255, 216, 107, 0.5);
}

.aw-ts-core-name {
  font-size: 12px;
  color: #e9d8ff;
  font-weight: 600;
  text-align: center;
  line-height: 1.3;
}

.aw-ts-core-skill {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-top: 2px;
  font-size: 10px;
}

.aw-ts-skill-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 14px;
  height: 14px;
  border-radius: 3px;
  font-size: 9px;
  font-weight: 700;
  line-height: 1;
}

.aw-ts-skill-badge.train {
  background: rgba(96, 165, 250, 0.25);
  color: #60a5fa;
}

.aw-ts-skill-badge.cmd {
  background: rgba(251, 191, 36, 0.25);
  color: #fbbf24;
}

.aw-ts-skill-name {
  color: #d0c8e0;
  font-weight: 500;
  white-space: nowrap;
  max-width: 80px;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* 队员网格 */
.aw-ts-players-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}

.aw-ts-player-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  padding: 10px 6px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(167, 139, 250, 0.15);
  border-radius: 8px;
  transition: all 0.2s;
}

.aw-ts-player-item:hover {
  background: rgba(167, 139, 250, 0.1);
  border-color: rgba(167, 139, 250, 0.35);
}

.aw-ts-player-item.is-captain {
  border-color: rgba(255, 216, 107, 0.5);
  background: rgba(255, 216, 107, 0.06);
}

.aw-ts-player-portrait {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: 600;
  font-size: 12px;
  position: relative;
  overflow: hidden;
}

.aw-ts-captain-mark {
  position: absolute;
  bottom: -2px;
  right: -2px;
  width: 18px;
  height: 18px;
  background: #ffd86b;
  color: #5a3a00;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  font-weight: 700;
}

.aw-ts-player-name {
  font-size: 11px;
  color: #d8c7ff;
  font-weight: 500;
  text-align: center;
}

.aw-ts-player-ovr {
  font-size: 10px;
  color: #ffd86b;
  font-weight: 700;
  font-family: 'Courier New', monospace;
}

/* ---- 羁绊分析 ---- */
.aw-ts-bond-count {
  font-size: 12px;
  font-weight: 500;
  color: #ffd86b;
  background: rgba(255, 216, 107, 0.12);
  padding: 2px 8px;
  border-radius: 10px;
}

.aw-ts-bond-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
  max-height: 360px;
  overflow-y: auto;
}

.aw-ts-bond-item {
  padding: 10px 12px;
  background: linear-gradient(135deg, rgba(139, 92, 246, 0.15), rgba(168, 85, 247, 0.06));
  border: 1px solid rgba(139, 92, 246, 0.3);
  border-radius: 8px;
}

.aw-ts-bond-item.is-allstats {
  border-color: rgba(255, 216, 107, 0.45);
  background: linear-gradient(135deg, rgba(255, 216, 107, 0.12), rgba(139, 92, 246, 0.08));
}

.aw-ts-bond-head {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 4px;
}

.aw-ts-bond-name {
  font-size: 14px;
  font-weight: 700;
  color: #e9d8ff;
}

.aw-ts-bond-item.is-allstats .aw-ts-bond-name {
  color: #ffe58a;
}

.aw-ts-bond-tag {
  font-size: 10px;
  padding: 2px 6px;
  border-radius: 4px;
  font-weight: 600;
  background: rgba(255, 216, 107, 0.2);
  color: #ffd86b;
  border: 1px solid rgba(255, 216, 107, 0.35);
}

.aw-ts-bond-tag.pending {
  background: rgba(255, 193, 7, 0.18);
  color: #ffd66b;
  border-color: rgba(255, 193, 7, 0.35);
}

.aw-ts-bond-members {
  font-size: 11px;
  color: #a78bfa;
  margin-bottom: 4px;
}

.aw-ts-bond-effect {
  font-size: 12px;
  color: #c4b5fd;
  line-height: 1.5;
}

.aw-ts-empty {
  text-align: center;
  padding: 24px;
  color: #6b7280;
  font-size: 13px;
}

/* ---- 总评卡片 ---- */
.aw-ts-grade-card {
  text-align: center;
  padding: 28px 20px;
  background: linear-gradient(160deg, rgba(59, 29, 105, 0.7), rgba(88, 28, 135, 0.85));
  border: 1px solid rgba(167, 139, 250, 0.35);
}

.aw-ts-grade-label {
  font-size: 14px;
  color: #c4b5fd;
  letter-spacing: 4px;
  font-weight: 600;
  margin-bottom: 8px;
}

.aw-ts-grade {
  font-size: 96px;
  font-weight: 900;
  line-height: 1;
  margin-bottom: 12px;
  font-family: 'Georgia', 'Times New Roman', serif;
  letter-spacing: 2px;
}

.aw-ts-grade-score {
  font-size: 13px;
  color: #ddd6fe;
  margin-bottom: 12px;
  font-weight: 500;
}

.aw-ts-grade-text {
  font-size: 14px;
  color: #e9d8ff;
  line-height: 1.6;
  font-weight: 500;
}

/* ---- 八维数值分析 ---- */
.aw-ts-dims {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 16px;
}

.aw-ts-dim-item {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.aw-ts-dim-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.aw-ts-dim-label {
  font-size: 13px;
  color: #d8c7ff;
  font-weight: 600;
}

.aw-ts-dim-val {
  font-size: 14px;
  font-weight: 700;
  font-family: 'Courier New', monospace;
}

.aw-ts-dim-bar {
  height: 6px;
  background: rgba(255, 255, 255, 0.08);
  border-radius: 3px;
  overflow: hidden;
}

.aw-ts-dim-fill {
  height: 100%;
  border-radius: 3px;
  transition: width 0.5s ease;
}

/* 强项/弱项 */
.aw-ts-strength-weak {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  padding-top: 14px;
  border-top: 1px solid rgba(167, 139, 250, 0.2);
}

.aw-ts-sw-col {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.aw-ts-sw-label {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1px;
}

.aw-ts-sw-label.strong { color: #51CF66; }
.aw-ts-sw-label.weak   { color: #FF6B6B; }

.aw-ts-sw-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.aw-ts-sw-tag {
  font-size: 11px;
  padding: 3px 8px;
  border-radius: 5px;
  font-weight: 600;
}

.aw-ts-sw-tag.strong {
  background: rgba(81, 207, 102, 0.15);
  color: #69db7c;
  border: 1px solid rgba(81, 207, 102, 0.3);
}

.aw-ts-sw-tag.weak {
  background: rgba(255, 107, 107, 0.15);
  color: #ff8787;
  border: 1px solid rgba(255, 107, 107, 0.3);
}

/* ---- 底部开始训练按钮 ---- */
.aw-ts-bottom-bar {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 14px 24px;
  background: linear-gradient(180deg, transparent 0%, rgba(15, 8, 32, 0.95) 60%);
  display: flex;
  justify-content: center;
  z-index: 100;
}

.btn-gold {
  background: linear-gradient(135deg, #ffd86b 0%, #f59f00 100%);
  color: #3d2700;
  border: none;
  padding: 12px 48px;
  font-size: 16px;
  font-weight: 700;
  border-radius: 10px;
  cursor: pointer;
  letter-spacing: 2px;
  box-shadow: 0 4px 16px rgba(255, 216, 107, 0.4);
  transition: all 0.2s;
}

.btn-gold:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(255, 216, 107, 0.55);
}

.btn-gold:active {
  transform: translateY(0);
}

.btn-lg {
  padding: 14px 56px;
  font-size: 17px;
}

/* 响应式 */
@media (max-width: 900px) {
  .aw-ts-content {
    grid-template-columns: 1fr;
    padding: 12px 16px 100px;
  }
  .aw-ts-core {
    grid-template-columns: repeat(2, 1fr);
  }
  .aw-ts-players-grid {
    grid-template-columns: repeat(3, 1fr);
  }
  .aw-ts-grade {
    font-size: 72px;
  }
}

/* ============================================================
   6队标签切换
   ============================================================ */
.aw-ts-team-tabs {
  display: flex;
  gap: 8px;
  padding: 12px 24px 8px;
  overflow-x: auto;
  background: rgba(15, 8, 32, 0.6);
  border-bottom: 1px solid rgba(167, 139, 250, 0.15);
}

.aw-ts-team-tab {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 14px 8px 8px;
  background: rgba(139, 92, 246, 0.08);
  border: 1px solid rgba(167, 139, 250, 0.2);
  border-radius: 10px;
  cursor: pointer;
  transition: all 0.2s;
  flex-shrink: 0;
  min-width: 140px;
}

.aw-ts-team-tab:hover {
  background: rgba(139, 92, 246, 0.15);
  border-color: rgba(167, 139, 250, 0.4);
}

.aw-ts-team-tab.active {
  background: linear-gradient(135deg, rgba(255, 216, 107, 0.15), rgba(139, 92, 246, 0.2));
  border-color: rgba(255, 216, 107, 0.6);
  box-shadow: 0 0 12px rgba(255, 216, 107, 0.2);
}

.aw-ts-team-tab.is-player .aw-ts-tab-name {
  color: #ffd86b;
}

.aw-ts-tab-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  overflow: hidden;
  background: #444;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: 700;
  font-size: 13px;
  flex-shrink: 0;
  border: 2px solid rgba(167, 139, 250, 0.4);
}

.aw-ts-tab-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.aw-ts-tab-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
  text-align: left;
}

.aw-ts-tab-name {
  font-size: 13px;
  font-weight: 700;
  color: #e9d8ff;
  display: flex;
  align-items: center;
  gap: 6px;
}

.aw-ts-tab-you {
  font-size: 9px;
  padding: 1px 5px;
  background: #ffd86b;
  color: #3d2700;
  border-radius: 4px;
  font-weight: 700;
  letter-spacing: 0.5px;
}

.aw-ts-tab-ovr {
  font-size: 11px;
  color: #a78bfa;
  font-family: 'Courier New', monospace;
  font-weight: 600;
}

.aw-ts-card-subtitle {
  font-size: 12px;
  font-weight: 500;
  color: #a78bfa;
  margin-left: auto;
}

/* 其他队伍概览 */
.aw-ts-other-teams {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.aw-ts-other-team {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 10px 12px;
  background: rgba(139, 92, 246, 0.06);
  border: 1px solid rgba(167, 139, 250, 0.18);
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s;
  text-align: left;
}

.aw-ts-other-team:hover {
  background: rgba(139, 92, 246, 0.12);
  border-color: rgba(167, 139, 250, 0.35);
}

.aw-ts-other-agent {
  display: flex;
  align-items: center;
  gap: 10px;
}

.aw-ts-other-avatar {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  overflow: hidden;
  background: #444;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: 600;
  font-size: 11px;
  flex-shrink: 0;
}

.aw-ts-other-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.aw-ts-other-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1;
}

.aw-ts-other-name {
  font-size: 13px;
  font-weight: 700;
  color: #e9d8ff;
  display: flex;
  align-items: center;
  gap: 6px;
}

.aw-ts-other-ovr {
  font-size: 11px;
  color: #ffd86b;
  font-family: 'Courier New', monospace;
  font-weight: 600;
}

.aw-ts-other-players {
  display: flex;
  gap: 4px;
  flex-wrap: wrap;
}

.aw-ts-other-player {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: rgba(167, 139, 250, 0.2);
  border: 1px solid rgba(167, 139, 250, 0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  color: #d8c7ff;
  font-weight: 600;
}

/* ---- 6 队代理人切换 tabs ---- */
.aw-ts-tabs {
  display: flex;
  gap: 8px;
  padding: 12px 24px 4px;
  overflow-x: auto;
  flex-shrink: 0;
  background: linear-gradient(180deg, rgba(15, 8, 32, 0.8), transparent);
}

.aw-ts-tab {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
  padding: 8px 12px 6px;
  min-width: 82px;
  background: rgba(31, 16, 60, 0.6);
  border: 1px solid rgba(139, 92, 246, 0.25);
  border-radius: 10px;
  cursor: pointer;
  transition: all 0.2s;
  color: #d8c7ff;
  flex-shrink: 0;
}

.aw-ts-tab:hover {
  background: rgba(59, 29, 105, 0.8);
  border-color: rgba(167, 139, 250, 0.5);
}

.aw-ts-tab.active {
  background: linear-gradient(160deg, rgba(139, 92, 246, 0.35), rgba(88, 28, 135, 0.6));
  border-color: #ffd86b;
  box-shadow: 0 0 12px rgba(255, 216, 107, 0.3);
}

.aw-ts-tab.is-player {
  border-color: rgba(255, 216, 107, 0.5);
}

.aw-ts-tab-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: 700;
  font-size: 14px;
  border: 2px solid rgba(255, 215, 0, 0.35);
  overflow: hidden;
}

.aw-ts-tab-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.aw-ts-tab-name {
  font-size: 11px;
  font-weight: 600;
  color: #e9d8ff;
  display: flex;
  align-items: center;
  gap: 4px;
}

.aw-ts-tab-badge {
  background: #ffd86b;
  color: #3d2700;
  font-size: 9px;
  font-weight: 700;
  padding: 1px 4px;
  border-radius: 3px;
}

.aw-ts-tab-ovr {
  font-size: 10px;
  color: #ffd86b;
  font-family: 'Courier New', monospace;
  font-weight: 700;
}


/* ========================================================
   郎超代理人战争 · 育成+联赛系统样式（紫金深色主题）
   ======================================================== */

.aw-dark-theme {
  --aw-bg: #0d0a1a;
  --aw-bg-2: #15102a;
  --aw-card: #1c1635;
  --aw-card-2: #251d45;
  --aw-border: #3d2d6b;
  --aw-gold: #f5c542;
  --aw-gold-2: #e8a91f;
  --aw-gold-glow: rgba(245, 197, 66, 0.3);
  --aw-text: #f0e9d6;
  --aw-text-2: #b8ad8e;
  --aw-text-3: #7a7058;
  --aw-purple: #8b5cf6;
  --aw-purple-2: #6d28d9;
  --aw-green: #4ade80;
  --aw-red: #f87171;
  --aw-blue: #60a5fa;
  --aw-yellow: #fbbf24;
}

.agent-war-training.aw-dark-theme {
  background: linear-gradient(160deg, var(--aw-bg) 0%, var(--aw-bg-2) 50%, #1a1033 100%);
  color: var(--aw-text);
  padding: 0 0 20px;
  max-width: 100%;
  margin: 0;
  height: 100vh;
  overflow-y: auto;
  overflow-x: hidden;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 0;
}

/* 顶部栏 */
.aw-tr-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 14px 16px 12px;
  background: linear-gradient(180deg, rgba(245,197,66,0.12) 0%, transparent 100%);
  border-bottom: 1px solid var(--aw-border);
  position: sticky;
  top: 0;
  z-index: 10;
  backdrop-filter: blur(8px);
}

.aw-tr-back {
  background: transparent;
  border: none;
  color: var(--aw-text-2);
  cursor: pointer;
  padding: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.aw-tr-back:hover {
  color: var(--aw-gold);
}

.aw-tr-day-block {
  text-align: center;
  flex: 1;
}

.aw-tr-day {
  font-size: 13px;
  font-weight: 600;
  color: var(--aw-text-2);
  letter-spacing: 2px;
  text-transform: uppercase;
}

.aw-tr-day-num {
  font-size: 22px;
  font-weight: 900;
  color: var(--aw-gold);
  font-family: 'Courier New', monospace;
  margin: 0 2px;
}

.aw-tr-day-total {
  font-size: 12px;
  color: var(--aw-text-3);
  font-weight: 400;
}

.aw-tr-plan {
  font-size: 12px;
  color: var(--aw-text);
  margin-top: 2px;
  font-weight: 500;
}

.aw-tr-next {
  text-align: right;
  min-width: 130px;
}

.aw-tr-next-label {
  font-size: 10px;
  color: var(--aw-text-3);
  text-transform: uppercase;
  letter-spacing: 1.5px;
  font-weight: 600;
}

.aw-tr-next-val {
  font-size: 11px;
  color: var(--aw-gold);
  margin-top: 2px;
  font-weight: 600;
  line-height: 1.3;
}

/* Tabs */
.aw-tr-tabs {
  display: flex;
  gap: 0;
  padding: 0 12px;
  background: var(--aw-bg-2);
  border-bottom: 1px solid var(--aw-border);
}

.aw-tr-tab {
  flex: 1;
  padding: 12px 8px 10px;
  border: none;
  background: transparent;
  font-size: 13px;
  font-weight: 600;
  color: var(--aw-text-3);
  cursor: pointer;
  border-bottom: 2px solid transparent;
  transition: all 0.2s;
  letter-spacing: 1px;
}

.aw-tr-tab:hover {
  color: var(--aw-text-2);
}

.aw-tr-tab.active {
  color: var(--aw-gold);
  border-bottom-color: var(--aw-gold);
  font-weight: 700;
}

/* Body */
.aw-tr-body {
  flex: 1;
  padding: 14px 14px 20px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  overflow-y: auto;
}

/* ========== 队员卡片网格 ========== */
.aw-player-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}

.aw-player-card {
  background: var(--aw-card);
  border: 1px solid var(--aw-border);
  border-radius: 10px;
  padding: 10px 10px 8px;
  cursor: pointer;
  transition: all 0.25s;
  position: relative;
  min-height: 108px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.aw-player-card:hover {
  border-color: var(--aw-gold);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(245, 197, 66, 0.15);
}

.aw-player-card.expanded {
  grid-column: span 1;
  border-color: var(--aw-gold);
  box-shadow: 0 0 0 1px var(--aw-gold), 0 4px 16px var(--aw-gold-glow);
}

.aw-pc-top {
  display: flex;
  gap: 8px;
  align-items: center;
}

.aw-pc-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: linear-gradient(135deg, #3d2d6b, #251d45);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--aw-text);
  font-weight: 700;
  font-size: 12px;
  overflow: hidden;
  flex-shrink: 0;
  position: relative;
}

.aw-pc-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.aw-pc-captain {
  position: absolute;
  bottom: -2px;
  right: -2px;
  width: 16px;
  height: 16px;
  background: var(--aw-gold);
  color: #1a1033;
  border-radius: 50%;
  font-size: 9px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 900;
  border: 2px solid var(--aw-card);
}

.aw-pc-info {
  flex: 1;
  min-width: 0;
}

.aw-pc-name {
  font-size: 12px;
  font-weight: 700;
  color: var(--aw-text);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 4px;
}

.aw-pc-ovr {
  font-size: 13px;
  color: var(--aw-gold);
  font-family: 'Courier New', monospace;
  font-weight: 800;
}

.aw-pc-pos {
  font-size: 10px;
  color: var(--aw-text-3);
  margin-top: 1px;
}

.aw-pc-fatigue {
  display: flex;
  align-items: center;
  gap: 6px;
}

.aw-pc-fat-bar {
  flex: 1;
  height: 5px;
  background: rgba(255,255,255,0.08);
  border-radius: 3px;
  overflow: hidden;
}

.aw-pc-fat-fill {
  height: 100%;
  transition: width 0.3s, background 0.3s;
  border-radius: 3px;
}

.aw-pc-status {
  font-size: 10px;
  font-weight: 700;
  min-width: 28px;
  text-align: right;
}

/* 展开的八维详情 */
.aw-pc-expand {
  padding-top: 6px;
  border-top: 1px solid var(--aw-border);
  margin-top: 2px;
  animation: expandFade 0.25s ease-out;
}

@keyframes expandFade {
  from { opacity: 0; transform: translateY(-4px); }
  to { opacity: 1; transform: translateY(0); }
}

/* ========== 八维进度条 ========== */
.aw-dim-bars {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.aw-dim-bars.xs .aw-dim-row { gap: 4px; }
.aw-dim-bars.xs .aw-dim-label { font-size: 9px; width: 24px; }
.aw-dim-bars.xs .aw-dim-bar { height: 4px; }
.aw-dim-bars.xs .aw-dim-value { font-size: 9px; min-width: 18px; }

.aw-dim-row {
  display: flex;
  align-items: center;
  gap: 6px;
}

.aw-dim-label {
  font-size: 10px;
  color: var(--aw-text-2);
  width: 28px;
  flex-shrink: 0;
  font-weight: 500;
}

.aw-dim-bar {
  flex: 1;
  height: 6px;
  background: rgba(255,255,255,0.06);
  border-radius: 3px;
  overflow: hidden;
  position: relative;
}

.aw-dim-fill {
  height: 100%;
  background: linear-gradient(90deg, var(--aw-gold-2), var(--aw-gold));
  border-radius: 3px;
  transition: width 0.4s;
}

.aw-dim-value {
  font-size: 10px;
  color: var(--aw-gold);
  font-weight: 700;
  font-family: 'Courier New', monospace;
  min-width: 22px;
  text-align: right;
}

/* ========== 训练结果面板 ========== */
.aw-tr-result-panel {
  background: var(--aw-card);
  border: 1px solid var(--aw-gold);
  border-radius: 12px;
  padding: 16px;
  box-shadow: 0 0 20px var(--aw-gold-glow);
}

.aw-tr-result-title {
  font-size: 16px;
  font-weight: 800;
  color: var(--aw-gold);
  text-align: center;
  margin-bottom: 12px;
  letter-spacing: 2px;
}

.aw-tr-result-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 5px;
  margin-bottom: 14px;
}

.aw-tr-result-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 5px 8px;
  background: var(--aw-card-2);
  border-radius: 5px;
  font-size: 12px;
}

.aw-tr-r-name {
  font-weight: 600;
  color: var(--aw-text);
}

.aw-tr-r-gain {
  color: var(--aw-green);
  font-weight: 600;
  font-size: 11px;
}

.aw-tr-r-gain b {
  font-weight: 800;
  font-family: 'Courier New', monospace;
}

.aw-tr-r-rest {
  color: var(--aw-blue);
  font-weight: 600;
  font-size: 11px;
}

.aw-tr-result-panel .aw-btn {
  display: block;
  margin: 0 auto;
  min-width: 100px;
}

/* ========== 训练项目面板 ========== */
.aw-tr-train-panel {
  background: var(--aw-card);
  border: 1px solid var(--aw-border);
  border-radius: 12px;
  padding: 14px;
}

.aw-tr-train-title {
  font-size: 14px;
  font-weight: 700;
  color: var(--aw-text);
  margin-bottom: 10px;
  padding-left: 4px;
  border-left: 3px solid var(--aw-gold);
}

.aw-tr-train-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 6px;
}

.aw-train-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
  padding: 10px 4px;
  background: var(--aw-card-2);
  border: 1px solid var(--aw-border);
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s;
  color: var(--aw-text);
}

.aw-train-item:hover {
  border-color: var(--aw-gold);
  background: rgba(245, 197, 66, 0.08);
  transform: translateY(-2px);
}

.aw-train-item.rest {
  background: rgba(74, 222, 128, 0.08);
  border-color: rgba(74, 222, 128, 0.3);
}

.aw-train-item.rest:hover {
  background: rgba(74, 222, 128, 0.15);
  border-color: var(--aw-green);
}

.aw-train-icon {
  font-size: 20px;
}

.aw-train-name {
  font-size: 11px;
  font-weight: 600;
  color: var(--aw-text);
  text-align: center;
}

.aw-train-effect {
  font-size: 9px;
  color: var(--aw-gold);
  font-weight: 600;
}

.aw-train-item.rest .aw-train-effect {
  color: var(--aw-green);
}

/* 通用按钮 */
.aw-btn {
  padding: 10px 24px;
  border: none;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.2s;
}

.aw-btn-gold {
  background: linear-gradient(135deg, var(--aw-gold-2), var(--aw-gold));
  color: #1a1033;
  box-shadow: 0 2px 8px var(--aw-gold-glow);
}

.aw-btn-gold:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px var(--aw-gold-glow);
}

/* ========== 积分榜 Tab ========== */
.aw-st-panel {
  background: var(--aw-card);
  border: 1px solid var(--aw-border);
  border-radius: 12px;
  padding: 14px;
}

.aw-st-title {
  font-size: 15px;
  font-weight: 800;
  color: var(--aw-gold);
  margin-bottom: 10px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--aw-border);
  letter-spacing: 1px;
}

.aw-st-table-wrap {
  overflow-x: auto;
}

.aw-st-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
  color: var(--aw-text);
}

.aw-st-table th {
  padding: 8px 6px;
  text-align: center;
  font-weight: 700;
  color: var(--aw-gold);
  font-size: 11px;
  border-bottom: 2px solid var(--aw-gold);
  letter-spacing: 0.5px;
  background: rgba(245, 197, 66, 0.05);
}

.aw-st-table td {
  padding: 8px 6px;
  text-align: center;
  border-bottom: 1px solid var(--aw-border);
  color: var(--aw-text-2);
}

.aw-st-table .st-rank {
  width: 36px;
  text-align: center;
}

.aw-st-table .st-team {
  text-align: left;
  padding-left: 8px;
  color: var(--aw-text);
  font-weight: 500;
}

.aw-st-table .st-pts {
  font-weight: 800;
  color: var(--aw-gold);
  font-family: 'Courier New', monospace;
}

.st-rank-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--aw-card-2);
  color: var(--aw-text-2);
  font-weight: 700;
  font-size: 11px;
}

.st-rank-badge.gold {
  background: linear-gradient(135deg, var(--aw-gold-2), var(--aw-gold));
  color: #1a1033;
  box-shadow: 0 0 8px var(--aw-gold-glow);
}

.aw-st-table tr.top4 td {
  color: var(--aw-text);
}

.aw-st-table tr.top4 .st-team {
  color: var(--aw-gold);
  font-weight: 600;
}

.aw-st-table tr.player-row {
  background: rgba(96, 165, 250, 0.08);
}

.aw-st-table tr.player-row td {
  color: var(--aw-text);
}

.aw-st-table tr.player-row .st-team {
  color: var(--aw-blue);
  font-weight: 700;
}

.st-player-tag {
  display: inline-block;
  background: var(--aw-blue);
  color: #0d0a1a;
  font-size: 9px;
  font-weight: 800;
  padding: 1px 5px;
  border-radius: 3px;
  margin-right: 4px;
  vertical-align: middle;
}

.aw-st-legend {
  display: flex;
  gap: 16px;
  margin-top: 10px;
  padding-top: 8px;
  border-top: 1px solid var(--aw-border);
  font-size: 11px;
  color: var(--aw-text-3);
}

.aw-st-legend .dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  margin-right: 5px;
  vertical-align: middle;
}

.aw-st-legend .dot.gold {
  background: var(--aw-gold);
  box-shadow: 0 0 6px var(--aw-gold-glow);
}

.aw-st-legend .dot.blue {
  background: var(--aw-blue);
}

/* 对阵图 */
.aw-bracket {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.aw-bracket-match {
  display: flex;
  align-items: center;
  padding: 10px 14px;
  background: var(--aw-card-2);
  border-radius: 8px;
  border: 1px solid var(--aw-border);
}

.aw-bm-side {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 600;
  color: var(--aw-text);
  font-size: 13px;
}

.aw-bm-side.away {
  justify-content: flex-end;
  text-align: right;
}

.aw-bm-side.is-player .aw-bm-name {
  color: var(--aw-blue);
  font-weight: 700;
}

.aw-bm-name {
  color: var(--aw-text);
}

.aw-bm-score {
  font-size: 16px;
  font-weight: 900;
  color: var(--aw-gold);
  font-family: 'Courier New', monospace;
}

.aw-bm-vs {
  padding: 0 12px;
  font-size: 11px;
  color: var(--aw-text-3);
  font-weight: 700;
  letter-spacing: 1px;
}

/* 决赛 */
.aw-bracket-final {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px;
  background: linear-gradient(135deg, rgba(245,197,66,0.1), rgba(232,169,31,0.05));
  border: 1px solid var(--aw-gold);
  border-radius: 10px;
}

.aw-bf-side {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 700;
  color: var(--aw-text);
  font-size: 14px;
}

.aw-bf-side.away {
  justify-content: flex-end;
  text-align: right;
}

.aw-bf-side.winner .aw-bf-name {
  color: var(--aw-gold);
  font-size: 16px;
}

.aw-bf-side.is-player .aw-bf-name {
  color: var(--aw-blue);
}

.aw-bf-name {
  color: var(--aw-text);
}

.aw-bf-score {
  font-size: 22px;
  font-weight: 900;
  color: var(--aw-gold);
  font-family: 'Courier New', monospace;
}

.aw-bf-trophy {
  font-size: 24px;
  padding: 0 8px;
}

/* ========== 赛程 Tab ========== */
.aw-sc-round {
  background: var(--aw-card);
  border: 1px solid var(--aw-border);
  border-radius: 10px;
  overflow: hidden;
  transition: all 0.2s;
}

.aw-sc-round.current {
  border-color: var(--aw-gold);
  box-shadow: 0 0 16px var(--aw-gold-glow);
}

.aw-sc-round.pending {
  opacity: 0.6;
}

.aw-sc-round-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 14px;
  background: var(--aw-card-2);
  border-bottom: 1px solid var(--aw-border);
}

.aw-sc-round.current .aw-sc-round-head {
  background: rgba(245, 197, 66, 0.12);
}

.aw-sc-round-label {
  font-size: 13px;
  font-weight: 700;
  color: var(--aw-text);
}

.aw-sc-round.current .aw-sc-round-label {
  color: var(--aw-gold);
}

.aw-sc-round-status {
  font-size: 10px;
  padding: 3px 8px;
  border-radius: 4px;
  font-weight: 600;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}

.aw-sc-round.done .aw-sc-round-status {
  background: rgba(74, 222, 128, 0.15);
  color: var(--aw-green);
}

.aw-sc-round.current .aw-sc-round-status {
  background: rgba(245, 197, 66, 0.15);
  color: var(--aw-gold);
}

.aw-sc-round.pending .aw-sc-round-status {
  background: rgba(148, 163, 184, 0.1);
  color: var(--aw-text-3);
}

.aw-sc-matches {
  padding: 8px 10px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.aw-sc-match {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 10px;
  background: var(--aw-card-2);
  border-radius: 6px;
  font-size: 12px;
}

.aw-sc-match.has-player {
  background: rgba(96, 165, 250, 0.08);
  border: 1px solid rgba(96, 165, 250, 0.2);
}

.aw-sc-team {
  flex: 1;
  color: var(--aw-text);
  font-weight: 500;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.aw-sc-team.home {
  text-align: left;
}

.aw-sc-team.away {
  text-align: right;
}

.aw-sc-team.is-player {
  color: var(--aw-blue);
  font-weight: 700;
}

.aw-sc-score {
  min-width: 60px;
  text-align: center;
}

.aw-sc-score-num {
  font-size: 14px;
  font-weight: 800;
  color: var(--aw-gold);
  font-family: 'Courier New', monospace;
}

.aw-sc-dash {
  color: var(--aw-text-3);
  margin: 0 2px;
}

.aw-sc-vs {
  font-size: 10px;
  color: var(--aw-text-3);
  font-weight: 600;
  letter-spacing: 1px;
}

/* ========== 队伍详情 Tab ========== */
.aw-tm-role-section {
  margin-bottom: 4px;
}

.aw-tm-role-label {
  font-size: 11px;
  font-weight: 700;
  color: var(--aw-gold);
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-bottom: 8px;
  padding-left: 4px;
  border-left: 3px solid var(--aw-gold);
}

.aw-tm-person-card {
  background: var(--aw-card);
  border: 1px solid var(--aw-border);
  border-radius: 10px;
  padding: 12px;
}

.aw-tm-person-card.captain {
  border-color: var(--aw-gold);
  background: linear-gradient(135deg, var(--aw-card) 0%, rgba(245, 197, 66, 0.06) 100%);
}

.aw-tm-person-head {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}

.aw-tm-avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: linear-gradient(135deg, #3d2d6b, #251d45);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--aw-text);
  font-weight: 700;
  font-size: 13px;
  overflow: hidden;
  flex-shrink: 0;
  position: relative;
}

.aw-tm-avatar.sm {
  width: 34px;
  height: 34px;
  font-size: 11px;
}

.aw-tm-avatar.coach {
  border: 2px solid var(--aw-purple);
}

.aw-tm-avatar.captain {
  border: 2px solid var(--aw-gold);
}

.aw-tm-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.aw-tm-cap-badge {
  position: absolute;
  bottom: -2px;
  right: -2px;
  width: 16px;
  height: 16px;
  background: var(--aw-gold);
  color: #1a1033;
  border-radius: 50%;
  font-size: 9px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 900;
  border: 2px solid var(--aw-card);
}

.aw-tm-person-info {
  flex: 1;
  min-width: 0;
}

.aw-tm-person-name {
  font-size: 14px;
  font-weight: 700;
  color: var(--aw-text);
}

.aw-tm-person-role {
  font-size: 11px;
  color: var(--aw-gold);
  margin-top: 2px;
  font-weight: 600;
  letter-spacing: 1px;
}

.aw-tm-person-ovr {
  font-size: 20px;
  font-weight: 900;
  color: var(--aw-gold);
  font-family: 'Courier New', monospace;
}

.aw-tm-coach-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}

/* 队员列表 */
.aw-tm-players-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.aw-tm-player-row {
  background: var(--aw-card);
  border: 1px solid var(--aw-border);
  border-radius: 8px;
  padding: 10px 12px;
}

.aw-tm-pr-head {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 8px;
}

.aw-tm-pr-info {
  flex: 1;
  min-width: 0;
}

.aw-tm-pr-name {
  font-size: 13px;
  font-weight: 600;
  color: var(--aw-text);
}

.aw-tm-pr-pos {
  font-size: 10px;
  color: var(--aw-text-3);
  margin-top: 1px;
}

.aw-tm-pr-ovr {
  font-size: 16px;
  font-weight: 800;
  color: var(--aw-gold);
  font-family: 'Courier New', monospace;
}

/* 球队均值 */
.aw-tm-team-avg {
  background: var(--aw-card);
  border: 1px solid var(--aw-border);
  border-radius: 10px;
  padding: 14px;
}

/* ========== 响应式 · 手机端 ========== */
@media (max-width: 640px) {
  .aw-player-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .aw-tr-train-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .aw-tm-coach-grid {
    grid-template-columns: 1fr;
  }

  .aw-tr-next {
    min-width: 90px;
  }

  .aw-tr-next-val {
    font-size: 10px;
  }

  .aw-st-table {
    font-size: 11px;
  }

  .aw-st-table th,
  .aw-st-table td {
    padding: 6px 4px;
  }
}

@media (max-width: 480px) {
  .aw-player-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .aw-tr-train-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .aw-tr-day-num {
    font-size: 20px;
  }

  .aw-tr-body {
    padding: 10px 10px 16px;
    gap: 10px;
  }
}

/* ========================================================
   比赛结果界面（紫金深色主题）
   ======================================================== */
.agent-war-match-result.aw-dark-theme {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background: radial-gradient(ellipse at top, #1a1033 0%, #0d0a1a 60%, #050310 100%);
  padding: 20px;
}

.aw-mr-container {
  width: 100%;
  max-width: 520px;
  background: linear-gradient(180deg, var(--aw-card) 0%, var(--aw-bg-2) 100%);
  border: 1px solid var(--aw-border);
  border-radius: 16px;
  padding: 28px 24px 24px;
  box-shadow: 0 20px 60px rgba(0,0,0,0.5), 0 0 0 1px rgba(245, 197, 66, 0.1);
}

.aw-mr-badge {
  text-align: center;
  font-size: 12px;
  font-weight: 700;
  color: var(--aw-gold);
  letter-spacing: 4px;
  text-transform: uppercase;
  margin-bottom: 20px;
}

/* 比分板 */
.aw-mr-scoreboard {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
}

.aw-mr-team {
  flex: 1;
  text-align: center;
}

.aw-mr-team-name {
  font-size: 16px;
  font-weight: 700;
  color: var(--aw-text);
}

.aw-mr-team.is-player .aw-mr-team-name {
  color: var(--aw-blue);
}

.aw-mr-score-wrap {
  text-align: center;
  flex-shrink: 0;
}

.aw-mr-score {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 56px;
  font-weight: 900;
  font-family: 'Courier New', monospace;
  color: var(--aw-gold);
  line-height: 1;
  text-shadow: 0 0 20px var(--aw-gold-glow);
}

.aw-mr-goals {
  min-width: 40px;
  display: inline-block;
}

.aw-mr-sep {
  color: var(--aw-border);
  font-size: 40px;
  font-weight: 300;
}

.aw-mr-final-tag {
  font-size: 10px;
  color: var(--aw-gold);
  letter-spacing: 6px;
  margin-top: 6px;
  font-weight: 700;
}

/* 胜负提示 */
.aw-mr-result {
  text-align: center;
  font-size: 24px;
  font-weight: 900;
  margin: 16px 0 20px;
  padding: 10px;
  border-radius: 10px;
  letter-spacing: 4px;
}

.aw-mr-result.win {
  background: linear-gradient(135deg, rgba(74,222,128,0.15), rgba(34,197,94,0.05));
  color: var(--aw-green);
  border: 1px solid rgba(74,222,128,0.3);
}

.aw-mr-result.lose {
  background: linear-gradient(135deg, rgba(248,113,113,0.1), rgba(239,68,68,0.03));
  color: var(--aw-red);
  border: 1px solid rgba(248,113,113,0.2);
}

.aw-mr-result.draw {
  background: linear-gradient(135deg, rgba(251,191,36,0.1), rgba(245,158,11,0.03));
  color: var(--aw-yellow);
  border: 1px solid rgba(251,191,36,0.2);
}

.aw-mr-eliminated {
  text-align: center;
  font-size: 12px;
  color: var(--aw-red);
  background: rgba(248,113,113,0.08);
  padding: 8px 12px;
  border-radius: 6px;
  margin-bottom: 16px;
  border: 1px solid rgba(248,113,113,0.2);
}

/* 进球者 */
.aw-mr-scorers {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-bottom: 18px;
}

.aw-mr-scorers-col {
  background: rgba(255,255,255,0.03);
  border: 1px solid var(--aw-border);
  border-radius: 8px;
  padding: 10px 12px;
}

.aw-mr-scorers-title {
  font-size: 10px;
  font-weight: 700;
  color: var(--aw-gold);
  text-transform: uppercase;
  letter-spacing: 1.5px;
  margin-bottom: 8px;
  padding-bottom: 6px;
  border-bottom: 1px solid var(--aw-border);
}

.aw-mr-scorer {
  font-size: 12px;
  color: var(--aw-text);
  padding: 4px 0;
  display: flex;
  align-items: center;
  gap: 6px;
}

.aw-mr-scorer-dot {
  width: 5px;
  height: 5px;
  background: var(--aw-gold);
  border-radius: 50%;
  flex-shrink: 0;
}

.aw-mr-goal-x {
  color: var(--aw-gold);
  font-weight: 700;
  font-family: 'Courier New', monospace;
  margin-left: auto;
  font-size: 11px;
}

.aw-mr-empty {
  font-size: 11px;
  color: var(--aw-text-3);
  text-align: center;
  padding: 8px 0;
  font-style: italic;
}

/* 数据统计 */
.aw-mr-stats {
  background: rgba(255,255,255,0.03);
  border: 1px solid var(--aw-border);
  border-radius: 8px;
  padding: 10px 16px;
  margin-bottom: 14px;
}

.aw-mr-stat-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 4px 0;
}

.aw-mr-stat-val {
  font-size: 13px;
  font-weight: 700;
  color: var(--aw-text);
  font-family: 'Courier New', monospace;
  min-width: 40px;
}

.aw-mr-stat-val:first-child {
  text-align: left;
}
.aw-mr-stat-val:last-child {
  text-align: right;
}

.aw-mr-stat-label {
  font-size: 10px;
  color: var(--aw-text-3);
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: 500;
}

/* MVP */
.aw-mr-mvp {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  background: linear-gradient(135deg, rgba(245,197,66,0.15), rgba(245,197,66,0.05));
  border: 1px solid rgba(245,197,66,0.4);
  border-radius: 10px;
  margin-bottom: 16px;
}

.aw-mr-mvp-trophy {
  font-size: 28px;
}

.aw-mr-mvp-text {
  flex: 1;
}

.aw-mr-mvp-label {
  font-size: 10px;
  font-weight: 700;
  color: var(--aw-gold);
  text-transform: uppercase;
  letter-spacing: 2px;
}

.aw-mr-mvp-name {
  font-size: 16px;
  font-weight: 800;
  color: var(--aw-text);
  margin-top: 2px;
}

/* 迷你积分榜 */
.aw-mr-standings-mini {
  background: rgba(255,255,255,0.03);
  border: 1px solid var(--aw-border);
  border-radius: 8px;
  padding: 10px 12px;
  margin-bottom: 18px;
}

.aw-mr-standings-title {
  font-size: 10px;
  font-weight: 700;
  color: var(--aw-gold);
  text-transform: uppercase;
  letter-spacing: 1.5px;
  margin-bottom: 8px;
  padding-bottom: 6px;
  border-bottom: 1px solid var(--aw-border);
}

.aw-mr-st-row {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 3px 0;
  font-size: 12px;
  color: var(--aw-text-2);
}

.aw-mr-st-row.player {
  color: var(--aw-blue);
  font-weight: 700;
}

.aw-mr-st-row.top4 {
  color: var(--aw-text);
}

.aw-mr-st-rank {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: var(--aw-card-2);
  color: var(--aw-text-3);
  font-size: 10px;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.aw-mr-st-rank.gold {
  background: linear-gradient(135deg, var(--aw-gold-2), var(--aw-gold));
  color: #1a1033;
}

.aw-mr-st-name {
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.aw-mr-st-pts {
  font-weight: 800;
  color: var(--aw-gold);
  font-family: 'Courier New', monospace;
  font-size: 11px;
}

/* 继续按钮 */
.aw-mr-continue {
  width: 100%;
  padding: 14px;
  font-size: 15px;
  font-weight: 800;
  border: none;
  border-radius: 10px;
  cursor: pointer;
  background: linear-gradient(135deg, var(--aw-gold-2), var(--aw-gold));
  color: #1a1033;
  letter-spacing: 4px;
  transition: all 0.2s;
  box-shadow: 0 4px 16px var(--aw-gold-glow);
}

.aw-mr-continue:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px var(--aw-gold-glow);
}

/* ========================================================
   联赛结算界面（紫金深色主题）
   ======================================================== */
.agent-war-league-end.aw-dark-theme {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background: radial-gradient(ellipse at top, #2d1b5e 0%, #1a1033 40%, #0d0a1a 80%);
  padding: 20px;
}

.aw-le-container {
  width: 100%;
  max-width: 520px;
  background: linear-gradient(180deg, var(--aw-card) 0%, var(--aw-bg-2) 100%);
  border: 1px solid var(--aw-border);
  border-radius: 20px;
  padding: 32px 24px 24px;
  box-shadow: 0 30px 80px rgba(0,0,0,0.5), 0 0 0 1px rgba(245, 197, 66, 0.15);
  text-align: center;
  position: relative;
  overflow: hidden;
}

.aw-le-container::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--aw-gold), transparent);
}

.aw-le-crown {
  font-size: 40px;
  margin-bottom: 4px;
  animation: crownFloat 2s ease-in-out infinite;
}

@keyframes crownFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-4px); }
}

.aw-le-title {
  font-size: 28px;
  font-weight: 900;
  color: var(--aw-gold);
  margin-bottom: 4px;
  letter-spacing: 8px;
  text-shadow: 0 0 20px var(--aw-gold-glow);
}

.aw-le-subtitle {
  font-size: 12px;
  color: var(--aw-text-3);
  margin-bottom: 24px;
  letter-spacing: 2px;
}

/* 冠军 */
.aw-le-champion {
  background: linear-gradient(135deg, rgba(245,197,66,0.12), rgba(245,197,66,0.03));
  border: 1px solid rgba(245,197,66,0.4);
  border-radius: 14px;
  padding: 20px;
  margin-bottom: 20px;
  position: relative;
}

.aw-le-champion.player-champion {
  border-color: var(--aw-green);
  background: linear-gradient(135deg, rgba(74,222,128,0.12), rgba(74,222,128,0.03));
}

.aw-le-champion-label {
  font-size: 10px;
  font-weight: 700;
  color: var(--aw-gold);
  letter-spacing: 4px;
  text-transform: uppercase;
  margin-bottom: 12px;
}

.aw-le-champion.player-champion .aw-le-champion-label {
  color: var(--aw-green);
}

.aw-le-champion-avatar {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  margin: 0 auto 10px;
  background: linear-gradient(135deg, var(--aw-gold-2), var(--aw-gold));
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  font-weight: 800;
  color: #1a1033;
  overflow: hidden;
  border: 3px solid var(--aw-gold);
  box-shadow: 0 0 20px var(--aw-gold-glow);
}

.aw-le-champion.player-champion .aw-le-champion-avatar {
  border-color: var(--aw-green);
  box-shadow: 0 0 20px rgba(74,222,128,0.4);
}

.aw-le-champion-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.aw-le-champion-name {
  font-size: 22px;
  font-weight: 900;
  color: var(--aw-text);
  margin-bottom: 6px;
}

.aw-le-champion-meta {
  font-size: 12px;
  color: var(--aw-text-2);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}

.dot-sep {
  color: var(--aw-text-3);
}

/* 玩家成绩 */
.aw-le-player-result {
  font-size: 14px;
  color: var(--aw-text-2);
  margin-bottom: 20px;
}

.aw-le-player-result b {
  color: var(--aw-gold);
  font-size: 20px;
  font-family: 'Courier New', monospace;
}

/* 决赛比分 */
.aw-le-final-score {
  background: rgba(255,255,255,0.03);
  border: 1px solid var(--aw-border);
  border-radius: 10px;
  padding: 14px;
  margin-bottom: 20px;
}

.aw-le-final-label {
  font-size: 10px;
  color: var(--aw-text-3);
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-bottom: 10px;
}

.aw-le-final-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  font-size: 14px;
  font-weight: 600;
  color: var(--aw-text);
}

.aw-le-final-team {
  flex: 1;
  text-align: left;
}

.aw-le-final-team.away {
  text-align: right;
}

.aw-le-final-team.winner {
  color: var(--aw-gold);
  font-weight: 800;
  font-size: 15px;
}

.aw-le-final-score-num {
  font-size: 22px;
  font-weight: 900;
  color: var(--aw-gold);
  font-family: 'Courier New', monospace;
  padding: 0 8px;
}

/* 积分榜 */
.aw-le-standings {
  text-align: left;
  margin-bottom: 24px;
}

.aw-le-standings-title {
  font-size: 12px;
  font-weight: 700;
  color: var(--aw-gold);
  margin-bottom: 8px;
  letter-spacing: 2px;
  text-transform: uppercase;
}

/* 按钮 */
.aw-le-actions {
  margin-bottom: 12px;
}

.aw-le-actions .aw-btn {
  padding: 12px 36px;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 2px;
}

.aw-le-footer {
  font-size: 11px;
  color: var(--aw-text-3);
  margin-top: 12px;
  letter-spacing: 0.5px;
}

/* ========== 时段指示 ========== */
.aw-tr-session-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  margin-right: 5px;
  vertical-align: middle;
}

.aw-tr-session-dot.afternoon {
  background: var(--aw-gold);
  box-shadow: 0 0 6px var(--aw-gold-glow);
  animation: sessionPulse 2s ease-in-out infinite;
}

.aw-tr-session-dot.evening {
  background: var(--aw-purple);
  box-shadow: 0 0 6px rgba(139, 92, 246, 0.5);
  animation: sessionPulse 2s ease-in-out infinite;
}

@keyframes sessionPulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.7; transform: scale(1.2); }
}

/* 晚上时段整体色调微调 */
.agent-war-training.aw-dark-theme.session-evening {
  background: linear-gradient(160deg, #0d0a1a 0%, #1a1033 50%, #2d1b5e 100%);
}

/* ========== 队员卡片展开 - 友情度 + 羁绊 ========== */
.aw-pc-expand-section {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px dashed rgba(250, 204, 21, 0.2);
}
.aw-pc-expand-section:first-child {
  margin-top: 0;
  padding-top: 0;
  border-top: none;
}
.aw-pc-expand-title {
  font-size: 12px;
  color: var(--aw-gold);
  font-weight: 600;
  margin-bottom: 6px;
  letter-spacing: 0.5px;
}

/* 友情度列表 */
 .aw-pc-friend-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.aw-pc-friend-item {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 11px;
  padding: 6px 8px;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.05);
}
.aw-pc-friend-rank {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: rgba(250, 204, 21, 0.15);
  color: var(--aw-gold);
  font-size: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-top: 2px;
}
.aw-pc-friend-main {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}
.aw-pc-friend-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
}
.aw-pc-friend-name {
  color: var(--aw-text-primary);
  font-weight: 500;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px;
}
.aw-pc-friend-tag {
  padding: 1px 6px;
  border-radius: 10px;
  font-size: 10px;
  font-weight: 600;
  white-space: nowrap;
  flex-shrink: 0;
}
.aw-pc-friend-tag.lv1 {
  background: rgba(59, 130, 246, 0.15);
  color: #60a5fa;
  border: 1px solid rgba(59, 130, 246, 0.3);
}
.aw-pc-friend-tag.lv2 {
  background: rgba(168, 85, 247, 0.15);
  color: #c084fc;
  border: 1px solid rgba(168, 85, 247, 0.3);
}
.aw-pc-friend-tag.lv3 {
  background: rgba(245, 158, 11, 0.15);
  color: var(--aw-gold);
  border: 1px solid rgba(245, 158, 11, 0.4);
  box-shadow: 0 0 6px rgba(245, 158, 11, 0.2);
}
.aw-pc-friend-bar {
  width: 100%;
  height: 5px;
  background: rgba(255, 255, 255, 0.08);
  border-radius: 3px;
  overflow: hidden;
}
.aw-pc-friend-fill {
  height: 100%;
  background: linear-gradient(90deg, #60a5fa, #a78bfa);
  border-radius: 3px;
  transition: width 0.3s ease;
}
.aw-pc-friend-item.lv0 .aw-pc-friend-fill {
  background: linear-gradient(90deg, #6b7280, #9ca3af);
}
.aw-pc-friend-item.lv1 .aw-pc-friend-fill {
  background: linear-gradient(90deg, #3b82f6, #60a5fa);
}
.aw-pc-friend-item.lv2 .aw-pc-friend-fill {
  background: linear-gradient(90deg, #8b5cf6, #a855f7);
}
.aw-pc-friend-item.lv3 .aw-pc-friend-fill {
  background: linear-gradient(90deg, #f59e0b, #fbbf24);
  box-shadow: 0 0 6px rgba(245, 158, 11, 0.3);
}
.aw-pc-friend-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
}
.aw-pc-friend-val {
  color: var(--aw-text-tertiary);
  font-size: 10px;
  flex-shrink: 0;
}
.aw-pc-friend-item.lv3 .aw-pc-friend-val {
  color: var(--aw-gold);
  font-weight: 600;
}
.aw-pc-friend-effect {
  color: var(--aw-text-tertiary);
  font-size: 10px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-align: right;
}

/* 羁绊列表 */
.aw-pc-bond-list {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
.aw-pc-bond-item {
  display: flex;
  align-items: center;
  gap: 3px;
  padding: 2px 6px;
  background: rgba(167, 139, 250, 0.15);
  border: 1px solid rgba(167, 139, 250, 0.3);
  border-radius: 4px;
  font-size: 10px;
}
.aw-pc-bond-dim {
  color: #c4b5fd;
}
.aw-pc-bond-val {
  color: var(--aw-gold);
  font-weight: 600;
}
.aw-pc-bond-empty {
  font-size: 11px;
  color: var(--aw-text-muted);
  font-style: italic;
}

/* ========== 训练结果 - 随机事件 ========== */
.aw-tr-event {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border: 1px solid;
  border-radius: 8px;
  margin-bottom: 12px;
}
.aw-tr-event-icon {
  font-size: 28px;
  flex-shrink: 0;
}
.aw-tr-event-content {
  flex: 1;
  min-width: 0;
}
.aw-tr-event-title {
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 2px;
}
.aw-tr-event-desc {
  font-size: 12px;
  color: var(--aw-text-secondary);
  line-height: 1.4;
}

/* ========== 比赛结果页扩展 ========== */
/* 友情连携统计 */
.aw-mr-friendship {
  display: flex;
  gap: 12px;
  justify-content: center;
  margin: 12px 0;
}
.aw-mr-fs-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 18px;
  background: rgba(96, 165, 250, 0.1);
  border: 1px solid rgba(96, 165, 250, 0.3);
  border-radius: 10px;
}
.aw-mr-fs-item.golden {
  background: linear-gradient(135deg, rgba(245, 158, 11, 0.15), rgba(251, 191, 36, 0.08));
  border-color: rgba(245, 158, 11, 0.45);
  box-shadow: 0 0 16px rgba(245, 158, 11, 0.15);
}
.aw-mr-fs-item.tacit {
  background: rgba(139, 92, 246, 0.12);
  border-color: rgba(139, 92, 246, 0.35);
}
.aw-mr-fs-icon {
  font-size: 24px;
}
.aw-mr-fs-num {
  font-size: 22px;
  font-weight: 700;
  color: #60a5fa;
  line-height: 1;
}
.aw-mr-fs-item.golden .aw-mr-fs-num {
  color: #c084fc;
}
.aw-mr-fs-item.soul .aw-mr-fs-num {
  color: var(--aw-gold);
  text-shadow: 0 0 8px rgba(245, 158, 11, 0.4);
}
.aw-mr-fs-label {
  font-size: 12px;
  color: var(--aw-text-secondary);
  margin-top: 3px;
}

/* 羁绊列表 */
.aw-mr-bonds {
  margin: 12px 0;
  padding: 12px;
  background: rgba(167, 139, 250, 0.06);
  border: 1px solid rgba(167, 139, 250, 0.2);
  border-radius: 10px;
}
.aw-mr-bonds-title {
  font-size: 14px;
  font-weight: 700;
  color: #c4b5fd;
  margin-bottom: 10px;
  text-align: center;
}
.aw-mr-bonds-cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.aw-mr-bonds-team {
  font-size: 12px;
  color: var(--aw-text-secondary);
  margin-bottom: 6px;
  font-weight: 600;
}
.aw-mr-bond-item {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  padding: 6px 8px;
  background: rgba(167, 139, 250, 0.08);
  border-radius: 6px;
  margin-bottom: 4px;
}
.aw-mr-bond-icon {
  font-size: 14px;
  flex-shrink: 0;
  margin-top: 1px;
}
.aw-mr-bond-name {
  font-size: 12px;
  font-weight: 600;
  color: #ddd6fe;
  line-height: 1.3;
}
.aw-mr-bond-desc {
  font-size: 10px;
  color: var(--aw-text-muted);
  line-height: 1.3;
  margin-top: 2px;
}
.aw-mr-bonds-none {
  font-size: 11px;
  color: var(--aw-text-muted);
  font-style: italic;
}

/* 文字直播 */
.aw-mr-commentary {
  margin: 12px 0;
  background: rgba(0, 0, 0, 0.2);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 10px;
  overflow: hidden;
}
.aw-mr-commentary-toggle {
  width: 100%;
  padding: 10px 14px;
  background: none;
  border: none;
  color: var(--aw-gold);
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-family: inherit;
}
.aw-mr-ct-arrow {
  font-size: 10px;
  color: var(--aw-text-muted);
}
.aw-mr-commentary-list {
  max-height: 300px;
  overflow-y: auto;
  padding: 0 14px 10px;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}
.aw-mr-ct-item {
  display: flex;
  gap: 10px;
  padding: 6px 0;
  border-bottom: 1px dashed rgba(255, 255, 255, 0.05);
  font-size: 12px;
  line-height: 1.5;
}
.aw-mr-ct-item:last-child {
  border-bottom: none;
}
.aw-mr-ct-time {
  color: var(--aw-gold);
  font-weight: 700;
  flex-shrink: 0;
  width: 38px;
  font-family: var(--mono), monospace;
}
.aw-mr-ct-text {
  color: var(--aw-text-secondary);
  flex: 1;
}
.aw-mr-ct-item.goal .aw-mr-ct-text {
  color: #fef3c7;
  font-weight: 600;
}
.aw-mr-ct-item.goal.home {
  background: linear-gradient(90deg, rgba(250, 204, 21, 0.08), transparent);
  border-radius: 4px;
  margin: 0 -6px;
  padding: 6px 6px;
}
.aw-mr-ct-item.goal.away {
  background: linear-gradient(90deg, rgba(96, 165, 250, 0.08), transparent);
  border-radius: 4px;
  margin: 0 -6px;
  padding: 6px 6px;
}

/* ========== 比赛文字实录面板 ========== */
.aw-mr-commentary-panel {
  margin: 14px 0;
  background: rgba(0, 0, 0, 0.25);
  border: 1px solid rgba(250, 204, 21, 0.15);
  border-radius: 12px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  height: 45vh;
  max-height: 420px;
  min-height: 280px;
}
.aw-mr-cp-header {
  padding: 10px 14px;
  background: linear-gradient(90deg, rgba(250, 204, 21, 0.12), rgba(147, 51, 234, 0.08));
  border-bottom: 1px solid rgba(250, 204, 21, 0.15);
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-shrink: 0;
}
.aw-mr-cp-title {
  font-size: 13px;
  font-weight: 700;
  color: var(--aw-gold);
}
.aw-mr-cp-count {
  font-size: 11px;
  color: var(--aw-text-muted);
  font-family: var(--mono), monospace;
}
.aw-mr-cp-body {
  flex: 1;
  overflow-y: auto;
  padding: 8px 14px;
  -webkit-overflow-scrolling: touch;
}
.aw-mr-cp-item {
  display: flex;
  gap: 10px;
  padding: 7px 8px;
  border-radius: 6px;
  font-size: 12px;
  line-height: 1.5;
  margin-bottom: 2px;
}
.aw-mr-cp-time {
  color: var(--aw-gold);
  font-weight: 700;
  flex-shrink: 0;
  width: 40px;
  font-family: var(--mono), monospace;
  font-size: 11px;
}
.aw-mr-cp-text {
  color: var(--aw-text-secondary);
  flex: 1;
}

/* 进球事件 - 金色高亮 */
.aw-mr-cp-item.shot .aw-mr-cp-text {
  color: #fef3c7;
  font-weight: 600;
}
.aw-mr-cp-item.shot.home {
  background: linear-gradient(90deg, rgba(250, 204, 21, 0.12), transparent);
}
.aw-mr-cp-item.shot.away {
  background: linear-gradient(90deg, rgba(96, 165, 250, 0.1), transparent);
}

/* 技能事件 - 紫色高亮 */
.aw-mr-cp-item.skill .aw-mr-cp-text,
.aw-mr-cp-item.dribble.skill .aw-mr-cp-text,
.aw-mr-cp-item.pass.skill .aw-mr-cp-text {
  color: #e9d5ff;
  font-weight: 600;
}
.aw-mr-cp-item.skill {
  background: linear-gradient(90deg, rgba(147, 51, 234, 0.12), transparent);
}

/* 犯规事件 - 红色高亮 */
.aw-mr-cp-item.foul .aw-mr-cp-text {
  color: #fecaca;
  font-weight: 500;
}
.aw-mr-cp-item.foul {
  background: linear-gradient(90deg, rgba(239, 68, 68, 0.1), transparent);
}

/* 中场休息 / 全场结束分隔 */
.aw-mr-cp-item.halftime,
.aw-mr-cp-item.fulltime {
  justify-content: center;
  margin: 6px 0;
}
.aw-mr-cp-item.halftime .aw-mr-cp-text,
.aw-mr-cp-item.fulltime .aw-mr-cp-text {
  color: var(--aw-gold);
  text-align: center;
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 2px;
}
.aw-mr-cp-item.halftime .aw-mr-cp-time,
.aw-mr-cp-item.fulltime .aw-mr-cp-time {
  display: none;
}

/* ========== 队伍详情 Tab 新版 ========== */
.aw-tm-player-row {
  cursor: pointer;
  transition: background 0.2s ease;
}
.aw-tm-player-row:hover {
  background: rgba(250, 204, 21, 0.04);
}
.aw-tm-player-row.is-captain .aw-tm-pr-name {
  color: var(--aw-gold);
}
.aw-tm-captain-tag {
  display: inline-block;
  margin-left: 6px;
  padding: 1px 6px;
  font-size: 10px;
  background: linear-gradient(135deg, var(--aw-gold), #f59e0b);
  color: #1a1033;
  border-radius: 4px;
  font-weight: 700;
  letter-spacing: 0.5px;
  vertical-align: middle;
}

/* 展开面板 */
.aw-tm-expand {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px dashed rgba(250, 204, 21, 0.2);
}
.aw-tm-expand-section {
  margin-bottom: 12px;
}
.aw-tm-expand-section:last-child {
  margin-bottom: 0;
}
.aw-tm-expand-title {
  font-size: 12px;
  color: var(--aw-gold);
  font-weight: 600;
  margin-bottom: 8px;
  letter-spacing: 0.5px;
}
.aw-tm-expand-empty {
  font-size: 11px;
  color: var(--aw-text-muted);
  font-style: italic;
  padding: 4px 0;
}

/* 八维属性加成来源明细 */
.aw-tm-dim-breakdown {
  margin-top: 10px;
  padding: 10px 12px;
  background: rgba(245, 197, 66, 0.06);
  border-radius: 8px;
  border: 1px solid rgba(245, 197, 66, 0.15);
}
.aw-tm-dim-bd-title {
  font-size: 11px;
  color: #f5c542;
  font-weight: 600;
  margin-bottom: 6px;
  letter-spacing: 0.5px;
}
.aw-tm-dim-bd-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  padding: 2px 0;
  line-height: 1.6;
}
.aw-tm-dim-bd-label {
  color: var(--aw-text);
  font-weight: 600;
  min-width: 32px;
}
.aw-tm-dim-bd-base {
  color: #a09888;
}
.aw-tm-dim-bd-bond {
  color: #a78bfa;
  font-weight: 500;
}
.aw-tm-dim-bd-skill {
  color: #60a5fa;
  font-weight: 500;
}
.aw-tm-dim-bd-captain {
  color: #fbbf24;
  font-weight: 500;
}
.aw-tm-dim-bd-total {
  margin-left: auto;
  color: #ffffff;
  font-weight: 700;
  font-family: 'Courier New', monospace;
}

/* 羁绊明细 */
.aw-tm-bond-detail-list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.aw-tm-bond-detail-item {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 3px 8px;
  background: rgba(167, 139, 250, 0.12);
  border: 1px solid rgba(167, 139, 250, 0.3);
  border-radius: 5px;
  font-size: 11px;
}
.aw-tm-bond-detail-dim {
  color: #c4b5fd;
}
.aw-tm-bond-detail-val {
  color: var(--aw-gold);
  font-weight: 700;
}

/* 友情度全列表 */
.aw-tm-friend-list {
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.aw-tm-friend-row {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  padding: 3px 0;
}
.aw-tm-friend-info {
  width: 100px;
  display: flex;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
}
.aw-tm-friend-name {
  color: var(--aw-text-secondary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 56px;
}
.aw-tm-friend-cap-tag {
  font-size: 9px;
  padding: 1px 4px;
  background: rgba(250, 204, 21, 0.2);
  color: var(--aw-gold);
  border-radius: 3px;
  font-weight: 700;
}
.aw-tm-friend-tag {
  font-size: 9px;
  padding: 1px 4px;
  border-radius: 3px;
  font-weight: 700;
  letter-spacing: 0.3px;
}
 .aw-tm-friend-tag.lv1 {
  background: rgba(59, 130, 246, 0.2);
  color: #60a5fa;
}
.aw-tm-friend-tag.lv2 {
  background: rgba(168, 85, 247, 0.25);
  color: #c084fc;
}
.aw-tm-friend-tag.lv3 {
  background: linear-gradient(135deg, var(--aw-gold), #f59e0b);
  color: #1a1033;
  box-shadow: 0 0 6px rgba(245, 158, 11, 0.3);
}
.aw-tm-friend-bar {
  flex: 1;
  height: 5px;
  background: rgba(255, 255, 255, 0.08);
  border-radius: 3px;
  overflow: hidden;
}
.aw-tm-friend-fill {
  height: 100%;
  background: linear-gradient(90deg, #60a5fa, #a78bfa);
  border-radius: 3px;
  transition: width 0.3s ease;
}
 .aw-tm-friend-row.lv0 .aw-tm-friend-fill {
  background: linear-gradient(90deg, #6b7280, #9ca3af);
}
.aw-tm-friend-row.lv1 .aw-tm-friend-fill {
  background: linear-gradient(90deg, #3b82f6, #60a5fa);
}
.aw-tm-friend-row.lv2 .aw-tm-friend-fill {
  background: linear-gradient(90deg, #8b5cf6, #a855f7);
}
.aw-tm-friend-row.lv3 .aw-tm-friend-fill {
  background: linear-gradient(90deg, #f59e0b, #fbbf24);
  box-shadow: 0 0 6px rgba(245, 158, 11, 0.3);
}
.aw-tm-friend-row.lv3 .aw-tm-friend-val {
  color: var(--aw-gold);
  font-weight: 700;
}
.aw-tm-friend-val {
  width: 24px;
  text-align: right;
  color: var(--aw-text-muted);
  font-size: 10px;
  flex-shrink: 0;
  font-family: var(--mono), monospace;
}
.aw-tm-friend-row.golden .aw-tm-friend-val {
  color: var(--aw-gold);
  font-weight: 700;
}

/* ========== 赛前准备日界面 ========== */
.agent-war-prep {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  background: linear-gradient(135deg, #1a1033 0%, #2d1b4e 50%, #1a1033 100%);
  color: #f3f0ff;
  font-family: 'PingFang SC', 'Microsoft YaHei', system-ui, sans-serif;
}

.aw-prep-vs {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 14px;
}
.aw-prep-vs-team {
  color: var(--aw-gold);
  font-weight: 600;
}
.aw-prep-vs-team.opp {
  color: #f472b6;
}
.aw-prep-vs-text {
  font-weight: 700;
  color: #fff;
  font-size: 16px;
  letter-spacing: 2px;
}

.aw-prep-body {
  flex: 1;
  display: flex;
  gap: 16px;
  padding: 16px;
  overflow: hidden;
}

/* 左侧技能区 */
.aw-prep-skills {
  width: 260px;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
  overflow-y: auto;
}
.aw-prep-section-title {
  font-size: 15px;
  font-weight: 700;
  color: var(--aw-gold);
  display: flex;
  align-items: center;
  gap: 8px;
  padding-bottom: 6px;
  border-bottom: 1px solid rgba(250, 204, 21, 0.2);
}
.aw-prep-section-icon {
  font-size: 18px;
}
.aw-prep-skills-note {
  font-size: 11px;
  color: var(--aw-text-muted);
  line-height: 1.5;
  padding: 6px 8px;
  background: rgba(250, 204, 21, 0.05);
  border-radius: 6px;
  border-left: 2px solid var(--aw-gold);
}

.aw-skill-card {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 10px;
  padding: 12px;
  transition: all 0.2s ease;
}
.aw-skill-card:hover {
  border-color: rgba(250, 204, 21, 0.3);
  background: rgba(250, 204, 21, 0.04);
}
.aw-skill-card.used {
  opacity: 0.6;
  border-color: rgba(52, 211, 153, 0.3);
}
.aw-skill-card.agent {
  border-left: 3px solid var(--aw-gold);
}
.aw-skill-card.coach-train {
  border-left: 3px solid #60a5fa;
}
.aw-skill-card.coach-cmd {
  border-left: 3px solid #f472b6;
}
.aw-skill-card-head {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 8px;
}
.aw-skill-info {
  flex: 1;
  min-width: 0;
}
.aw-skill-avatar {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  overflow: hidden;
  background: linear-gradient(135deg, var(--aw-gold), #f59e0b);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  color: #1a1033;
  font-size: 14px;
  flex-shrink: 0;
}
.aw-skill-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.aw-skill-avatar.coach {
  background: linear-gradient(135deg, #60a5fa, #a78bfa);
}
.aw-skill-info {
  flex: 1;
  min-width: 0;
}
.aw-skill-name {
  font-size: 13px;
  font-weight: 600;
  color: #fff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.aw-skill-owner {
  font-size: 11px;
  color: var(--aw-text-muted);
  margin-top: 2px;
}
.aw-skill-desc {
  font-size: 11px;
  color: var(--aw-text-secondary);
  line-height: 1.6;
  margin-bottom: 10px;
  min-height: 34px;
}
.aw-skill-btn {
  width: 100%;
  padding: 7px 0;
  background: linear-gradient(135deg, var(--aw-gold), #f59e0b);
  color: #1a1033;
  font-weight: 700;
  border: none;
  border-radius: 6px;
  font-size: 12px;
  cursor: pointer;
  transition: all 0.2s ease;
  letter-spacing: 1px;
}
.aw-skill-btn:hover:not(:disabled) {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(250, 204, 21, 0.3);
}
.aw-skill-btn:disabled {
  background: rgba(255, 255, 255, 0.08);
  color: var(--aw-text-muted);
  cursor: not-allowed;
}
.aw-skill-btn.used {
  background: rgba(52, 211, 153, 0.2);
  color: #34d399;
}

.aw-skill-passive-tag {
  display: inline-block;
  margin-top: 8px;
  padding: 3px 10px;
  font-size: 11px;
  font-weight: 600;
  color: #d4af37;
  background: rgba(212, 175, 55, 0.12);
  border: 1px solid rgba(212, 175, 55, 0.3);
  border-radius: 12px;
  align-self: flex-start;
}

/* 右侧阵容区 */
.aw-prep-lineup {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow-y: auto;
}
.aw-prep-lineup-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 6px;
  border-bottom: 1px solid rgba(250, 204, 21, 0.2);
  margin-bottom: 4px;
}
.aw-prep-lineup-note {
  font-size: 11px;
  color: var(--aw-text-muted);
  padding: 6px 0 10px;
}
.aw-prep-auto-btn {
  padding: 5px 12px;
  background: rgba(250, 204, 21, 0.1);
  color: var(--aw-gold);
  border: 1px solid rgba(250, 204, 21, 0.3);
  border-radius: 6px;
  font-size: 11px;
  cursor: pointer;
  font-weight: 600;
  transition: all 0.2s ease;
}
.aw-prep-auto-btn:hover {
  background: rgba(250, 204, 21, 0.2);
}

/* 足球场 */
.aw-pitch {
  position: relative;
  flex: 1;
  min-height: 380px;
  background: linear-gradient(180deg, #1e3a1e 0%, #234d23 50%, #1e3a1e 100%);
  border-radius: 16px;
  border: 2px solid rgba(255, 255, 255, 0.25);
  padding: 20px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  margin-bottom: 16px;
  overflow: hidden;
}
.aw-pitch::before {
  content: '';
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(
    180deg,
    transparent 0px,
    transparent 40px,
    rgba(255, 255, 255, 0.03) 40px,
    rgba(255, 255, 255, 0.03) 80px
  );
  pointer-events: none;
}
.aw-pitch-line {
  position: absolute;
  left: 0;
  right: 0;
  height: 2px;
  background: rgba(255, 255, 255, 0.25);
}
.aw-pitch-halfway {
  top: 50%;
  transform: translateY(-50%);
}
.aw-pitch-circle {
  position: absolute;
  width: 80px;
  height: 80px;
  border: 2px solid rgba(255, 255, 255, 0.25);
  border-radius: 50%;
  left: 50%;
  transform: translateX(-50%);
}
.aw-pitch-center {
  top: 50%;
  transform: translate(-50%, -50%);
}
.aw-pitch-row {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: center;
  gap: 20px;
}
.aw-pitch-row.forward-row {
  margin-bottom: 4px;
}
.aw-pitch-row.mid-row {
  margin-top: 10px;
  margin-bottom: 10px;
}
.aw-pitch-row.def-row {
  margin-top: 10px;
  margin-bottom: 4px;
}
.aw-pitch-row.gk-row {
  margin-bottom: 4px;
}

/* 位置卡片 */
.aw-pos-card {
  width: 130px;
  background: rgba(26, 16, 51, 0.85);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 10px;
  padding: 10px;
  cursor: pointer;
  transition: all 0.2s ease;
  backdrop-filter: blur(4px);
  text-align: center;
  position: relative;
}
.aw-pos-card:hover {
  border-color: var(--aw-gold);
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(250, 204, 21, 0.15);
}
.aw-pos-card.selected {
  border-color: var(--aw-gold);
  box-shadow: 0 0 0 2px rgba(250, 204, 21, 0.3);
}
.aw-pos-card-label {
  position: absolute;
  top: -10px;
  left: 50%;
  transform: translateX(-50%);
  padding: 2px 10px;
  background: linear-gradient(135deg, var(--aw-gold), #f59e0b);
  color: #1a1033;
  font-size: 10px;
  font-weight: 700;
  border-radius: 10px;
  letter-spacing: 1px;
}
.aw-pos-avatar {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  margin: 6px auto 6px;
  overflow: hidden;
  background: linear-gradient(135deg, #60a5fa, #a78bfa);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: 700;
  font-size: 16px;
  position: relative;
  border: 2px solid rgba(255, 255, 255, 0.2);
}
.aw-pos-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.aw-pos-avatar.captain {
  border-color: var(--aw-gold);
  box-shadow: 0 0 10px rgba(250, 204, 21, 0.4);
}
.aw-pos-avatar.sm {
  width: 40px;
  height: 40px;
  font-size: 13px;
  margin: 0;
}
.aw-pos-name {
  font-size: 12px;
  font-weight: 600;
  color: #fff;
  margin-bottom: 4px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.aw-pos-fit {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  margin-bottom: 6px;
}
.aw-pos-fit-label {
  font-size: 10px;
  color: var(--aw-text-muted);
}
.aw-pos-fit-val {
  font-size: 12px;
  font-weight: 700;
  color: var(--aw-gold);
  font-family: var(--mono), monospace;
}
.aw-pos-key-dims {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 3px;
}
.aw-pos-dim-tag {
  font-size: 9px;
  padding: 2px 5px;
  background: rgba(255, 255, 255, 0.08);
  border-radius: 3px;
  color: #c4b5fd;
}

/* 替补区 */
.aw-sub-section {
  background: rgba(255, 255, 255, 0.03);
  border-radius: 10px;
  padding: 12px;
  border: 1px dashed rgba(255, 255, 255, 0.15);
}
.aw-sub-label {
  font-size: 12px;
  color: var(--aw-text-muted);
  margin-bottom: 8px;
  font-weight: 600;
}
.aw-pos-card.sub {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  text-align: left;
}
.aw-pos-info-inline {
  flex: 1;
  min-width: 0;
}
.aw-pos-name-inline {
  font-size: 13px;
  font-weight: 600;
  color: #fff;
  margin-bottom: 3px;
}
.aw-pos-ovr-inline {
  font-size: 11px;
  color: var(--aw-text-muted);
}
.aw-pos-hint {
  font-size: 11px;
  color: var(--aw-text-muted);
  opacity: 0.7;
}

/* 底部确认 */
.aw-prep-footer {
  padding: 14px 20px;
  background: rgba(26, 16, 51, 0.8);
  border-top: 1px solid rgba(250, 204, 21, 0.15);
  display: flex;
  justify-content: center;
}
.aw-prep-confirm-btn {
  padding: 12px 40px;
  background: linear-gradient(135deg, var(--aw-gold), #f59e0b);
  color: #1a1033;
  font-size: 15px;
  font-weight: 700;
  border: none;
  border-radius: 25px;
  cursor: pointer;
  letter-spacing: 2px;
  transition: all 0.2s ease;
  box-shadow: 0 4px 15px rgba(250, 204, 21, 0.3);
}
.aw-prep-confirm-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(250, 204, 21, 0.4);
}

/* 队员选择弹层 */
.aw-modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 100;
  backdrop-filter: blur(4px);
}
.aw-modal {
  background: linear-gradient(135deg, #2d1b4e 0%, #1a1033 100%);
  border: 1px solid rgba(250, 204, 21, 0.25);
  border-radius: 14px;
  width: 460px;
  max-height: 80vh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
}
.aw-modal-title {
  padding: 16px 20px;
  font-size: 15px;
  font-weight: 700;
  color: var(--aw-gold);
  border-bottom: 1px solid rgba(250, 204, 21, 0.15);
  letter-spacing: 1px;
}
.aw-modal-body {
  flex: 1;
  padding: 12px;
  overflow-y: auto;
}
.aw-modal-footer {
  padding: 12px 20px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}
.aw-modal-btn {
  padding: 8px 20px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  border: none;
  transition: all 0.2s ease;
}
.aw-modal-btn.secondary {
  background: rgba(255, 255, 255, 0.08);
  color: var(--aw-text-secondary);
}
.aw-modal-btn.secondary:hover {
  background: rgba(255, 255, 255, 0.12);
}

/* 队员选择列表 */
.aw-player-picker-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.aw-player-picker-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.15s ease;
}
.aw-player-picker-item:hover:not(.current) {
  border-color: var(--aw-gold);
  background: rgba(250, 204, 21, 0.06);
}
.aw-player-picker-item.current {
  border-color: rgba(52, 211, 153, 0.4);
  background: rgba(52, 211, 153, 0.08);
  cursor: default;
}
.aw-picker-avatar {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  overflow: hidden;
  background: linear-gradient(135deg, #60a5fa, #a78bfa);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: 700;
  font-size: 13px;
  flex-shrink: 0;
  position: relative;
  border: 2px solid transparent;
}
.aw-picker-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.aw-picker-avatar.captain {
  border-color: var(--aw-gold);
}
.aw-picker-info {
  flex: 1;
  min-width: 0;
}
.aw-picker-name {
  font-size: 13px;
  font-weight: 600;
  color: #fff;
  margin-bottom: 3px;
}
.aw-picker-meta {
  font-size: 11px;
  color: var(--aw-text-muted);
  display: flex;
  gap: 8px;
}
.aw-picker-pos {
  color: #c4b5fd;
}
.aw-picker-fit {
  text-align: right;
  flex-shrink: 0;
}
.aw-picker-fit-label {
  font-size: 10px;
  color: var(--aw-text-muted);
}
.aw-picker-fit-val {
  font-size: 15px;
  font-weight: 700;
  color: var(--aw-gold);
  font-family: var(--mono), monospace;
}
.aw-picker-current-badge {
  font-size: 10px;
  padding: 2px 6px;
  background: rgba(52, 211, 153, 0.2);
  color: #34d399;
  border-radius: 4px;
  font-weight: 700;
}

/* Toast */
.aw-toast {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  padding: 12px 24px;
  background: rgba(26, 16, 51, 0.95);
  color: #fff;
  border: 1px solid var(--aw-gold);
  border-radius: 8px;
  font-size: 13px;
  z-index: 200;
  animation: aw-toast-in 0.2s ease;
}
@keyframes aw-toast-in {
  from { opacity: 0; transform: translate(-50%, -60%); }
  to { opacity: 1; transform: translate(-50%, -50%); }
}

/* 队长徽章（小尺寸） */
.aw-tm-cap-badge.sm {
  width: 16px;
  height: 16px;
  font-size: 10px;
  line-height: 14px;
  right: -3px;
  bottom: -3px;
}

.aw-tm-captain-tag.sm {
  font-size: 9px;
  padding: 1px 5px;
}

/* ========== 准备日 手机端响应式 ========== */
@media (max-width: 767px) {
  .agent-war-prep {
    min-height: 100vh;
    padding-bottom: 80px; /* 底部按钮空间 */
    height: auto;
    overflow-y: auto;
  }

  /* 顶部栏 */
  .aw-tr-header {
    flex-wrap: wrap;
    padding: 12px 14px 10px;
    gap: 6px;
  }
  .aw-tr-day-block {
    flex: 1 1 100%;
    order: 1;
  }
  .aw-prep-vs {
    flex: 1 1 100%;
    order: 2;
    justify-content: center;
    font-size: 13px;
    margin-top: 4px;
  }
  .aw-tr-day-num {
    font-size: 20px;
  }

  /* 主体：上下布局 */
  .aw-prep-body {
    flex-direction: column;
    gap: 12px;
    padding: 12px 14px;
    overflow: visible;
    flex: none;
  }

  /* 技能区：全宽 */
  .aw-prep-skills {
    width: 100%;
    flex-shrink: 0;
    gap: 8px;
    overflow: visible;
  }
  .aw-prep-section-title {
    font-size: 14px;
    padding-bottom: 4px;
  }
  .aw-prep-skills-note {
    font-size: 11px;
    padding: 5px 8px;
    line-height: 1.4;
  }

  /* 技能卡片：紧凑横向布局 */
  .aw-skill-card {
    padding: 10px 12px;
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    gap: 8px;
  }
  .aw-skill-card-head {
    margin-bottom: 0;
    gap: 10px;
  }
  .aw-skill-avatar {
    width: 38px;
    height: 38px;
    font-size: 12px;
  }
  .aw-skill-name {
    font-size: 13px;
  }
  .aw-skill-owner {
    font-size: 10px;
  }
  .aw-skill-desc {
    font-size: 11px;
    line-height: 1.5;
    margin-bottom: 0;
    min-height: unset;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .aw-skill-btn {
    padding: 6px 0;
    font-size: 12px;
    letter-spacing: 0.5px;
  }

  /* 阵容区：全宽 */
  .aw-prep-lineup {
    width: 100%;
    min-width: 0;
    overflow: visible;
  }
  .aw-prep-lineup-head {
    padding-bottom: 4px;
    margin-bottom: 2px;
  }
  .aw-prep-lineup-note {
    font-size: 11px;
    padding: 4px 0 8px;
  }
  .aw-prep-auto-btn {
    padding: 5px 10px;
    font-size: 11px;
  }

  /* 足球场：手机端改为纵向列表，移除球场视觉元素 */
  .aw-pitch {
    background: transparent;
    border: none;
    border-radius: 0;
    min-height: unset;
    padding: 0;
    margin-bottom: 12px;
    display: flex;
    flex-direction: column;
    gap: 8px;
  }
  .aw-pitch::before {
    display: none;
  }
  .aw-pitch-line,
  .aw-pitch-circle {
    display: none;
  }
  .aw-pitch-row {
    flex-direction: column;
    gap: 8px;
    margin: 0 !important;
  }

  /* 位置卡片：横向布局，左=位置名 中=队员 右=适配度 */
  .aw-pos-card {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 14px;
    border-radius: 10px;
    text-align: left;
    background: rgba(26, 16, 51, 0.7);
    border: 1px solid rgba(255, 255, 255, 0.12);
  }
  .aw-pos-card:hover {
    transform: none;
  }
  .aw-pos-card-label {
    position: static;
    transform: none;
    padding: 3px 10px;
    font-size: 11px;
    letter-spacing: 0.5px;
    flex-shrink: 0;
    width: 56px;
    text-align: center;
    order: 0;
  }
  .aw-pos-avatar {
    width: 48px;
    height: 48px;
    font-size: 14px;
    margin: 0;
    flex-shrink: 0;
    order: 1;
  }
  .aw-pos-name {
    font-size: 13px;
    margin-bottom: 2px;
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    flex: 1;
    order: 2;
    min-width: 0;
    line-height: 1.3;
  }
  .aw-pos-fit {
    flex-direction: column;
    align-items: flex-end;
    gap: 2px;
    margin-bottom: 0;
    flex-shrink: 0;
    order: 3;
  }
  .aw-pos-fit-label {
    font-size: 10px;
  }
  .aw-pos-fit-val {
    font-size: 15px;
  }
  .aw-pos-key-dims {
    display: none;
  }

  /* 替补区 */
  .aw-sub-section {
    padding: 10px;
    border-radius: 8px;
  }
  .aw-sub-label {
    font-size: 11px;
    margin-bottom: 6px;
  }
  .aw-pos-card.sub {
    padding: 8px 12px;
    gap: 10px;
  }
  .aw-pos-avatar.sm {
    width: 38px;
    height: 38px;
    font-size: 12px;
  }
  .aw-pos-name-inline {
    font-size: 12px;
  }
  .aw-pos-ovr-inline {
    font-size: 10px;
  }
  .aw-pos-hint {
    font-size: 10px;
  }

  /* 底部确认按钮：固定底部 */
  .aw-prep-footer {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 10px 16px calc(10px + env(safe-area-inset-bottom));
    background: rgba(26, 16, 51, 0.92);
    backdrop-filter: blur(8px);
    border-top: 1px solid rgba(250, 204, 21, 0.15);
    z-index: 50;
  }
  .aw-prep-confirm-btn {
    width: 100%;
    padding: 13px 24px;
    font-size: 14px;
    border-radius: 22px;
    letter-spacing: 1.5px;
  }

  /* 弹层适配 */
  .aw-modal {
    width: calc(100% - 32px);
    max-width: 400px;
    max-height: 75vh;
    border-radius: 12px;
  }
  .aw-modal-title {
    padding: 14px 16px;
    font-size: 14px;
  }
  .aw-modal-body {
    padding: 10px;
  }
  .aw-modal-footer {
    padding: 10px 16px;
  }
  .aw-modal-btn {
    padding: 7px 18px;
    font-size: 12px;
  }
  .aw-player-picker-item {
    padding: 8px 10px;
    gap: 10px;
  }
  .aw-picker-avatar {
    width: 38px;
    height: 38px;
    font-size: 12px;
  }
  .aw-picker-name {
    font-size: 12px;
  }
  .aw-picker-meta {
    font-size: 10px;
    gap: 6px;
  }
  .aw-picker-fit-val {
    font-size: 13px;
  }
  .aw-picker-current-badge {
    font-size: 9px;
    padding: 2px 5px;
  }

  /* Toast 手机端 */
  .aw-toast {
    padding: 10px 20px;
    font-size: 12px;
    border-radius: 6px;
  }
}

/* 小屏手机（<375px）微调 */
@media (max-width: 360px) {
  .aw-pos-card {
    padding: 8px 10px;
    gap: 10px;
  }
  .aw-pos-card-label {
    width: 48px;
    font-size: 10px;
    padding: 2px 6px;
  }
  .aw-pos-avatar {
    width: 42px;
    height: 42px;
    font-size: 12px;
  }
  .aw-pos-name {
    font-size: 12px;
  }
  .aw-pos-fit-val {
    font-size: 14px;
  }
  .aw-skill-card {
    padding: 8px 10px;
  }
  .aw-skill-avatar {
    width: 34px;
    height: 34px;
    font-size: 11px;
  }
  .aw-skill-name {
    font-size: 12px;
  }
  .aw-skill-desc {
    font-size: 10px;
  }
}

/* 平板及以上：队员选择页列数调整 */
@media (min-width: 600px) {
  .aw-player-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
  }
  .aw-player-card {
    padding: 10px;
    gap: 8px;
  }
  .aw-player-portrait {
    height: 100px;
  }
  .aw-player-dims {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 4px 6px;
    padding-top: 6px;
  }
  .aw-dim-item {
    font-size: 10px;
  }
  .aw-player-name {
    font-size: 13px;
  }
  .aw-player-tier {
    font-size: 11px;
  }
  .aw-player-overall {
    font-size: 10px;
  }
}
@media (min-width: 900px) {
  .aw-player-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media (min-width: 1200px) {
  .aw-player-grid {
    grid-template-columns: repeat(5, 1fr);
  }
}

/* 平板以上：确保桌面端不挤压 */
@media (min-width: 768px) {
  .aw-prep-skills {
    width: 280px;
  }
}

@media (min-width: 1024px) {
  .aw-prep-skills {
    width: 300px;
  }
  .aw-pitch {
    min-height: 460px;
  }
}

/* ============================================================
   实时比赛界面
   ============================================================ */
.agent-war-match-live {
  display: flex;
  flex-direction: column;
  height: 100vh;
  height: 100dvh;
  background: linear-gradient(180deg, #0a0618 0%, #1a0f35 50%, #0a0618 100%);
  color: #f3f0ff;
  font-family: 'PingFang SC', 'Microsoft YaHei', system-ui, sans-serif;
  overflow: hidden;
  position: relative;
}

.aw-live-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  background: rgba(15, 8, 30, 0.9);
  border-bottom: 1px solid rgba(212, 175, 55, 0.15);
  position: sticky;
  top: 0;
  z-index: 20;
  backdrop-filter: blur(8px);
}
.aw-live-back {
  background: transparent;
  border: none;
  color: #c4b5fd;
  font-size: 20px;
  cursor: pointer;
  padding: 4px 8px;
  width: 36px;
}
.aw-live-title {
  flex: 1;
  text-align: center;
  font-size: 15px;
  font-weight: 600;
  color: #d4af37;
  letter-spacing: 1px;
}

.aw-live-title-wrap {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
}

.aw-live-coach-skill {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 10px;
  background: rgba(251, 191, 36, 0.1);
  border: 1px solid rgba(251, 191, 36, 0.2);
  padding: 2px 8px;
  border-radius: 10px;
  cursor: help;
}

.aw-lcs-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 14px;
  height: 14px;
  border-radius: 3px;
  background: rgba(251, 191, 36, 0.25);
  color: #fbbf24;
  font-size: 9px;
  font-weight: 700;
}

.aw-lcs-name {
  color: #fcd34d;
  font-weight: 500;
}
.aw-live-spacer {
  width: 36px;
}

/* ===== 比分牌 ===== */
.aw-match-pitch-wrap {
  position: relative;
  background: #0f0a20;
  border-bottom: 1px solid rgba(212, 175, 55, 0.1);
  flex-shrink: 0;
}

.aw-match-scoreboard {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 20px 8px;
  background: linear-gradient(180deg, rgba(245, 197, 66, 0.08) 0%, transparent 100%);
}
.aw-mscore-team {
  flex: 1;
  display: flex;
  align-items: center;
}
.aw-mscore-team.home { justify-content: flex-start; }
.aw-mscore-team.away { justify-content: flex-end; }
.aw-mscore-name {
  font-size: 13px;
  font-weight: 600;
  color: #e8e4f0;
  max-width: 80px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.aw-mscore-team.home .aw-mscore-name { color: #ffd700; }
.aw-mscore-team.away .aw-mscore-name { color: #f472b6; }

.aw-mscore-center {
  text-align: center;
  padding: 0 16px;
}
.aw-mscore-score {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-family: 'Orbitron', sans-serif;
  font-weight: 900;
  font-size: 26px;
  line-height: 1;
}
.home-goal { color: #ffd700; }
.away-goal { color: #f472b6; }
.mscore-sep {
  color: #5a5070;
  font-size: 20px;
  font-weight: 500;
}
.aw-mscore-time {
  font-size: 11px;
  color: #8a80a0;
  margin-top: 4px;
  font-weight: 500;
  font-family: 'Orbitron', sans-serif;
}

/* ===== 足球场 ===== */
.aw-match-pitch {
  position: relative;
  width: 100%;
  aspect-ratio: 68 / 40;
  max-height: 28vh;
  margin: 0 auto;
  background: linear-gradient(180deg, #1e4620 0%, #275a28 50%, #1e4620 100%);
  overflow: hidden;
  flex-shrink: 0;
}
.aw-match-pitch::before {
  content: '';
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(
    90deg,
    transparent 0px,
    transparent 12.5%,
    rgba(0, 0, 0, 0.06) 12.5%,
    rgba(0, 0, 0, 0.06) 25%
  );
  pointer-events: none;
}

/* 场地标线 */
.aw-pitch-border {
  position: absolute;
  inset: 6px;
  border: 2px solid rgba(255, 255, 255, 0.5);
  pointer-events: none;
}
.aw-pitch-midline {
  position: absolute;
  left: 50%;
  top: 6px;
  bottom: 6px;
  width: 2px;
  background: rgba(255, 255, 255, 0.5);
  transform: translateX(-50%);
  pointer-events: none;
}
.aw-pitch-center-circle {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 70px;
  height: 70px;
  border: 2px solid rgba(255, 255, 255, 0.5);
  border-radius: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
}
.aw-pitch-center-dot {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 6px;
  height: 6px;
  background: rgba(255, 255, 255, 0.6);
  border-radius: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
}

/* 禁区 */
.aw-pitch-box {
  position: absolute;
  top: 50%;
  border: 2px solid rgba(255, 255, 255, 0.5);
  transform: translateY(-50%);
  pointer-events: none;
}
.aw-pitch-box.left {
  left: 6px;
  width: 14%;
  height: 60%;
  border-left: none;
}
.aw-pitch-box.right {
  right: 6px;
  width: 14%;
  height: 60%;
  border-right: none;
}
.aw-pitch-box.left.goal-area {
  width: 5%;
  height: 30%;
}
.aw-pitch-box.right.goal-area {
  width: 5%;
  height: 30%;
}

/* 球门 */
.aw-pitch-goal {
  position: absolute;
  top: 50%;
  width: 4px;
  height: 18%;
  background: #fff;
  transform: translateY(-50%);
  pointer-events: none;
}
.aw-pitch-goal.left { left: 2px; }
.aw-pitch-goal.right { right: 2px; }

/* 球员 */
.aw-pitch-player {
  position: absolute;
  transform: translate(-50%, -50%);
  transition: left 0.6s cubic-bezier(0.4, 0, 0.2, 1),
              top 0.6s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
}
.aw-pitch-player-dot {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  border: 2px solid #fff;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.4);
  transition: all 0.3s ease;
}
.aw-pitch-player.home .aw-pitch-player-dot {
  background: #ffd700;
}
.aw-pitch-player.away .aw-pitch-player-dot {
  background: #f472b6;
}
.aw-pitch-player.carrier .aw-pitch-player-dot {
  width: 16px;
  height: 16px;
  box-shadow: 0 0 10px rgba(255, 255, 255, 0.8), 0 2px 6px rgba(0, 0, 0, 0.4);
}
.aw-pitch-player.flash .aw-pitch-player-dot {
  animation: aw-player-flash 0.6s ease-out;
}
@keyframes aw-player-flash {
  0% { transform: scale(1); }
  50% { transform: scale(1.8); box-shadow: 0 0 20px #ffd700; }
  100% { transform: scale(1); }
}
.aw-pitch-player-name {
  font-size: 9px;
  color: #fff;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.8);
  font-weight: 600;
  white-space: nowrap;
  line-height: 1;
}

/* 球 */
.aw-pitch-ball {
  position: absolute;
  transform: translate(-50%, -50%);
  z-index: 3;
  transition: left 0.5s cubic-bezier(0.3, 0, 0.2, 1),
              top 0.5s cubic-bezier(0.3, 0, 0.2, 1);
  pointer-events: none;
}
.aw-pitch-ball-inner {
  width: 8px;
  height: 8px;
  background: #fff;
  border-radius: 50%;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.5);
}

/* 技能闪光 */
.aw-skill-flash {
  position: absolute;
  transform: translate(-50%, -50%);
  z-index: 4;
  pointer-events: none;
}
.aw-skill-flash-ring {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 20px;
  height: 20px;
  border: 2px solid #ffd700;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  animation: aw-flash-ring 0.8s ease-out forwards;
}
.aw-skill-flash-ring.delay {
  animation-delay: 0.15s;
}
@keyframes aw-flash-ring {
  0% { width: 10px; height: 10px; opacity: 1; }
  100% { width: 50px; height: 50px; opacity: 0; }
}

/* ===== 文字解说 ===== */
.aw-live-commentary-wrap {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
  background: rgba(10, 6, 24, 0.8);
  border-top: 1px solid rgba(212, 175, 55, 0.15);
  margin-bottom: 56px;
}
.aw-live-commentary-header {
  flex-shrink: 0;
  padding: 8px 16px;
  font-size: 12px;
  font-weight: 600;
  color: #d4af37;
  letter-spacing: 1px;
  border-bottom: 1px solid rgba(212, 175, 55, 0.1);
  display: flex;
  align-items: center;
  gap: 8px;
  background: rgba(212, 175, 55, 0.05);
}
.aw-live-commentary-dot {
  width: 6px;
  height: 6px;
  background: #ef4444;
  border-radius: 50%;
  animation: aw-live-dot 1.2s ease-in-out infinite;
}
@keyframes aw-live-dot {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.3; }
}
.aw-live-commentary {
  flex: 1;
  overflow-y: auto;
  padding: 10px 14px;
  display: flex;
  flex-direction: column;
  gap: 5px;
  min-height: 0;
  scrollbar-width: thin;
  scrollbar-color: rgba(212, 175, 55, 0.3) transparent;
}
.aw-live-commentary::-webkit-scrollbar {
  width: 4px;
}
.aw-live-commentary::-webkit-scrollbar-track {
  background: transparent;
}
.aw-live-commentary::-webkit-scrollbar-thumb {
  background: rgba(212, 175, 55, 0.3);
  border-radius: 2px;
}

.aw-ct-item {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 6px 10px;
  background: rgba(255, 255, 255, 0.03);
  border-radius: 6px;
  font-size: 13px;
  line-height: 1.5;
  animation: aw-ct-in 0.3s ease;
}
@keyframes aw-ct-in {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}

.aw-ct-time {
  flex-shrink: 0;
  font-size: 11px;
  color: #8a80a0;
  font-family: 'Orbitron', sans-serif;
  font-weight: 700;
  padding-top: 2px;
  min-width: 32px;
}
.aw-ct-icon {
  flex-shrink: 0;
  font-size: 13px;
}
.aw-ct-text {
  flex: 1;
  color: #d0c8e0;
  word-break: break-word;
}

.aw-ct-item.home .aw-ct-text { color: #f0e6c8; }
.aw-ct-item.away .aw-ct-text { color: #f5d0e5; }

/* 进球事件高亮 */
.aw-ct-item.goal {
  background: linear-gradient(90deg, rgba(255, 215, 0, 0.15) 0%, rgba(255, 215, 0, 0.05) 100%);
  border-left: 3px solid #ffd700;
  padding-left: 8px;
}
.aw-ct-item.goal .aw-ct-text {
  color: #ffd700;
  font-weight: 700;
  font-size: 14px;
}

/* 技能事件 */
.aw-ct-item.skill-icon {
  background: rgba(168, 85, 247, 0.1);
  border-left: 3px solid #a855f7;
  padding-left: 8px;
}
.aw-ct-item.skill-icon .aw-ct-text {
  color: #c4b5fd;
  font-weight: 600;
}

/* 黄牌/红牌 */
.aw-ct-item.foul {
  background: rgba(239, 68, 68, 0.08);
}

/* ===== 关键时刻相关 ===== */

/* 关键时刻前导（已存在 critical-lead，加细化） */
.aw-ct-item.critical-lead {
  background: linear-gradient(90deg, rgba(251, 191, 36, 0.18) 0%, rgba(251, 191, 36, 0.04) 100%);
  border-left: 3px solid #fbbf24;
  padding-left: 8px;
}
.aw-ct-item.critical-lead .aw-ct-text {
  color: #fbbf24;
  font-weight: 600;
}

/* 玩家选择的动作（射门/传球/过人/抢断 的动作描述） */
.aw-ct-item.critical-action .aw-ct-text {
  color: #fde68a;
  font-weight: 500;
  font-style: italic;
}

/* 关键时刻结果（选择后的结果） */
.aw-ct-item.critical-result {
  background: rgba(59, 130, 246, 0.1);
  border-left: 3px solid #60a5fa;
  padding-left: 8px;
}
.aw-ct-item.critical-result .aw-ct-text {
  font-weight: 600;
}

/* 关键时刻进球（叠加 goal 样式，更亮） */
.aw-ct-item.critical-result.goal {
  background: linear-gradient(90deg, rgba(255, 215, 0, 0.25) 0%, rgba(255, 215, 0, 0.08) 100%);
  border-left: 3px solid #ffd700;
  animation: aw-ct-goal-flash 1.2s ease-out;
}
@keyframes aw-ct-goal-flash {
  0%   { background: rgba(255, 215, 0, 0.5); }
  50%  { background: rgba(255, 215, 0, 0.2); }
  100% { background: linear-gradient(90deg, rgba(255, 215, 0, 0.2) 0%, rgba(255, 215, 0, 0.08) 100%); }
}

/* 后续发展事件（follow up） */
.aw-ct-item.follow-up-action .aw-ct-text {
  color: #a5b4fc;
}

/* 后续发展进球 */
.aw-ct-item.follow-up-goal {
  background: linear-gradient(90deg, rgba(251, 146, 60, 0.2) 0%, rgba(251, 146, 60, 0.05) 100%);
  border-left: 3px solid #fb923c;
  padding-left: 8px;
  animation: aw-ct-goal-flash 1s ease-out;
}
.aw-ct-item.follow-up-goal .aw-ct-text {
  color: #fdba74;
  font-weight: 700;
  font-size: 14px;
}

/* 击中门框/扑救等戏剧性结果 */
.aw-ct-item.hit-post .aw-ct-text,
.aw-ct-item.saved .aw-ct-text {
  color: #94a3b8;
}

/* 中场休息 / 全场结束 */
.aw-ct-item.halftime,
.aw-ct-item.fulltime {
  justify-content: center;
  background: rgba(212, 175, 55, 0.1);
  color: #d4af37;
  font-weight: 600;
  font-size: 12px;
  letter-spacing: 1px;
  padding: 8px;
  margin: 6px 0;
}
.aw-ct-item.halftime .aw-ct-text,
.aw-ct-item.fulltime .aw-ct-text {
  color: #d4af37;
  text-align: center;
}

/* ===== 底部进度条 ===== */
.aw-live-footer {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 10px 16px calc(10px + env(safe-area-inset-bottom));
  background: rgba(10, 6, 24, 0.95);
  border-top: 1px solid rgba(212, 175, 55, 0.15);
  backdrop-filter: blur(8px);
  z-index: 20;
}
.aw-live-progress {
  height: 4px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 2px;
  overflow: hidden;
  margin-bottom: 10px;
}
.aw-live-progress-fill {
  height: 100%;
  background: linear-gradient(90deg, #d4af37, #ffd700);
  border-radius: 2px;
  transition: width 0.3s ease;
}
.aw-live-controls {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.aw-live-minute {
  font-size: 12px;
  color: #8a80a0;
  font-family: 'Orbitron', sans-serif;
}
.aw-live-skip-btn {
  padding: 8px 20px;
  background: rgba(212, 175, 55, 0.15);
  border: 1px solid rgba(212, 175, 55, 0.4);
  color: #d4af37;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  letter-spacing: 0.5px;
}
.aw-live-skip-btn:hover {
  background: rgba(212, 175, 55, 0.25);
}

/* ===== 中场休息 overlay ===== */
.aw-halftime-overlay {
  position: fixed;
  inset: 0;
  background: rgba(10, 6, 24, 0.9);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 100;
  backdrop-filter: blur(4px);
  animation: aw-fade-in 0.3s ease;
}
@keyframes aw-fade-in {
  from { opacity: 0; }
  to { opacity: 1; }
}
.aw-halftime-box {
  text-align: center;
  padding: 30px 40px;
  background: linear-gradient(135deg, #2d1b4e 0%, #1a1033 100%);
  border: 1px solid rgba(212, 175, 55, 0.3);
  border-radius: 16px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
}
.aw-halftime-title {
  font-size: 22px;
  font-weight: 700;
  color: #d4af37;
  letter-spacing: 4px;
  margin-bottom: 16px;
}
.aw-halftime-score {
  display: flex;
  align-items: center;
  gap: 20px;
  font-size: 14px;
  color: #c4b5fd;
  margin-bottom: 16px;
}
.ht-score {
  font-size: 28px;
  font-weight: 900;
  color: #fff;
  font-family: 'Orbitron', sans-serif;
}
.aw-halftime-hint {
  font-size: 12px;
  color: #8a80a0;
  animation: aw-pulse 1.5s ease-in-out infinite;
}
@keyframes aw-pulse {
  0%, 100% { opacity: 0.6; }
  50% { opacity: 1; }
}

/* ===== 技能动画 overlay ===== */
.aw-skill-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.75);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 200;
  animation: aw-skill-in 0.3s ease;
  backdrop-filter: blur(6px);
}
@keyframes aw-skill-in {
  from { opacity: 0; }
  to { opacity: 1; }
}
.aw-skill-anim-box {
  text-align: center;
  animation: aw-skill-pop 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}
@keyframes aw-skill-pop {
  from { transform: scale(0.6); opacity: 0; }
  to { transform: scale(1); opacity: 1; }
}
.aw-skill-title-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-bottom: 14px;
}
.aw-skill-title-line {
  flex: 1;
  max-width: 40px;
  height: 2px;
  background: linear-gradient(90deg, transparent, #ffd700);
}
.aw-skill-title-line.right {
  background: linear-gradient(90deg, #ffd700, transparent);
}
.aw-skill-name {
  font-size: 22px;
  font-weight: 900;
  color: #ffd700;
  letter-spacing: 4px;
  text-shadow: 0 0 20px rgba(255, 215, 0, 0.6), 0 2px 8px rgba(0,0,0,0.5);
  font-family: 'PingFang SC', 'Microsoft YaHei', sans-serif;
  animation: aw-skill-title-glow 1.5s ease-out both;
}
@keyframes aw-skill-title-glow {
  0% { opacity: 0; transform: scale(0.6); filter: brightness(2); }
  30% { opacity: 1; transform: scale(1.1); }
  60% { transform: scale(1); }
  100% { opacity: 1; transform: scale(1); }
}
.aw-skill-anim-svg {
  width: 360px;
  height: 216px;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 0 40px rgba(255, 215, 0, 0.2), 0 10px 40px rgba(0,0,0,0.5);
  animation: aw-svg-in 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) both;
}
@keyframes aw-svg-in {
  from { opacity: 0; transform: scale(0.7); }
  to { opacity: 1; transform: scale(1); }
}

.aw-stick-svg {
  width: 100%;
  height: 100%;
  display: block;
}

/* ===== 射门必杀动画 ===== */
.aw-shooter-group {
  animation: aw-shooter-pose 0.8s cubic-bezier(0.2, 0.8, 0.3, 1) both;
}
@keyframes aw-shooter-pose {
  0% { transform: translateX(-30px) scale(0.8); opacity: 0; }
  50% { transform: translateX(5px) scale(1.05); opacity: 1; }
  100% { transform: translateX(0) scale(1); opacity: 1; }
}
.aw-kick-leg {
  transform-origin: 165px 160px;
  animation: aw-super-kick 0.5s cubic-bezier(0.5, 0, 0.2, 1) 0.3s both;
}
@keyframes aw-super-kick {
  0% { transform: rotate(30deg); }
  60% { transform: rotate(-60deg); }
  100% { transform: rotate(-40deg); }
}
.aw-shot-energy {
  animation: aw-energy-pulse 0.6s ease-out 0.2s both;
}
@keyframes aw-energy-pulse {
  0% { opacity: 0; transform: scale(0.5); }
  50% { opacity: 0.6; transform: scale(1.2); }
  100% { opacity: 0.4; transform: scale(1); }
}
.aw-ball-fire-group {
  animation: aw-ball-fire-shot 0.9s cubic-bezier(0.5, 0, 1, 0.5) 0.5s both;
}
@keyframes aw-ball-fire-shot {
  0% { transform: translateX(-80px) scale(0.8); opacity: 0; }
  20% { transform: translateX(-60px) scale(1); opacity: 1; }
  100% { transform: translateX(0) scale(1); opacity: 1; }
}
.aw-fire-trail {
  animation: aw-fire-flicker 0.15s ease-in-out infinite alternate;
}
@keyframes aw-fire-flicker {
  0% { opacity: 0.7; transform: scaleX(0.95); }
  100% { opacity: 1; transform: scaleX(1.05); }
}
.aw-impact-lines {
  animation: aw-impact-in 0.4s ease-out 0.6s both;
}
@keyframes aw-impact-in {
  from { opacity: 0; transform: translateX(-20px); }
  to { opacity: 1; transform: translateX(0); }
}
.aw-goal-net-shake {
  animation: aw-net-shake 0.3s ease-in-out 1s 2;
}
@keyframes aw-net-shake {
  0%, 100% { transform: translateX(0); }
  25% { transform: translateX(3px) translateY(-2px); }
  75% { transform: translateX(-2px) translateY(1px); }
}
.aw-speed-radial line {
  animation: aw-radial-line 0.6s ease-out both;
}
@keyframes aw-radial-line {
  0% { opacity: 0; stroke-dashoffset: 100; }
  100% { opacity: 0.7; stroke-dashoffset: 0; }
}

/* ===== 过人必杀动画 ===== */
.aw-dribbler-group {
  animation: aw-dribbler-rush 0.7s cubic-bezier(0.2, 0.8, 0.3, 1) both;
}
@keyframes aw-dribbler-rush {
  0% { transform: translateX(-80px); opacity: 0; }
  60% { transform: translateX(10px); opacity: 1; }
  100% { transform: translateX(0); opacity: 1; }
}
.aw-dribble-main {
  animation: aw-dribble-bob 0.3s ease-in-out 0.5s 3 alternate;
}
@keyframes aw-dribble-bob {
  0% { transform: translateY(0); }
  100% { transform: translateY(-4px); }
}
.aw-dribble-trail1 {
  animation: aw-trail-fade1 0.6s ease-out both;
}
.aw-dribble-trail2 {
  animation: aw-trail-fade2 0.6s ease-out 0.1s both;
}
@keyframes aw-trail-fade1 {
  0% { opacity: 0; transform: translateX(-30px); }
  50% { opacity: 0.4; }
  100% { opacity: 0.2; transform: translateX(-10px); }
}
@keyframes aw-trail-fade2 {
  0% { opacity: 0; transform: translateX(-20px); }
  50% { opacity: 0.6; }
  100% { opacity: 0.4; transform: translateX(-5px); }
}
.aw-dribble-ball {
  animation: aw-dribble-ball-bounce 0.2s ease-in-out 0.6s 4 alternate;
}
@keyframes aw-dribble-ball-bounce {
  0% { transform: translateY(0); }
  100% { transform: translateY(-6px); }
}
.aw-defender-fall {
  transform-origin: 320px 160px;
  animation: aw-def-fall 0.6s cubic-bezier(0.5, 0, 0.5, 1) 0.4s both;
}
@keyframes aw-def-fall {
  0% { transform: rotate(0deg) translateY(0); opacity: 1; }
  100% { transform: rotate(45deg) translateY(15px); opacity: 0.7; }
}
.aw-h-speed-lines line {
  animation: aw-h-speed 0.7s ease-out both;
}
@keyframes aw-h-speed {
  0% { opacity: 0; transform: translateX(30px); }
  30% { opacity: 1; }
  100% { opacity: 0.4; transform: translateX(-30px); }
}
.aw-ground-trail {
  animation: aw-trail-grow 0.5s ease-out 0.3s both;
}
@keyframes aw-trail-grow {
  from { opacity: 0; transform: scaleX(0); transform-origin: right center; }
  to { opacity: 0.6; transform: scaleX(1); }
}

/* ===== 扑救必杀动画 ===== */
.aw-keeper-dive-group {
  animation: aw-keeper-fly 0.7s cubic-bezier(0.3, 0.1, 0.3, 1) 0.2s both;
}
@keyframes aw-keeper-fly {
  0% { transform: translate(40px, 30px) rotate(-10deg); opacity: 0; }
  50% { transform: translate(-5px, -5px) rotate(-25deg); opacity: 1; }
  100% { transform: translate(0, 0) rotate(-30deg); opacity: 1; }
}
.aw-save-ball {
  animation: aw-save-ball-curve 0.8s cubic-bezier(0.5, 0, 0.5, 1) both;
}
@keyframes aw-save-ball-curve {
  0% { transform: translate(80px, -20px) scale(0.9); opacity: 0; }
  50% { transform: translate(20px, 5px) scale(1.1); opacity: 1; }
  100% { transform: translate(0, 0) scale(1); opacity: 1; }
}
.aw-save-speed line {
  animation: aw-save-line 0.8s ease-out both;
}
@keyframes aw-save-line {
  0% { opacity: 0; stroke-dashoffset: 80; }
  100% { opacity: 0.5; stroke-dashoffset: 0; }
}
.aw-save-Impact {
  animation: aw-impact-burst 0.4s ease-out 0.7s both;
}
@keyframes aw-impact-burst {
  0% { opacity: 0; transform: translateX(10px); }
  50% { opacity: 1; transform: translateX(-5px) scale(1.2); }
  100% { opacity: 0.8; transform: translateX(0) scale(1); }
}

/* ===== 实时比赛：手机端优化 ===== */
@media (max-width: 767px) {
  .aw-match-pitch {
    max-height: none;
    aspect-ratio: 68 / 38;
  }
  .aw-pitch-player-dot {
    width: 12px;
    height: 12px;
  }
  .aw-pitch-player.carrier .aw-pitch-player-dot {
    width: 14px;
    height: 14px;
  }
  .aw-pitch-player-name {
    font-size: 8px;
  }
  .aw-pitch-center-circle {
    width: 50px;
    height: 50px;
  }
  .aw-pitch-ball-inner {
    width: 7px;
    height: 7px;
  }

  .aw-mscore-name {
    font-size: 12px;
    max-width: 60px;
  }
  .aw-mscore-score {
    font-size: 22px;
    gap: 8px;
  }
  .mscore-sep {
    font-size: 18px;
  }
  .aw-mscore-time {
    font-size: 10px;
  }

  .aw-live-commentary {
    padding: 8px 12px;
    gap: 4px;
  }
  .aw-live-commentary-header {
    font-size: 11px;
    padding: 6px 12px;
  }
  .aw-ct-item {
    font-size: 12px;
    padding: 5px 8px;
    gap: 6px;
  }
  .aw-ct-time {
    font-size: 10px;
    min-width: 28px;
  }
  .aw-ct-item.goal .aw-ct-text {
    font-size: 13px;
  }

  .aw-skill-anim-svg {
    width: 300px;
    height: 180px;
  }
  .aw-skill-name {
    font-size: 18px;
    letter-spacing: 2px;
  }

  .aw-halftime-box {
    padding: 24px 32px;
  }
  .aw-halftime-title {
    font-size: 20px;
    letter-spacing: 3px;
  }
  .ht-score {
    font-size: 24px;
  }
}

/* ========================================================
   郎超代理人战争 · 三大系统新增样式
   - 干劲条
   - 训练事件弹窗
   - 技能学习面板
   - 全队状态条
   - 比赛技能发动
   ======================================================== */

/* ---- 队员卡片：干劲条 + 双行状态条 ---- */
.aw-pc-status-bars {
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.aw-pc-bar-row {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 10px;
}
.aw-pc-bar-label {
  width: 24px;
  color: var(--aw-text-3, #9ca3af);
  font-weight: 500;
  flex-shrink: 0;
}
.aw-pc-bar {
  flex: 1;
  height: 5px;
  background: rgba(255,255,255,0.08);
  border-radius: 3px;
  overflow: hidden;
}
.aw-pc-bar-fill {
  height: 100%;
  transition: width 0.3s, background 0.3s;
  border-radius: 3px;
}
.aw-pc-bar-val {
  min-width: 34px;
  text-align: right;
  font-weight: 700;
  font-family: 'Courier New', monospace;
  font-size: 10px;
  display: flex;
  align-items: center;
  gap: 2px;
  justify-content: flex-end;
}
.aw-pc-bar-tag {
  font-size: 9px;
  font-weight: 600;
  opacity: 0.9;
}

/* 兼容旧的 fatigue 结构（新结构覆盖旧结构） */
.aw-pc-fatigue { display: none; }

/* ---- 全队状态条（顶部） ---- */
.aw-tr-team-status {
  display: flex;
  gap: 12px;
  padding: 8px 12px;
  background: rgba(255,255,255,0.03);
  border-bottom: 1px solid var(--aw-border);
}
.aw-ts-item {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
}
.aw-ts-label {
  color: var(--aw-text-2, #cbd5e1);
  font-weight: 600;
  min-width: 48px;
  flex-shrink: 0;
}
.aw-ts-bar {
  flex: 1;
  height: 6px;
  background: rgba(255,255,255,0.08);
  border-radius: 4px;
  overflow: hidden;
}
.aw-ts-fill {
  height: 100%;
  transition: width 0.4s ease;
  border-radius: 4px;
}
.aw-ts-value {
  font-weight: 700;
  font-family: 'Courier New', monospace;
  min-width: 22px;
  text-align: right;
}
.aw-ts-tag {
  font-size: 10px;
  font-weight: 700;
  padding: 1px 6px;
  border: 1px solid;
  border-radius: 10px;
}
/* 友情搭档状态 */
.aw-ts-item.aw-ts-friendship {
  flex: 0 0 auto;
  min-width: auto;
}
.aw-ts-fs-badges {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
.aw-ts-fs-badge {
  font-size: 10px;
  font-weight: 600;
  padding: 2px 8px;
  border-radius: 10px;
  white-space: nowrap;
}
.aw-ts-fs-badge.lv0 {
  color: var(--aw-text-3, #94a3b8);
  background: rgba(255, 255, 255, 0.05);
}
.aw-ts-fs-badge.lv2 {
  color: #c4b5fd;
  background: rgba(139, 92, 246, 0.18);
  border: 1px solid rgba(139, 92, 246, 0.4);
}
.aw-ts-fs-badge.lv3 {
  color: #fde68a;
  background: linear-gradient(135deg, rgba(245, 158, 11, 0.25), rgba(251, 191, 36, 0.15));
  border: 1px solid rgba(245, 158, 11, 0.5);
  box-shadow: 0 0 8px rgba(245, 158, 11, 0.2);
}

/* ---- 队员卡片展开：子Tab ---- */
.aw-pc-subtabs {
  display: flex;
  gap: 4px;
  margin-bottom: 10px;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(250, 204, 21, 0.15);
}
.aw-pc-subtab {
  flex: 1;
  padding: 5px 4px;
  font-size: 11px;
  font-weight: 600;
  background: rgba(255,255,255,0.04);
  color: var(--aw-text-2);
  border: 1px solid transparent;
  border-radius: 5px;
  cursor: pointer;
  transition: all 0.2s;
}
.aw-pc-subtab:hover {
  background: rgba(250, 204, 21, 0.1);
  color: var(--aw-gold);
}
.aw-pc-subtab.active {
  background: linear-gradient(135deg, rgba(245, 197, 66, 0.2), rgba(167, 139, 250, 0.2));
  color: var(--aw-gold);
  border-color: var(--aw-gold);
}

/* ---- 技能面板 ---- */
.aw-skill-panel {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.aw-skill-points-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 10px;
  background: linear-gradient(135deg, rgba(245, 197, 66, 0.15), rgba(251, 191, 36, 0.05));
  border: 1px solid rgba(245, 197, 66, 0.3);
  border-radius: 8px;
}
.aw-sp-label {
  font-size: 12px;
  color: var(--aw-text-2);
  font-weight: 600;
}
.aw-sp-value {
  font-size: 22px;
  color: var(--aw-gold);
  font-weight: 900;
  font-family: 'Courier New', monospace;
  text-shadow: 0 0 10px rgba(245, 197, 66, 0.4);
}
.aw-skill-section {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.aw-skill-section-title {
  font-size: 12px;
  font-weight: 700;
  color: var(--aw-gold);
  padding-left: 4px;
  border-left: 2px solid var(--aw-gold);
}
.aw-skill-empty {
  font-size: 11px;
  color: var(--aw-text-muted);
  font-style: italic;
  text-align: center;
  padding: 8px;
}
.aw-skill-list {
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.aw-skill-item {
  padding: 7px 8px;
  background: rgba(255,255,255,0.04);
  border: 1px solid var(--aw-border);
  border-radius: 6px;
}
.aw-skill-item.learned {
  border-color: rgba(245, 197, 66, 0.4);
  background: rgba(245, 197, 66, 0.06);
}
.aw-skill-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 3px;
}
.aw-skill-cat-tag {
  font-size: 9px;
  font-weight: 700;
  padding: 2px 6px;
  border-radius: 10px;
}
.aw-skill-level {
  display: flex;
  gap: 1px;
}
.aw-skill-star {
  font-size: 11px;
  color: rgba(255,255,255,0.2);
}
.aw-skill-star.on {
  color: var(--aw-gold);
  text-shadow: 0 0 4px rgba(245, 197, 66, 0.5);
}
.aw-skill-name {
  font-size: 12px;
  font-weight: 700;
  color: var(--aw-text);
  margin-bottom: 2px;
}
.aw-skill-desc {
  font-size: 10px;
  color: var(--aw-text-2);
  line-height: 1.4;
  margin-bottom: 5px;
}
.aw-skill-btn {
  width: 100%;
  padding: 4px 8px;
  font-size: 11px;
  font-weight: 700;
  color: #1a1033;
  background: linear-gradient(135deg, var(--aw-gold), var(--aw-gold-2));
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.2s;
}
.aw-skill-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 2px 6px rgba(245, 197, 66, 0.3);
}
.aw-skill-btn.disabled {
  background: rgba(255,255,255,0.1);
  color: rgba(255,255,255,0.3);
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}
.aw-skill-btn.small {
  padding: 3px 10px;
  font-size: 10px;
  width: auto;
  display: inline-block;
}
.aw-skill-max-label {
  text-align: center;
  font-size: 10px;
  color: var(--aw-gold);
  font-weight: 600;
  padding-top: 3px;
}
.aw-skill-max-label.small {
  padding-top: 0;
  display: inline-block;
}
.aw-skill-item.maxed {
  opacity: 0.5;
}

/* 可学技能分类 */
.aw-skill-cat-group {
  margin-bottom: 8px;
}
.aw-skill-cat-title {
  font-size: 11px;
  font-weight: 700;
  margin-bottom: 4px;
  padding: 2px 0;
}
.aw-skill-cat-list {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.aw-skill-name-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 2px;
}
.aw-skill-name-sm {
  font-size: 11px;
  font-weight: 700;
  color: var(--aw-text);
}
.aw-skill-level-sm {
  font-size: 10px;
  color: var(--aw-gold);
  font-weight: 700;
}
.aw-skill-desc-sm {
  font-size: 10px;
  color: var(--aw-text-muted);
  margin-bottom: 4px;
  line-height: 1.3;
}
.aw-skill-gk-locked {
  font-size: 10px;
  color: var(--aw-text-muted);
  font-style: italic;
  padding: 6px;
  text-align: center;
  background: rgba(255,255,255,0.03);
  border-radius: 4px;
}

/* ---- 训练结果面板：扩展 ---- */
.aw-tr-r-details {
  display: flex;
  flex-direction: column;
  gap: 2px;
  align-items: flex-end;
}
.aw-tr-r-fat {
  font-size: 10px;
  font-weight: 600;
}
.aw-tr-r-fat.up { color: #fb923c; }
.aw-tr-r-fat.down { color: #22d3ee; }
.aw-tr-r-mot {
  font-size: 10px;
  font-weight: 600;
}
.aw-tr-r-mot.up { color: #4ade80; }
.aw-tr-r-mot.down { color: #f87171; }
.aw-tr-r-sp {
  color: #fbbf24;
  font-size: 12px;
  font-weight: 500;
}
.aw-tr-r-weak {
  color: #fb923c;
  font-size: 11px;
  font-weight: 600;
  background: rgba(251, 146, 60, 0.12);
  padding: 1px 6px;
  border-radius: 8px;
  border: 1px solid rgba(251, 146, 60, 0.25);
}
.aw-tr-r-overall {
  color: #38bdf8;
  font-size: 12px;
  font-weight: 500;
  margin-left: auto;
}
.aw-tr-r-overall b {
  color: #7dd3fc;
}

.aw-tr-fs-changes {
  margin-bottom: 12px;
  padding: 8px;
  background: rgba(96, 165, 250, 0.08);
  border: 1px solid rgba(96, 165, 250, 0.2);
  border-radius: 6px;
}
.aw-tr-fs-changes-title {
  font-size: 11px;
  font-weight: 700;
  color: #60a5fa;
  margin-bottom: 5px;
}
.aw-tr-fs-changes-list {
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.aw-tr-fs-change-item {
  font-size: 11px;
  color: var(--aw-text-2);
  display: flex;
  justify-content: space-between;
}
 .aw-tr-fs-change-val {
  color: #60a5fa;
  font-weight: 600;
}

/* 友情升级提示 */
.aw-tr-fs-levelups {
  margin-bottom: 12px;
  padding: 10px;
  background: linear-gradient(135deg, rgba(245, 158, 11, 0.12), rgba(251, 191, 36, 0.08));
  border: 1px solid rgba(245, 158, 11, 0.35);
  border-radius: 8px;
  box-shadow: 0 0 12px rgba(245, 158, 11, 0.1);
}
.aw-tr-fs-levelups-title {
  font-size: 13px;
  font-weight: 700;
  color: var(--aw-gold);
  margin-bottom: 8px;
  letter-spacing: 0.5px;
}
.aw-tr-fs-levelups-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.aw-tr-fs-levelup-item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  padding: 6px 8px;
  background: rgba(255, 255, 255, 0.04);
  border-radius: 5px;
  flex-wrap: wrap;
}
.aw-tr-fs-levelup-pair {
  color: var(--aw-text-primary);
  font-weight: 600;
}
.aw-tr-fs-levelup-badge {
  padding: 2px 8px;
  border-radius: 12px;
  font-weight: 700;
  font-size: 10px;
}
.aw-tr-fs-levelup-item.lv1 .aw-tr-fs-levelup-badge {
  background: rgba(59, 130, 246, 0.2);
  color: #60a5fa;
  border: 1px solid rgba(59, 130, 246, 0.4);
}
.aw-tr-fs-levelup-item.lv2 .aw-tr-fs-levelup-badge {
  background: rgba(168, 85, 247, 0.2);
  color: #c084fc;
  border: 1px solid rgba(168, 85, 247, 0.4);
}
.aw-tr-fs-levelup-item.lv3 .aw-tr-fs-levelup-badge {
  background: linear-gradient(135deg, var(--aw-gold), #f59e0b);
  color: #1a1033;
  box-shadow: 0 0 8px rgba(245, 158, 11, 0.4);
}
.aw-tr-fs-levelup-effects {
  color: var(--aw-text-tertiary);
  font-size: 10px;
  margin-left: auto;
}

/* ---- 训练事件弹窗 ---- */
.aw-event-modal-overlay {
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(0, 0, 0, 0.75);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 999;
  padding: 20px;
  animation: overlayFadeIn 0.25s ease;
}
@keyframes overlayFadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}
.aw-event-modal {
  width: 100%;
  max-width: 340px;
  background: linear-gradient(160deg, #1a1033 0%, #2d1b5e 100%);
  border: 1px solid var(--aw-gold);
  border-radius: 14px;
  padding: 20px;
  box-shadow: 0 0 30px rgba(245, 197, 66, 0.25);
  animation: modalSlideUp 0.3s ease;
}
@keyframes modalSlideUp {
  from {
    opacity: 0;
    transform: translateY(20px) scale(0.95);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
.aw-em-title {
  font-size: 18px;
  font-weight: 900;
  color: var(--aw-gold);
  text-align: center;
  margin-bottom: 12px;
  letter-spacing: 1px;
  text-shadow: 0 0 10px rgba(245, 197, 66, 0.3);
}
.aw-em-desc {
  font-size: 13px;
  color: var(--aw-text);
  line-height: 1.6;
  margin-bottom: 16px;
  text-align: left;
  padding: 10px;
  background: rgba(255,255,255,0.04);
  border-radius: 8px;
  border-left: 3px solid var(--aw-gold);
}

/* 夜晚外出·选人按钮 */
.aw-outing-player-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  margin-bottom: 16px;
  max-height: 360px;
  overflow-y: auto;
  padding-right: 4px;
}
.aw-outing-player-btn {
  background: linear-gradient(135deg, #2a1f4e 0%, #1a1030 100%);
  border: 2px solid rgba(120, 110, 160, 0.4);
  border-radius: 10px;
  padding: 12px 14px;
  cursor: pointer;
  transition: all 0.2s ease;
  text-align: left;
  display: flex;
  flex-direction: column;
  gap: 4px;
  color: #fff;
  font-family: inherit;
}
.aw-outing-player-btn:hover {
  border-color: var(--aw-gold);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(245, 197, 66, 0.25);
}
.aw-outing-btn-name {
  font-size: 15px;
  font-weight: 700;
  color: #ffffff;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
  letter-spacing: 0.3px;
}
.aw-outing-btn-ovr {
  font-size: 12px;
  font-weight: 600;
  color: #f5c542;
  font-family: 'Courier New', monospace;
}
.aw-outing-btn-topdim {
  font-size: 11px;
  color: #c8c0a0;
}

/* 外出事件标签 */
.aw-em-outing-tag {
  display: inline-block;
  padding: 3px 12px;
  font-size: 12px;
  font-weight: 600;
  color: #f5c542;
  background: rgba(245, 197, 66, 0.12);
  border: 1px solid rgba(245, 197, 66, 0.3);
  border-radius: 14px;
  margin-bottom: 10px;
  align-self: center;
}
.aw-em-options {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.aw-em-option-btn {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 10px 12px;
  background: rgba(255,255,255,0.05);
  border: 1px solid var(--aw-border);
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s;
  text-align: left;
}
.aw-em-option-btn:hover {
  background: rgba(245, 197, 66, 0.12);
  border-color: var(--aw-gold);
  transform: translateX(3px);
}
.aw-em-option-label {
  font-size: 13px;
  font-weight: 700;
  color: var(--aw-text);
}
.aw-em-option-hint {
  font-size: 11px;
  color: var(--aw-text-2);
  opacity: 0.85;
}

/* 事件结果态 */
.aw-em-result-title {
  font-size: 16px;
  font-weight: 900;
  color: var(--aw-gold);
  text-align: center;
  margin-bottom: 10px;
  letter-spacing: 1px;
}
.aw-em-result-choice {
  font-size: 12px;
  color: var(--aw-text-2);
  text-align: center;
  margin-bottom: 10px;
}
.aw-em-result-choice b {
  color: var(--aw-gold);
}
.aw-em-result-text {
  font-size: 13px;
  color: var(--aw-text);
  line-height: 1.6;
  padding: 10px;
  background: rgba(245, 197, 66, 0.08);
  border: 1px solid rgba(245, 197, 66, 0.25);
  border-radius: 8px;
  margin-bottom: 14px;
  text-align: left;
}
.aw-em-close-btn {
  display: block;
  margin: 0 auto;
  min-width: 100px;
}

/* ---- 队伍Tab：干劲行 ---- */
.aw-tm-pr-mot-row {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 4px 8px;
  font-size: 10px;
  background: rgba(255,255,255,0.02);
}
.aw-tm-pr-mot-label {
  color: var(--aw-text-3);
  font-weight: 600;
  min-width: 28px;
}
.aw-tm-pr-mot-bar {
  flex: 1;
  height: 4px;
  background: rgba(255,255,255,0.08);
  border-radius: 2px;
  overflow: hidden;
}
.aw-tm-pr-mot-fill {
  height: 100%;
  transition: width 0.3s;
  border-radius: 2px;
}
.aw-tm-pr-mot-val {
  min-width: 30px;
  text-align: right;
  font-weight: 700;
  font-size: 10px;
}

/* ---- 比赛结果：技能发动 ---- */
.aw-mr-skills {
  margin: 12px 0;
  padding: 12px;
  background: rgba(245, 197, 66, 0.05);
  border: 1px solid rgba(245, 197, 66, 0.2);
  border-radius: 10px;
}
.aw-mr-skills-title {
  font-size: 14px;
  font-weight: 700;
  color: var(--aw-gold);
  margin-bottom: 10px;
  text-align: center;
}
.aw-mr-skills-cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.aw-mr-skills-col {
  min-height: 40px;
}
.aw-mr-skills-team {
  font-size: 12px;
  color: var(--aw-text-secondary);
  margin-bottom: 6px;
  font-weight: 600;
}
.aw-mr-skill-item {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  padding: 6px 8px;
  background: rgba(245, 197, 66, 0.06);
  border-radius: 6px;
  margin-bottom: 4px;
}
.aw-mr-skill-icon {
  color: var(--aw-gold);
  font-size: 12px;
  flex-shrink: 0;
  margin-top: 1px;
}
.aw-mr-skill-name {
  font-size: 12px;
  font-weight: 700;
  color: #fef3c7;
  line-height: 1.3;
}
.aw-mr-skill-level {
  font-size: 10px;
  color: var(--aw-gold);
  font-weight: 600;
  margin-left: 4px;
}
.aw-mr-skill-player {
  font-size: 10px;
  color: var(--aw-text-muted);
  margin-top: 2px;
}
.aw-mr-skills-none {
  font-size: 11px;
  color: var(--aw-text-muted);
  font-style: italic;
}

/* 响应式适配 */
@media (max-width: 380px) {
  .aw-em-desc { font-size: 12px; }
  .aw-em-option-btn { padding: 8px 10px; }
  .aw-event-modal { padding: 16px; }
  .aw-tr-team-status { flex-direction: column; gap: 6px; }
}

/* ========================================================
   郎超代理人战争 · 半自动比赛系统新增样式
   - 关键时刻菜单
   - 体力条（沙盘）
   - 解说高亮
   ======================================================== */

/* ---- 沙盘球员体力条 ---- */
.aw-pitch-player-stamina {
  position: absolute;
  bottom: -4px;
  left: 50%;
  transform: translateX(-50%);
  width: 28px;
  height: 2px;
  background: rgba(0,0,0,0.4);
  border-radius: 1px;
  overflow: hidden;
}
.aw-pitch-player-stamina-fill {
  height: 100%;
  transition: width 0.3s, background 0.3s;
  border-radius: 1px;
}
.aw-pitch-player.stamina-low .aw-pitch-player-dot {
  filter: saturate(0.4) brightness(0.7);
}
.aw-pitch-player.stamina-med .aw-pitch-player-dot {
  filter: saturate(0.7) brightness(0.85);
}
.aw-pitch-player.stamina-low .aw-pitch-player-name {
  opacity: 0.6;
}

/* ---- 关键时刻解说高亮 ---- */
.aw-ct-item.critical-lead {
  background: linear-gradient(90deg, rgba(245, 197, 66, 0.2), transparent);
  border-left: 3px solid var(--aw-gold);
  padding-left: 6px;
  font-weight: 600;
}
.aw-ct-item.critical-lead .aw-ct-icon.critical-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--aw-gold);
  font-size: 10px;
  margin-right: 2px;
}
.aw-live-critical-badge {
  margin-left: auto;
  font-size: 10px;
  font-weight: 700;
  color: var(--aw-gold);
  background: rgba(245, 197, 66, 0.15);
  padding: 2px 8px;
  border-radius: 10px;
  border: 1px solid var(--aw-gold);
  animation: criticalPulse 1.2s infinite;
}
@keyframes criticalPulse {
  0%, 100% { box-shadow: 0 0 4px rgba(245, 197, 66, 0.4); }
  50% { box-shadow: 0 0 12px rgba(245, 197, 66, 0.7); }
}

/* ---- 关键时刻 overlay ---- */
.aw-critical-overlay {
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(0, 0, 0, 0.72);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 800;
  padding: 16px;
  animation: overlayFadeIn 0.2s ease;
}
.aw-critical-panel {
  width: 100%;
  max-width: 360px;
  background: linear-gradient(160deg, #1a1033 0%, #2d1b5e 55%, #3d2d70 100%);
  border: 1px solid var(--aw-gold);
  border-radius: 14px;
  padding: 18px 16px;
  box-shadow:
    0 0 30px rgba(245, 197, 66, 0.3),
    inset 0 1px 0 rgba(255,255,255,0.08);
  animation: criticalSlideUp 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
@keyframes criticalSlideUp {
  from {
    opacity: 0;
    transform: translateY(30px) scale(0.96);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
.aw-critical-title {
  font-size: 20px;
  font-weight: 900;
  color: var(--aw-gold);
  text-align: center;
  margin-bottom: 8px;
  letter-spacing: 2px;
  text-shadow: 0 0 14px rgba(245, 197, 66, 0.5);
}
.aw-critical-actor {
  text-align: center;
  font-size: 12px;
  color: var(--aw-text-2);
  margin-bottom: 10px;
}
.aw-critical-actor b {
  color: var(--aw-text);
  font-weight: 700;
}
.aw-critical-actor.danger b {
  color: #f87171;
}

/* 倒计时条 */
.aw-critical-timer {
  position: relative;
  height: 20px;
  margin-bottom: 12px;
  background: rgba(255,255,255,0.06);
  border-radius: 10px;
  overflow: hidden;
}
.aw-critical-timer-bar {
  position: absolute;
  top: 0; left: 0; bottom: 0;
  background: linear-gradient(90deg, var(--aw-gold), #f97316);
  transition: width 1s linear;
  border-radius: 10px;
}
.aw-critical-timer-text {
  position: relative;
  display: block;
  text-align: center;
  font-size: 11px;
  font-weight: 600;
  color: #fff;
  line-height: 20px;
  text-shadow: 0 1px 2px rgba(0,0,0,0.6);
  z-index: 1;
}

/* 选项列表 */
.aw-critical-options {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.aw-critical-option {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 12px 14px;
  background: rgba(255,255,255,0.05);
  border: 1px solid var(--aw-border);
  border-radius: 10px;
  cursor: pointer;
  transition: all 0.2s ease;
  text-align: left;
  position: relative;
  overflow: hidden;
}
.aw-critical-option::before {
  content: '';
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 3px;
  background: var(--aw-gold);
  opacity: 0;
  transition: opacity 0.2s;
}
.aw-critical-option:hover {
  background: rgba(245, 197, 66, 0.1);
  border-color: var(--aw-gold);
  transform: translateX(4px);
}
.aw-critical-option:hover::before {
  opacity: 1;
}
.aw-critical-option:active {
  transform: translateX(2px) scale(0.99);
}

/* 必杀技选项高亮 */
.aw-critical-option.special {
  background: linear-gradient(135deg, rgba(147, 51, 234, 0.15), rgba(245, 197, 66, 0.1));
  border-color: #a855f7;
  box-shadow: 0 0 12px rgba(147, 51, 234, 0.2);
}
.aw-critical-option.special:hover {
  background: linear-gradient(135deg, rgba(147, 51, 234, 0.25), rgba(245, 197, 66, 0.18));
  border-color: var(--aw-gold);
  box-shadow: 0 0 18px rgba(245, 197, 66, 0.3);
}
.aw-critical-option.special::before {
  background: linear-gradient(180deg, var(--aw-gold), #a855f7);
  opacity: 1;
  width: 4px;
}

.aw-co-main {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.aw-co-label {
  font-size: 14px;
  font-weight: 700;
  color: var(--aw-text);
}
.aw-critical-option.special .aw-co-label {
  color: #f0abfc;
  text-shadow: 0 0 6px rgba(147, 51, 234, 0.5);
}
.aw-co-rate {
  font-size: 16px;
  font-weight: 900;
  font-family: 'Courier New', monospace;
  text-shadow: 0 0 6px currentColor;
}
.aw-co-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 10px;
}
.aw-co-stamina {
  color: #fb923c;
  font-weight: 600;
}
.aw-co-note {
  color: var(--aw-text-muted);
  font-style: italic;
}
.aw-co-skill-level {
  color: var(--aw-gold);
  font-weight: 700;
  margin-left: auto;
}

/* 响应式 */
@media (max-width: 380px) {
  .aw-critical-panel { padding: 14px 12px; }
  .aw-critical-title { font-size: 17px; }
  .aw-critical-option { padding: 10px 12px; }
  .aw-co-label { font-size: 13px; }
  .aw-co-rate { font-size: 14px; }
}

/* ============================================
   关键时刻 · 居中结果面板
   ============================================ */
.aw-result-overlay {
  position: fixed;
  inset: 0;
  background: rgba(5, 3, 15, 0.72);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 120;
  backdrop-filter: blur(6px);
  animation: aw-res-fade-in 0.25s ease-out;
  pointer-events: none;
}
@keyframes aw-res-fade-in {
  from { opacity: 0; }
  to { opacity: 1; }
}
.aw-result-card {
  width: 72%;
  max-width: 520px;
  padding: 28px 32px;
  background: linear-gradient(160deg, rgba(30, 20, 60, 0.95) 0%, rgba(15, 10, 35, 0.97) 100%);
  border: 1.5px solid rgba(212, 175, 55, 0.4);
  border-radius: 20px;
  box-shadow:
    0 0 40px rgba(212, 175, 55, 0.15),
    0 20px 60px rgba(0, 0, 0, 0.6);
  text-align: center;
  animation: aw-res-pop 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
  position: relative;
  overflow: hidden;
}
@keyframes aw-res-pop {
  0% { transform: scale(0.7); opacity: 0; }
  100% { transform: scale(1); opacity: 1; }
}
.aw-result-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, #d4af37, transparent);
  opacity: 0.6;
}
.aw-res-skill-banner {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 3px;
  color: #c084fc;
  margin-bottom: 10px;
  text-transform: uppercase;
  animation: aw-res-glow-purple 1.5s ease-in-out infinite;
}
@keyframes aw-res-glow-purple {
  0%, 100% { text-shadow: 0 0 6px rgba(192, 132, 252, 0.5); }
  50% { text-shadow: 0 0 16px rgba(192, 132, 252, 0.9), 0 0 24px rgba(192, 132, 252, 0.4); }
}
.aw-res-action {
  font-size: 18px;
  font-weight: 600;
  color: #e8e0ff;
  margin-bottom: 16px;
  letter-spacing: 1px;
}
.aw-res-result {
  font-size: 30px;
  font-weight: 900;
  letter-spacing: 2px;
  margin-bottom: 10px;
  line-height: 1.2;
}
.aw-res-result.goal {
  color: #ffd700;
  font-size: 42px;
  animation: aw-res-goal-flash 0.6s ease-in-out infinite alternate;
  text-shadow:
    0 0 10px rgba(255, 215, 0, 0.8),
    0 0 24px rgba(255, 215, 0, 0.5),
    0 0 40px rgba(255, 180, 0, 0.3);
}
@keyframes aw-res-goal-flash {
  from { transform: scale(1); filter: brightness(1); }
  to { transform: scale(1.06); filter: brightness(1.2); }
}
.aw-res-result.success {
  color: #4ade80;
  text-shadow: 0 0 12px rgba(74, 222, 128, 0.5);
}
.aw-res-result.fail {
  color: #94a3b8;
  text-shadow: 0 0 8px rgba(148, 163, 184, 0.3);
}
.aw-res-result.saved {
  color: #60a5fa;
  text-shadow: 0 0 10px rgba(96, 165, 250, 0.5);
}
.aw-res-player {
  font-size: 15px;
  color: #c4b5fd;
  margin-top: 6px;
  font-weight: 500;
}
.aw-res-mini {
  font-size: 12px;
  color: #8a80a0;
  margin-top: 12px;
  letter-spacing: 1px;
}
/* 进球时的金色闪光环 */
.aw-result-card.goal-card {
  border-color: #ffd700;
  box-shadow:
    0 0 60px rgba(255, 215, 0, 0.35),
    0 0 100px rgba(255, 180, 0, 0.2),
    0 20px 60px rgba(0, 0, 0, 0.6);
  animation: aw-res-pop 0.4s cubic-bezier(0.34, 1.56, 0.64, 1),
             aw-res-goal-card-pulse 1.2s ease-in-out infinite 0.4s;
}
@keyframes aw-res-goal-card-pulse {
  0%, 100% { box-shadow: 0 0 40px rgba(255, 215, 0, 0.25), 0 20px 60px rgba(0, 0, 0, 0.6); }
  50% { box-shadow: 0 0 80px rgba(255, 215, 0, 0.5), 0 0 120px rgba(255, 180, 0, 0.3), 0 20px 60px rgba(0, 0, 0, 0.6); }
}
 /* 必杀技卡片风格 */
.aw-result-card.skill-card {
  border-color: rgba(192, 132, 252, 0.6);
  box-shadow:
    0 0 50px rgba(192, 132, 252, 0.3),
    0 20px 60px rgba(0, 0, 0, 0.6);
}
/* 黄金搭档连线进球 */
.aw-result-card.golden-goal {
  border-color: #ffd700;
  background: linear-gradient(160deg, rgba(60, 40, 10, 0.95), rgba(40, 25, 5, 0.98));
  box-shadow:
    0 0 80px rgba(255, 215, 0, 0.5),
    0 0 140px rgba(255, 180, 0, 0.3),
    0 20px 60px rgba(0, 0, 0, 0.6);
  animation: aw-res-pop 0.4s cubic-bezier(0.34, 1.56, 0.64, 1),
             aw-res-golden-pulse 1.2s ease-in-out infinite 0.4s;
}
.aw-result-card.golden-goal .aw-result-action {
  background: linear-gradient(90deg, #ffd700, #fbbf24, #ffd700);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-shadow: 0 0 20px rgba(255, 215, 0, 0.3);
}
@keyframes aw-res-golden-pulse {
  0%, 100% { box-shadow: 0 0 60px rgba(255, 215, 0, 0.4), 0 0 100px rgba(255, 180, 0, 0.2), 0 20px 60px rgba(0, 0, 0, 0.6); }
  50% { box-shadow: 0 0 100px rgba(255, 215, 0, 0.6), 0 0 160px rgba(255, 180, 0, 0.35), 0 20px 60px rgba(0, 0, 0, 0.6); }
}

/* ============================================================
   代理人台词气泡
   ============================================================ */
.aw-agent-bubble {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: flex-start;
  gap: 12px;
  background: rgba(20, 10, 40, 0.88);
  border: 1px solid rgba(200, 170, 255, 0.25);
  border-radius: 12px;
  padding: 10px 16px;
  backdrop-filter: blur(6px);
  z-index: 80;
  max-width: 420px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
  transition: opacity 0.3s ease, transform 0.3s ease;
}
.aw-agent-bubble.pos-top {
  top: 12px;
}
.aw-agent-bubble.pos-match-top {
  top: 80px;
  z-index: 100;
}
.aw-agent-bubble.show {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}
.aw-agent-bubble.hide {
  opacity: 0;
  pointer-events: none;
  transform: translateX(-50%) translateY(-10px);
}
.aw-ab-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  overflow: hidden;
  border: 2px solid var(--aw-gold, #fbbf24);
  flex-shrink: 0;
  background: #1a1a2e;
}
.aw-ab-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.aw-ab-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.aw-ab-name {
  font-size: 12px;
  font-weight: 700;
  color: var(--aw-gold, #fbbf24);
  letter-spacing: 0.5px;
}
.aw-ab-line {
  font-size: 13px;
  color: var(--aw-text-primary, #f1f5f9);
  line-height: 1.4;
  word-break: break-word;
}

/* ============================================================
   代理人专属事件弹窗
   ============================================================ */
.aw-event-modal.agent-event .aw-em-agent-header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(200, 170, 255, 0.15);
}
.aw-em-agent-avatar {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  overflow: hidden;
  border: 2px solid var(--aw-gold, #fbbf24);
  flex-shrink: 0;
  background: #1a1a2e;
}
.aw-em-agent-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.aw-em-agent-name {
  font-size: 14px;
  font-weight: 700;
  color: var(--aw-gold, #fbbf24);
  letter-spacing: 1px;
}
.aw-event-modal.agent-event .aw-em-title {
  color: #fcd34d;
}

/* ============================================================
   战术指令菜单
   ============================================================ */
.aw-tactic-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 200;
  backdrop-filter: blur(2px);
  animation: aw-tactic-fadein 0.3s ease;
}
@keyframes aw-tactic-fadein {
  from { opacity: 0; }
  to { opacity: 1; }
}
.aw-tactic-panel {
  width: 420px;
  max-width: 90%;
  background: linear-gradient(160deg, rgba(40, 25, 70, 0.98), rgba(25, 15, 50, 0.98));
  border: 1px solid rgba(200, 170, 255, 0.3);
  border-radius: 14px;
  padding: 20px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.6), 0 0 40px rgba(139, 92, 246, 0.15);
}
.aw-tactic-header {
  text-align: center;
  margin-bottom: 18px;
}
.aw-tactic-agent {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  margin-bottom: 10px;
}
.aw-tactic-avatar {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  overflow: hidden;
  border: 2px solid var(--aw-gold, #fbbf24);
  background: #1a1a2e;
  box-shadow: 0 0 12px rgba(251, 191, 36, 0.3);
}
.aw-tactic-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.aw-tactic-agent-name {
  font-size: 12px;
  font-weight: 700;
  color: var(--aw-gold, #fbbf24);
  letter-spacing: 0.5px;
}
.aw-tactic-title {
  font-size: 18px;
  font-weight: 700;
  color: #f1f5f9;
  margin-bottom: 4px;
}
.aw-tactic-reason {
  font-size: 12px;
  color: var(--aw-text-tertiary, #94a3b8);
}
.aw-tactic-options {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.aw-tactic-option {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 12px 16px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s ease;
  text-align: left;
  color: inherit;
  font: inherit;
}
.aw-tactic-option:hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(200, 170, 255, 0.4);
  transform: translateY(-1px);
}
.aw-tactic-option.tactic-attack {
  border-left: 3px solid #ef4444;
}
.aw-tactic-option.tactic-attack:hover {
  background: rgba(239, 68, 68, 0.1);
  border-color: rgba(239, 68, 68, 0.5);
}
.aw-tactic-option.tactic-defend {
  border-left: 3px solid #3b82f6;
}
.aw-tactic-option.tactic-defend:hover {
  background: rgba(59, 130, 246, 0.1);
  border-color: rgba(59, 130, 246, 0.5);
}
.aw-tactic-option.tactic-control {
  border-left: 3px solid #10b981;
}
.aw-tactic-option.tactic-control:hover {
  background: rgba(16, 185, 129, 0.1);
  border-color: rgba(16, 185, 129, 0.5);
}
.aw-tactic-option.tactic-none {
  border-left: 3px solid #6b7280;
}
.aw-tactic-option.tactic-none:hover {
  background: rgba(107, 114, 128, 0.1);
  border-color: rgba(107, 114, 128, 0.5);
}
.aw-tc-label {
  font-size: 14px;
  font-weight: 700;
  color: var(--aw-text-primary, #f1f5f9);
}
.aw-tc-desc {
  font-size: 11px;
  color: var(--aw-text-tertiary, #94a3b8);
}

/* ===== 技能发动解说文字 ===== */
.aw-ct-item.skill_captain {
  background: linear-gradient(90deg, rgba(255, 215, 0, 0.15) 0%, rgba(255, 215, 0, 0.03) 100%);
  border-left: 3px solid #ffd700;
}
.aw-ct-item.skill_captain .aw-ct-text {
  color: #ffd700;
  font-weight: 700;
  font-size: 12.5px;
}

.aw-ct-item.skill_passive {
  background: linear-gradient(90deg, rgba(59, 130, 246, 0.12) 0%, rgba(59, 130, 246, 0.03) 100%);
  border-left: 3px solid #3b82f6;
}
.aw-ct-item.skill_passive .aw-ct-text {
  color: #93c5fd;
  font-weight: 600;
  font-size: 12px;
}

.aw-ct-item.skill_exclusive {
  background: linear-gradient(90deg, rgba(168, 85, 247, 0.15) 0%, rgba(168, 85, 247, 0.03) 100%);
  border-left: 3px solid #a855f7;
}
.aw-ct-item.skill_exclusive .aw-ct-text {
  color: #c4b5fd;
  font-weight: 700;
  font-size: 12.5px;
}

/* 结算页技能解说文字 */
.aw-mr-cp-item.skill_captain .aw-mr-cp-text,
.aw-mr-cp-item.skill_passive .aw-mr-cp-text,
.aw-mr-cp-item.skill_exclusive .aw-mr-cp-text {
  font-weight: 600;
}
.aw-mr-cp-item.skill_captain .aw-mr-cp-text { color: #ffd700; }
.aw-mr-cp-item.skill_passive .aw-mr-cp-text { color: #93c5fd; }
.aw-mr-cp-item.skill_exclusive .aw-mr-cp-text { color: #c4b5fd; }

/* ===== 训练中过场动画 ===== */
.aw-training-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.88);
  z-index: 500;
  display: flex;
  align-items: center;
  justify-content: center;
  animation: awTrainOverlayFadeIn 0.3s ease-out forwards;
  backdrop-filter: blur(6px);
}

@keyframes awTrainOverlayFadeIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}

.aw-training-overlay-inner {
  position: relative;
  width: min(88vw, 560px);
  max-height: 82vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  animation: awTrainPopIn 0.4s cubic-bezier(0.2, 0.8, 0.2, 1) forwards;
}

@keyframes awTrainPopIn {
  from {
    opacity: 0;
    transform: scale(0.92) translateY(16px);
  }
  to {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}

.aw-training-img-wrap {
  position: relative;
  width: 100%;
  border-radius: 18px;
  overflow: hidden;
  box-shadow:
    0 0 0 1px rgba(212, 175, 55, 0.25),
    0 20px 60px rgba(0, 0, 0, 0.6),
    0 0 80px rgba(212, 175, 55, 0.15);
  aspect-ratio: 4 / 3;
}

.aw-training-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.aw-training-img-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(0, 0, 0, 0.15) 0%,
    rgba(0, 0, 0, 0) 40%,
    rgba(0, 0, 0, 0) 60%,
    rgba(0, 0, 0, 0.55) 100%
  );
  pointer-events: none;
}

.aw-training-text {
  text-align: center;
}

.aw-training-name {
  font-size: 28px;
  font-weight: 700;
  color: #fff;
  letter-spacing: 2px;
  text-shadow: 0 2px 12px rgba(212, 175, 55, 0.35);
  display: inline-block;
  background: linear-gradient(180deg, #fff 0%, #e8d49a 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: awTrainTextFadeIn 0.6s ease-out 0.2s both;
}

@keyframes awTrainTextFadeIn {
  from {
    opacity: 0;
    transform: translateY(10px);
    letter-spacing: 6px;
  }
  to {
    opacity: 1;
    transform: translateY(0);
    letter-spacing: 2px;
  }
}

/* 三个跳动的点 */
.aw-training-dots {
  display: flex;
  gap: 10px;
  height: 20px;
  align-items: center;
  justify-content: center;
}

.aw-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #d4af37;
  box-shadow: 0 0 10px rgba(212, 175, 55, 0.6);
  animation: awDotBounce 1s ease-in-out infinite;
}

.aw-dot-2 { animation-delay: 0.15s; }
.aw-dot-3 { animation-delay: 0.3s; }

@keyframes awDotBounce {
  0%, 80%, 100% {
    transform: translateY(0);
    opacity: 0.4;
  }
  40% {
    transform: translateY(-10px);
    opacity: 1;
  }
}

/* 手机适配 */
@media (max-width: 600px) {
  .aw-training-overlay-inner {
    width: 92vw;
    gap: 18px;
  }
  .aw-training-img-wrap {
    border-radius: 14px;
    aspect-ratio: 4 / 3;
  }
  .aw-training-name {
    font-size: 22px;
    letter-spacing: 1px;
  }
}

/* 训练结果面板淡入（配合过场后的过渡） */
.aw-tr-result-panel {
  animation: awResultFadeIn 0.35s ease-out;
}

@keyframes awResultFadeIn {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ============================================================
   必杀技动画（关键帧插画版）
   - 图片使用 background-image 加载（与代理人立绘一致，避免 CORS / onLoad 问题）
   - 必杀技模式：2.2s（弹入0.4s → 展示1.2s → 淡出0.6s）
   - 自动模式：1.5s
   - 普通选择模式：1.5s（简化效果，只有图+结果文字）
   ============================================================ */
.aw-skill-overlay {
  position: fixed !important;
  inset: 0;
  background: rgba(0, 0, 0, 0.88);
  z-index: 999;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.25s ease-out;
  backdrop-filter: blur(4px);
}

.aw-skill-overlay.aw-skill-enter,
.aw-skill-overlay.aw-skill-show,
.aw-skill-overlay.aw-skill-exit {
  opacity: 1;
}

.aw-skill-frame {
  position: relative;
  width: min(88vw, 620px);
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* ===== 图片容器（background-image 方式） ===== */
.aw-skill-img-wrap {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 14px;
  overflow: hidden;
  background-color: #1a0a2e;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  transform: scale(0.5) rotate(-3deg);
  opacity: 0;
  animation: awSkillPopIn 0.4s cubic-bezier(0.2, 0.9, 0.3, 1.2) forwards;
  box-shadow:
    0 0 0 2px rgba(255, 215, 0, 0.4),
    0 20px 60px rgba(0, 0, 0, 0.7),
    0 0 60px rgba(255, 215, 0, 0.25);
}

/* 加载中状态：有占位色，避免纯白闪烁 */
.aw-skill-img-wrap.img-loading {
  background-image: none !important;
  background: linear-gradient(135deg, #1a0a2e 0%, #2d1050 50%, #1a0a2e 100%);
}

/* 加载完成：渐显（图片已经在 background-image 里了，用 opacity 做过渡） */
.aw-skill-img-wrap.img-ready {
  opacity: 1;
}

/* 图片加载失败 fallback */
.aw-skill-img-wrap.img-fallback {
  background-image: none !important;
  background: linear-gradient(135deg, #1a0a2e 0%, #2d1050 50%, #1a0a2e 100%);
}
.aw-skill-fallback-bg {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  background: 
    radial-gradient(circle at 30% 40%, rgba(255, 215, 0, 0.12), transparent 50%),
    radial-gradient(circle at 70% 60%, rgba(255, 100, 50, 0.1), transparent 50%);
}
.aw-skill-fallback-icon {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 215, 0, 0.35), transparent 70%);
  animation: awFallbackPulse 1.5s ease-in-out infinite;
}
.aw-skill-fallback-text {
  font-size: 24px;
  font-weight: 700;
  color: #ffd700;
  letter-spacing: 4px;
  text-shadow: 0 0 10px rgba(255, 215, 0, 0.6);
}
@keyframes awFallbackPulse {
  0%, 100% { transform: scale(0.8); opacity: 0.5; }
  50% { transform: scale(1.2); opacity: 1; }
}

/* ===== 弹入 / 淡出 动画（必杀技模式 2.2s 版） ===== */
@keyframes awSkillPopIn {
  0% {
    transform: scale(0.4) rotate(-5deg);
    opacity: 0;
  }
  60% {
    transform: scale(1.04) rotate(1deg);
    opacity: 1;
  }
  100% {
    transform: scale(1) rotate(0deg);
    opacity: 1;
  }
}

.aw-skill-overlay.aw-skill-exit .aw-skill-img-wrap {
  animation: awSkillFadeOut 0.6s ease-in forwards !important;
}

@keyframes awSkillFadeOut {
  0% {
    transform: scale(1);
    opacity: 1;
    filter: brightness(1);
  }
  50% {
    transform: scale(1.05);
    opacity: 0.85;
    filter: brightness(1.4);
  }
  100% {
    transform: scale(0.95);
    opacity: 0;
    filter: brightness(0.3);
  }
}

/* ===== 震动效果（必杀技 show 阶段） ===== */
.aw-skill-overlay.aw-skill-mode-ultimate.aw-skill-show .aw-skill-img-wrap {
  animation:
    awSkillPopIn 0.4s cubic-bezier(0.2, 0.9, 0.3, 1.2) forwards,
    awSkillShake 0.2s ease-in-out 0.4s 4;
}

@keyframes awSkillShake {
  0%, 100% { transform: translateX(0) scale(1); }
  25% { transform: translateX(-5px) scale(1.01); }
  75% { transform: translateX(5px) scale(1.01); }
}

/* ===== 闪光层（仅必杀技模式） ===== */
.aw-skill-shine {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    135deg,
    transparent 20%,
    rgba(255, 255, 255, 0.7) 50%,
    transparent 80%
  );
  transform: translateX(-100%);
  pointer-events: none;
  mix-blend-mode: overlay;
}

.aw-skill-overlay.aw-skill-mode-ultimate.aw-skill-show .aw-skill-shine {
  animation: awSkillShineSweep 0.6s ease-out 0.5s 1 both;
}

@keyframes awSkillShineSweep {
  0% { transform: translateX(-100%); opacity: 0; }
  50% { opacity: 1; }
  100% { transform: translateX(100%); opacity: 0; }
}

/* 暗角 */
.aw-skill-vignette {
  position: absolute;
  inset: 0;
  background: radial-gradient(
    ellipse at center,
    transparent 40%,
    rgba(0, 0, 0, 0.55) 100%
  );
  pointer-events: none;
}

/* 外发光边 */
.aw-skill-border-glow {
  position: absolute;
  inset: 0;
  border-radius: 14px;
  box-shadow: inset 0 0 0 2px rgba(255, 215, 0, 0.6);
  pointer-events: none;
  animation: awSkillBorderPulse 1.2s ease-in-out 0.3s infinite;
}

@keyframes awSkillBorderPulse {
  0%, 100% { box-shadow: inset 0 0 0 2px rgba(255, 215, 0, 0.5); }
  50% { box-shadow: inset 0 0 0 3px rgba(255, 215, 0, 0.95), inset 0 0 20px rgba(255, 215, 0, 0.3); }
}

/* ===== 色调滤镜（作用于 background-image 容器本身） ===== */
.aw-skill-img-wrap.tint-shoot {
  filter: sepia(0.15) saturate(1.15) contrast(1.05);
}
.aw-skill-img-wrap.tint-shoot::before {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(135deg, rgba(255, 80, 30, 0.18), transparent 60%);
  pointer-events: none;
}

.aw-skill-img-wrap.tint-dribble {
  filter: hue-rotate(-10deg) saturate(1.1) contrast(1.05);
}
.aw-skill-img-wrap.tint-dribble::before {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(135deg, rgba(0, 150, 255, 0.18), transparent 60%);
  pointer-events: none;
}

.aw-skill-img-wrap.tint-defend {
  filter: hue-rotate(20deg) saturate(1.1) contrast(1.05);
}
.aw-skill-img-wrap.tint-defend::before {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(135deg, rgba(50, 200, 100, 0.18), transparent 60%);
  pointer-events: none;
}

.aw-skill-img-wrap.tint-save {
  filter: hue-rotate(40deg) saturate(1.15) contrast(1.05);
}
.aw-skill-img-wrap.tint-save::before {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(135deg, rgba(160, 80, 220, 0.2), transparent 60%);
  pointer-events: none;
}

/* ===== 技能名称大字（必杀技模式） ===== */
.aw-skill-title-big {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  pointer-events: none;
  white-space: nowrap;
  z-index: 3;
}

.aw-skill-title-text {
  font-size: 48px;
  font-weight: 900;
  color: #fff;
  letter-spacing: 4px;
  text-shadow:
    0 0 8px rgba(255, 215, 0, 0.8),
    0 0 20px rgba(255, 140, 0, 0.6),
    0 4px 0 rgba(0, 0, 0, 0.5),
    0 0 40px rgba(255, 215, 0, 0.4);
  background: linear-gradient(180deg, #fff 0%, #ffe680 50%, #ff9500 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  -webkit-text-stroke: 1.5px rgba(0, 0, 0, 0.6);
  transform: translateX(-60px);
  opacity: 0;
  animation: awSkillTitleSlide 0.5s cubic-bezier(0.2, 0.8, 0.2, 1) 0.35s forwards;
}

.aw-skill-title-sub {
  font-size: 16px;
  font-weight: 700;
  color: #ffd700;
  letter-spacing: 8px;
  opacity: 0;
  text-shadow: 0 0 10px rgba(255, 215, 0, 0.6), 0 2px 0 rgba(0, 0, 0, 0.5);
  animation: awSkillTitleSubFade 0.5s ease-out 0.6s forwards;
}

@keyframes awSkillTitleSlide {
  0% {
    opacity: 0;
    transform: translateX(-80px) scale(0.8);
    letter-spacing: 12px;
  }
  70% {
    opacity: 1;
    transform: translateX(4px) scale(1.05);
  }
  100% {
    opacity: 1;
    transform: translateX(0) scale(1);
    letter-spacing: 4px;
  }
}

@keyframes awSkillTitleSubFade {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* 退出阶段标题放大淡出 */
.aw-skill-overlay.aw-skill-exit .aw-skill-title-text {
  animation: awSkillTitleExit 0.6s ease-in forwards;
}
.aw-skill-overlay.aw-skill-exit .aw-skill-title-sub {
  opacity: 0;
  transition: opacity 0.2s;
}

@keyframes awSkillTitleExit {
  0% {
    opacity: 1;
    transform: scale(1);
    filter: brightness(1);
  }
  50% {
    opacity: 1;
    transform: scale(1.2);
    filter: brightness(1.5);
  }
  100% {
    opacity: 0;
    transform: scale(1.4);
    filter: brightness(2);
  }
}

/* ===== 结果文字（必杀技退出阶段） ===== */
.aw-skill-result-text {
  position: absolute;
  bottom: 28%;
  left: 50%;
  transform: translateX(-50%);
  font-size: 42px;
  font-weight: 900;
  letter-spacing: 6px;
  background: linear-gradient(180deg, #fff 0%, #ffd700 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  -webkit-text-stroke: 1.5px rgba(0, 0, 0, 0.6);
  text-shadow: 0 0 30px rgba(255, 215, 0, 0.8);
  z-index: 4;
  animation: awSkillResultPop 0.5s cubic-bezier(0.2, 0.9, 0.3, 1.3) forwards;
  white-space: nowrap;
}

@keyframes awSkillResultPop {
  0% { opacity: 0; transform: translateX(-50%) scale(0.3); }
  60% { opacity: 1; transform: translateX(-50%) scale(1.15); }
  100% { opacity: 1; transform: translateX(-50%) scale(1); }
}

/* ===== 普通选择模式（normal mode） ===== */
.aw-skill-overlay.aw-skill-mode-normal .aw-skill-img-wrap {
  /* 简化版弹入动画：0.3s */
  animation: awSkillNormalPopIn 0.3s cubic-bezier(0.2, 0.9, 0.3, 1.2) forwards;
}
@keyframes awSkillNormalPopIn {
  0% { transform: scale(0.85); opacity: 0; }
  70% { transform: scale(1.02); opacity: 1; }
  100% { transform: scale(1); opacity: 1; }
}

.aw-skill-overlay.aw-skill-mode-normal.aw-skill-exit .aw-skill-img-wrap {
  animation: awSkillNormalFadeOut 0.4s ease-in forwards !important;
}
@keyframes awSkillNormalFadeOut {
  from { opacity: 1; transform: scale(1); }
  to { opacity: 0; transform: scale(0.95); filter: brightness(0.5); }
}

/* 普通模式结果文字：居中叠在图片上 */
.aw-skill-normal-result {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 42px;
  font-weight: 900;
  letter-spacing: 6px;
  color: #fff;
  text-shadow:
    0 0 10px rgba(0, 0, 0, 0.9),
    0 0 30px rgba(255, 215, 0, 0.6),
    0 3px 0 rgba(0, 0, 0, 0.6);
  background: linear-gradient(180deg, #fff 0%, #ffd700 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  -webkit-text-stroke: 1.5px rgba(0, 0, 0, 0.5);
  z-index: 4;
  white-space: nowrap;
  animation: awNormalResultIn 0.4s cubic-bezier(0.2, 0.9, 0.3, 1.2) 0.15s both;
}
@keyframes awNormalResultIn {
  0% { opacity: 0; transform: translate(-50%, -50%) scale(0.6); }
  70% { opacity: 1; transform: translate(-50%, -50%) scale(1.1); }
  100% { opacity: 1; transform: translate(-50%, -50%) scale(1); }
}

/* 手机端适配 */
@media (max-width: 600px) {
  .aw-skill-frame {
    width: 85vw;
  }
  .aw-skill-img-wrap {
    aspect-ratio: 4 / 3;
    border-radius: 12px;
  }
  .aw-skill-title-text {
    font-size: 32px;
    letter-spacing: 2px;
    -webkit-text-stroke: 1px rgba(0, 0, 0, 0.6);
  }
  .aw-skill-title-sub {
    font-size: 13px;
    letter-spacing: 6px;
  }
  .aw-skill-result-text {
    font-size: 30px;
    letter-spacing: 4px;
    bottom: 25%;
  }
  .aw-skill-normal-result {
    font-size: 32px;
    letter-spacing: 3px;
    -webkit-text-stroke: 1px rgba(0, 0, 0, 0.5);
  }
}

/* ============================================================
   代理人存在感系统
   ============================================================ */

/* ---------- 代理人常驻显示 ---------- */
.aw-agent-presence {
  position: absolute;
  top: 60px;
  right: 12px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  z-index: 50;
  cursor: pointer;
  user-select: none;
}
.aw-ap-avatar-wrap {
  position: relative;
  width: 44px;
  height: 44px;
  transition: all 0.2s ease;
}
.aw-ap-avatar-wrap.coaching-glow .aw-ap-avatar {
  box-shadow: 0 0 12px rgba(251, 191, 36, 0.8);
}
.aw-ap-avatar-wrap.great-pulse {
  animation: aw-ap-pulse 1.2s ease-out;
}
.aw-ap-avatar-wrap.great-pulse .aw-ap-avatar {
  transform: scale(1.2);
  box-shadow: 0 0 20px rgba(251, 191, 36, 1);
}
@keyframes aw-ap-pulse {
  0% { transform: scale(1); }
  30% { transform: scale(1.25); }
  60% { transform: scale(1.15); }
  100% { transform: scale(1); }
}
.aw-ap-avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  overflow: hidden;
  border: 2px solid var(--aw-gold, #fbbf24);
  background: #1a1a2e;
  transition: all 0.2s ease;
}
.aw-ap-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.aw-ap-glow-ring {
  position: absolute;
  inset: -4px;
  border-radius: 50%;
  border: 2px solid rgba(251, 191, 36, 0.6);
  animation: aw-ap-ring 1.5s ease-out infinite;
  pointer-events: none;
}
@keyframes aw-ap-ring {
  0% { transform: scale(1); opacity: 1; }
  100% { transform: scale(1.4); opacity: 0; }
}
.aw-ap-info {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1px;
}
.aw-ap-name {
  font-size: 11px;
  font-weight: 700;
  color: var(--aw-gold, #fbbf24);
  text-shadow: 0 1px 2px rgba(0,0,0,0.8);
}
.aw-ap-status {
  font-size: 10px;
  font-weight: 500;
  background: rgba(0,0,0,0.5);
  padding: 1px 6px;
  border-radius: 6px;
  white-space: nowrap;
}
.aw-ap-speech-tag {
  font-size: 10px;
  color: #fcd34d;
  background: rgba(251, 191, 36, 0.15);
  border: 1px solid rgba(251, 191, 36, 0.3);
  padding: 2px 6px;
  border-radius: 6px;
  white-space: nowrap;
  margin-top: 2px;
}
.aw-ap-bubble {
  position: absolute;
  top: -32px;
  right: 50px;
  background: var(--aw-card, #2a1b5e);
  color: var(--aw-text, #e5e7eb);
  padding: 6px 10px;
  border-radius: 10px;
  font-size: 12px;
  white-space: nowrap;
  border: 1px solid var(--aw-gold, #fbbf24);
  box-shadow: 0 2px 8px rgba(0,0,0,0.4);
  animation: aw-ap-bubble-in 0.25s ease;
  max-width: 180px;
  white-space: normal;
}
.aw-ap-bubble::after {
  content: '';
  position: absolute;
  right: -6px;
  top: 50%;
  transform: translateY(-50%);
  border: 6px solid transparent;
  border-left-color: var(--aw-gold, #fbbf24);
}
@keyframes aw-ap-bubble-in {
  from { opacity: 0; transform: translateY(4px); }
  to { opacity: 1; transform: translateY(0); }
}

/* ---------- 代理人信息弹窗 ---------- */
.aw-agent-info-modal {
  max-width: 360px !important;
  max-height: 85vh;
  overflow-y: auto;
}
.aw-agent-desc-block,
.aw-agent-skill-block,
.aw-agent-speech-block,
.aw-agent-events-block {
  margin-bottom: 12px;
  padding: 10px;
  background: rgba(255,255,255,0.04);
  border-radius: 8px;
  border-left: 3px solid var(--aw-gold, #fbbf24);
}
.aw-agent-desc-text {
  font-size: 13px;
  color: var(--aw-text, #e5e7eb);
  line-height: 1.6;
}
.aw-agent-skill-title,
.aw-agent-speech-title,
.aw-agent-events-title {
  font-size: 12px;
  font-weight: 700;
  color: var(--aw-gold, #fbbf24);
  margin-bottom: 4px;
  letter-spacing: 0.5px;
}
.aw-agent-skill-name,
.aw-agent-speech-name {
  font-size: 14px;
  font-weight: 700;
  color: #fef3c7;
  margin-bottom: 2px;
}
.aw-agent-skill-desc,
.aw-agent-speech-desc {
  font-size: 12px;
  color: var(--aw-text-light, #9ca3af);
  line-height: 1.5;
}
.aw-agent-speech-none {
  font-size: 12px;
  color: #6b7280;
  font-style: italic;
}
.aw-agent-events-none {
  font-size: 12px;
  color: #6b7280;
  font-style: italic;
  text-align: center;
  padding: 8px 0;
}
.aw-agent-events-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
  max-height: 120px;
  overflow-y: auto;
}
.aw-agent-event-item {
  padding: 6px 8px;
  background: rgba(255,255,255,0.03);
  border-radius: 6px;
}
.aw-agent-event-name {
  font-size: 12px;
  font-weight: 700;
  color: #fef3c7;
  margin-bottom: 2px;
}
.aw-agent-event-desc {
  font-size: 11px;
  color: var(--aw-text-light, #9ca3af);
  line-height: 1.4;
}

/* ---------- 每日训话弹窗 ---------- */
.aw-daily-speech-modal .aw-speech-quote {
  font-size: 15px;
  color: #fef3c7;
  line-height: 1.7;
  text-align: center;
  padding: 14px 10px;
  margin-bottom: 16px;
  background: rgba(251, 191, 36, 0.08);
  border-radius: 10px;
  border: 1px solid rgba(251, 191, 36, 0.2);
  font-style: italic;
}
.aw-btn-skip-speech {
  margin-top: 10px;
  width: 100%;
  padding: 10px;
  border: 1px dashed rgba(156, 163, 175, 0.4);
  background: transparent;
  color: #9ca3af;
  font-size: 13px;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s ease;
}
.aw-btn-skip-speech:hover {
  color: var(--aw-text, #e5e7eb);
  border-color: rgba(156, 163, 175, 0.7);
}

/* ---------- 半场训话弹窗 ---------- */
.aw-halftime-speech-overlay {
  backdrop-filter: blur(3px);
}
.aw-halftime-speech-modal .aw-halftime-modal-score {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 16px;
  margin-bottom: 14px;
  background: rgba(0,0,0,0.3);
  border-radius: 10px;
  border: 1px solid rgba(251, 191, 36, 0.2);
}
.aw-ht-team-name {
  font-size: 13px;
  font-weight: 700;
  color: var(--aw-text, #e5e7eb);
  flex: 1;
  text-align: center;
}
.aw-ht-score-val {
  font-size: 20px;
  font-weight: 900;
  color: var(--aw-gold, #fbbf24);
  flex: 1;
  text-align: center;
  text-shadow: 0 0 8px rgba(251, 191, 36, 0.4);
  letter-spacing: 1px;
}
.aw-halftime-speech-modal .aw-speech-quote {
  font-size: 15px;
  color: #fef3c7;
  line-height: 1.7;
  text-align: center;
  padding: 14px 10px;
  margin-bottom: 16px;
  background: rgba(251, 191, 36, 0.08);
  border-radius: 10px;
  border: 1px solid rgba(251, 191, 36, 0.2);
  font-style: italic;
}

/* ---------- 赛后点评弹窗 ---------- */
.aw-postmatch-overlay {
  backdrop-filter: blur(2px);
}
.aw-postmatch-modal .aw-postmatch-quote {
  font-size: 16px;
  color: #fef3c7;
  line-height: 1.7;
  text-align: center;
  padding: 16px 12px;
  margin-bottom: 12px;
  background: rgba(251, 191, 36, 0.08);
  border-radius: 10px;
  border: 1px solid rgba(251, 191, 36, 0.25);
  font-style: italic;
  font-weight: 600;
}
.aw-postmatch-modal.result-win .aw-postmatch-quote {
  border-color: rgba(74, 222, 128, 0.4);
  background: rgba(74, 222, 128, 0.06);
}
.aw-postmatch-modal.result-lose .aw-postmatch-quote {
  border-color: rgba(248, 113, 113, 0.4);
  background: rgba(248, 113, 113, 0.06);
}
.aw-postmatch-detail {
  font-size: 12px;
  color: var(--aw-text-light, #9ca3af);
  text-align: center;
  padding: 8px;
  background: rgba(255,255,255,0.04);
  border-radius: 8px;
  margin-bottom: 12px;
  line-height: 1.6;
}
.aw-postmatch-auto-close {
  font-size: 11px;
  color: #6b7280;
  text-align: center;
  animation: aw-postmatch-blink 1.5s ease-in-out infinite;
}
@keyframes aw-postmatch-blink {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.4; }
}

/* 训练结果面板的训话加成标签 */
.aw-training-result-speech-tag {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  color: #fcd34d;
  background: rgba(251, 191, 36, 0.15);
  border: 1px solid rgba(251, 191, 36, 0.3);
  padding: 3px 8px;
  border-radius: 6px;
  margin-bottom: 8px;
}

.aw-training-result-coach-tag {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  color: #93c5fd;
  background: rgba(96, 165, 250, 0.12);
  border: 1px solid rgba(96, 165, 250, 0.25);
  padding: 3px 8px;
  border-radius: 6px;
  margin-bottom: 8px;
  cursor: help;
  margin-left: 6px;
}

/* 下半场战术标签 */
.aw-live-halftime-tactic {
  font-size: 11px;
  color: #fcd34d;
  background: rgba(251, 191, 36, 0.12);
  border: 1px solid rgba(251, 191, 36, 0.25);
  padding: 2px 8px;
  border-radius: 10px;
  margin-left: auto;
  font-weight: 600;
}

/* ===== 选人模式选择 ===== */
.aw-draft-mode-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  max-width: 900px;
  margin: 40px auto;
  padding: 0 20px;
}

.aw-draft-mode-card {
  position: relative;
  background: linear-gradient(135deg, #1e1635 0%, #120c25 100%);
  border: 2px solid #3a2c5a;
  border-radius: 16px;
  padding: 36px 24px;
  text-align: center;
  cursor: pointer;
  transition: all 0.25s ease;
  overflow: hidden;
}

.aw-draft-mode-card:hover:not(.disabled) {
  border-color: #d4af37;
  transform: translateY(-4px);
  box-shadow: 0 8px 32px rgba(212, 175, 55, 0.2);
}

.aw-draft-mode-card.selected {
  border-color: #d4af37;
  background: linear-gradient(135deg, #2a1f4e 0%, #1a1030 100%);
  box-shadow: 0 4px 24px rgba(212, 175, 55, 0.25);
}

.aw-draft-mode-card.disabled {
  cursor: not-allowed;
  opacity: 0.55;
  filter: grayscale(0.4);
}

.aw-draft-mode-icon {
  font-size: 48px;
  margin-bottom: 16px;
}

.aw-draft-mode-name {
  font-size: 22px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 10px;
}

.aw-draft-mode-desc {
  font-size: 13px;
  color: #aaa;
  line-height: 1.6;
  min-height: 42px;
}

.aw-draft-mode-check {
  margin-top: 16px;
  color: #d4af37;
  font-size: 14px;
  font-weight: 600;
}

.aw-draft-mode-badge {
  position: absolute;
  top: 12px;
  right: 12px;
  background: rgba(100, 100, 120, 0.6);
  color: #ddd;
  font-size: 11px;
  padding: 4px 10px;
  border-radius: 20px;
  font-weight: 500;
}

@media (max-width: 720px) {
  .aw-draft-mode-grid {
    grid-template-columns: 1fr;
    gap: 16px;
    max-width: 420px;
    margin: 20px auto;
  }
  .aw-draft-mode-card {
    padding: 24px 20px;
  }
  .aw-draft-mode-icon {
    font-size: 36px;
    margin-bottom: 10px;
  }
  .aw-draft-mode-name {
    font-size: 18px;
  }
}

/* ===== 蛇形选人 ===== */
.aw-draft-body {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  padding: 16px 20px;
  max-width: 1200px;
  margin: 0 auto;
}

.aw-draft-sidebar {
  width: 260px;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.aw-draft-info-card {
  background: rgba(30, 22, 53, 0.8);
  border: 1px solid #3a2c5a;
  border-radius: 10px;
  padding: 12px 16px;
  text-align: center;
}

.aw-draft-info-label {
  font-size: 12px;
  color: #888;
  margin-bottom: 4px;
}

.aw-draft-info-value {
  font-size: 22px;
  font-weight: 700;
  color: #d4af37;
}

.aw-draft-teams {
  background: rgba(30, 22, 53, 0.8);
  border: 1px solid #3a2c5a;
  border-radius: 10px;
  padding: 12px;
}

.aw-draft-teams-label {
  font-size: 12px;
  color: #888;
  margin-bottom: 10px;
  text-align: center;
}

.aw-draft-team-row {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 8px;
  border-radius: 8px;
  margin-bottom: 4px;
  transition: all 0.2s;
}

.aw-draft-team-row.is-current {
  background: rgba(212, 175, 55, 0.15);
  border: 1px solid rgba(212, 175, 55, 0.4);
}

.aw-draft-team-row.is-player {
  background: rgba(100, 180, 255, 0.08);
}

.aw-draft-team-row.is-player.is-current {
  background: rgba(100, 180, 255, 0.18);
  border-color: rgba(100, 180, 255, 0.5);
}

.aw-draft-team-pos {
  width: 18px;
  font-size: 11px;
  color: #666;
  text-align: center;
}

.aw-draft-team-avatar {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  color: #fff;
  flex-shrink: 0;
}

.aw-draft-team-name {
  font-size: 13px;
  color: #ddd;
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.aw-draft-team-count {
  font-size: 10px;
  color: #888;
  letter-spacing: 1px;
}

.aw-draft-last-pick {
  background: rgba(30, 22, 53, 0.8);
  border: 1px solid #3a2c5a;
  border-radius: 10px;
  padding: 10px 14px;
  font-size: 12px;
  color: #bbb;
}

.aw-draft-last-pick.is-player {
  border-color: rgba(100, 180, 255, 0.4);
  background: rgba(100, 180, 255, 0.08);
}

.aw-draft-last-pick-label {
  display: block;
  font-size: 11px;
  color: #888;
  margin-bottom: 4px;
}

.aw-draft-last-pick-text b {
  color: #fff;
  font-weight: 600;
}

/* 右侧主区域 */
.aw-draft-main {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.aw-draft-current-team {
  display: flex;
  align-items: center;
  gap: 14px;
  background: linear-gradient(135deg, #2a1f4e 0%, #1a1030 100%);
  border: 2px solid #d4af37;
  border-radius: 12px;
  padding: 14px 20px;
}

.aw-draft-current-team.is-player {
  border-color: #64b4ff;
  background: linear-gradient(135deg, #1a2a4e 0%, #101a30 100%);
}

.aw-draft-current-avatar {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  color: #fff;
  flex-shrink: 0;
}

.aw-draft-current-info {
  flex: 1;
}

.aw-draft-current-name {
  font-size: 18px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 4px;
}

.aw-draft-current-sub {
  font-size: 13px;
  color: #aaa;
}

.aw-draft-thinking-dots {
  display: inline-block;
  margin-left: 4px;
}

.aw-draft-thinking-dots span {
  animation: awDraftBlink 1.4s infinite;
  display: inline-block;
}

.aw-draft-thinking-dots span:nth-child(2) {
  animation-delay: 0.2s;
}

.aw-draft-thinking-dots span:nth-child(3) {
  animation-delay: 0.4s;
}

@keyframes awDraftBlink {
  0%, 100% { opacity: 0.2; }
  50% { opacity: 1; }
}

/* 选人完成横幅 */
.aw-draft-complete-banner {
  display: flex;
  align-items: center;
  gap: 16px;
  background: linear-gradient(135deg, #1a3a2a 0%, #0f2518 100%);
  border: 2px solid #4ade80;
  border-radius: 12px;
  padding: 16px 24px;
}

.aw-draft-complete-icon {
  font-size: 32px;
}

.aw-draft-complete-title {
  font-size: 18px;
  font-weight: 700;
  color: #4ade80;
  margin-bottom: 2px;
}

.aw-draft-complete-desc {
  font-size: 13px;
  color: #9ca3af;
}

/* 队员列表 */
.aw-draft-player-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 10px;
  max-height: calc(100vh - 280px);
  overflow-y: auto;
  padding: 4px;
}

.aw-draft-player-card {
  display: flex;
  align-items: center;
  gap: 10px;
  background: linear-gradient(135deg, #1e1635 0%, #120c25 100%);
  border: 1.5px solid #3a2c5a;
  border-radius: 10px;
  padding: 8px 10px;
  transition: all 0.2s;
  position: relative;
}

.aw-draft-player-card.pickable {
  cursor: pointer;
  border-color: #5a4a80;
}

.aw-draft-player-card.pickable:hover {
  border-color: #d4af37;
  transform: translateY(-2px);
  box-shadow: 0 4px 16px rgba(212, 175, 55, 0.2);
}

.aw-draft-player-portrait {
  width: 40px;
  height: 40px;
  border-radius: 8px;
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  color: #333;
  font-weight: 600;
  flex-shrink: 0;
  overflow: hidden;
}

.aw-draft-player-info {
  flex: 1;
  min-width: 0;
}

.aw-draft-player-name {
  font-size: 14px;
  font-weight: 600;
  color: #fff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.aw-draft-player-meta {
  font-size: 11px;
  color: #aaa;
  display: flex;
  gap: 8px;
  margin-top: 2px;
}

.aw-draft-player-tier {
  font-weight: 600;
}

.aw-draft-player-overall {
  color: #888;
}

.aw-draft-pick-btn {
  color: #d4af37;
  font-size: 12px;
  font-weight: 600;
  flex-shrink: 0;
  padding: 4px 8px;
  border: 1px solid #d4af37;
  border-radius: 6px;
  background: rgba(212, 175, 55, 0.1);
}

/* 手机端适配 */
@media (max-width: 768px) {
  .aw-draft-body {
    flex-direction: column;
    padding: 12px;
    gap: 12px;
  }
  .aw-draft-sidebar {
    width: 100%;
    order: 2;
  }
  .aw-draft-main {
    order: 1;
    width: 100%;
  }
  .aw-draft-player-list {
    grid-template-columns: repeat(2, 1fr);
    max-height: 40vh;
  }
  .aw-draft-teams {
    display: none; /* 手机端隐藏完整队伍列表，只显示进度 */
  }
  .aw-draft-current-team {
    padding: 10px 14px;
  }
  .aw-draft-current-name {
    font-size: 15px;
  }
  .aw-draft-current-avatar {
    width: 40px;
    height: 40px;
    font-size: 15px;
  }
}

/* ===== 选人模式选择（draft-mode-cards） ===== */
.draft-mode-title-area {
  text-align: center;
  margin: 30px 0 20px;
}

.draft-mode-main-title {
  font-size: 28px;
  color: #fff;
  margin: 0 0 8px;
  font-weight: 700;
}

.draft-mode-subtitle {
  font-size: 14px;
  color: #999;
  margin: 0;
}

.draft-mode-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  max-width: 960px;
  margin: 20px auto 0;
  padding: 0 20px;
}

.draft-mode-card {
  position: relative;
  background: linear-gradient(135deg, #1e1635 0%, #120c25 100%);
  border: 2px solid #3a2c5a;
  border-radius: 16px;
  padding: 28px 24px;
  text-align: center;
  cursor: pointer;
  transition: all 0.25s ease;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.draft-mode-card:hover:not(.disabled) {
  border-color: #d4af37;
  transform: translateY(-4px);
  box-shadow: 0 8px 32px rgba(212, 175, 55, 0.2);
}

.draft-mode-card.selected {
  border-color: #d4af37;
  background: linear-gradient(135deg, #2a1f4e 0%, #1a1030 100%);
  box-shadow: 0 4px 24px rgba(212, 175, 55, 0.25);
}

.draft-mode-card.disabled {
  cursor: not-allowed;
  opacity: 0.6;
  filter: grayscale(0.5);
}

.draft-mode-card-header {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-bottom: 12px;
}

.draft-mode-icon {
  font-size: 42px;
}

.draft-mode-badge {
  font-size: 11px;
  padding: 4px 10px;
  border-radius: 20px;
  font-weight: 500;
  background: rgba(212, 175, 55, 0.15);
  color: #d4af37;
}

.draft-mode-card.disabled .draft-mode-badge {
  background: rgba(120, 120, 140, 0.3);
  color: #999;
}

.draft-mode-name {
  font-size: 20px;
  font-weight: 700;
  color: #fff;
  margin: 6px 0 8px;
}

.draft-mode-desc {
  font-size: 13px;
  color: #aaa;
  line-height: 1.6;
  min-height: 60px;
}

.draft-mode-select-btn {
  margin-top: 16px;
  padding: 8px 24px;
  border: 1.5px solid #5a4a80;
  border-radius: 20px;
  font-size: 13px;
  color: #ccc;
  transition: all 0.2s;
}

.draft-mode-select-btn.active {
  border-color: #d4af37;
  color: #d4af37;
  background: rgba(212, 175, 55, 0.1);
}

.draft-mode-coming-soon {
  margin-top: 16px;
  font-size: 13px;
  color: #888;
  font-weight: 500;
}

@media (max-width: 720px) {
  .draft-mode-cards {
    grid-template-columns: 1fr;
    gap: 16px;
    max-width: 420px;
    padding: 0 16px;
  }
  .draft-mode-main-title {
    font-size: 22px;
  }
  .draft-mode-desc {
    min-height: auto;
  }
}

/* ===== 蛇形选人界面 ===== */
.snake-draft-info-bar {
  display: flex;
  justify-content: center;
  gap: 30px;
  padding: 16px 24px;
  background: rgba(20, 14, 40, 0.6);
  border-bottom: 1px solid #2a1f4e;
}

.snake-draft-info-bar > div {
  text-align: center;
}

.sdr-label {
  font-size: 12px;
  color: #888;
  margin-bottom: 6px;
}

.snake-draft-round-info .sdr-rounds {
  display: flex;
  gap: 6px;
  justify-content: center;
}

.sdr-round-dot {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #2a1f4e;
  color: #666;
  font-size: 12px;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s;
}

.sdr-round-dot.done {
  background: #2d5a3d;
  color: #4ade80;
}

.sdr-round-dot.active {
  background: #d4af37;
  color: #1a1030;
  box-shadow: 0 0 12px rgba(212, 175, 55, 0.5);
}

.snake-draft-current-team .sct-agent {
  display: flex;
  align-items: center;
  gap: 8px;
}

.sct-avatar {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  object-fit: cover;
}

.sct-name {
  font-size: 16px;
  font-weight: 600;
  color: #fff;
}

.sct-player-tag {
  font-size: 11px;
  padding: 2px 8px;
  border-radius: 10px;
  background: rgba(100, 180, 255, 0.2);
  color: #64b4ff;
  margin-left: 4px;
}

.snake-draft-remaining .sdr-count {
  font-size: 22px;
  font-weight: 700;
  color: #d4af37;
}

/* 6队进度条 */
.snake-draft-team-progress {
  display: flex;
  justify-content: center;
  gap: 16px;
  padding: 14px 24px;
  background: rgba(30, 22, 53, 0.5);
  overflow-x: auto;
}

.sd-team-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  padding: 8px 12px;
  border-radius: 10px;
  transition: all 0.2s;
  min-width: 100px;
  opacity: 0.6;
}

.sd-team-item.current {
  background: rgba(212, 175, 55, 0.12);
  opacity: 1;
}

.sd-team-item.is-player {
  opacity: 1;
}

.sd-team-item.is-player.current {
  background: rgba(100, 180, 255, 0.15);
}

.sd-team-avatar-wrap {
  position: relative;
}

.sd-team-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid transparent;
}

.sd-team-item.current .sd-team-avatar {
  border-color: #d4af37;
}

.sd-team-item.is-player .sd-team-avatar {
  border-color: #64b4ff;
}

.sd-team-you {
  position: absolute;
  bottom: -4px;
  right: -4px;
  background: #64b4ff;
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  padding: 1px 5px;
  border-radius: 8px;
  line-height: 1.4;
}

.sd-team-name {
  font-size: 12px;
  color: #ddd;
  white-space: nowrap;
  max-width: 90px;
  overflow: hidden;
  text-overflow: ellipsis;
}

.sd-team-slots {
  display: flex;
  gap: 3px;
}

.sd-slot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #2a1f4e;
  border: 1px solid #3a2c5a;
}

.sd-slot.filled {
  background: #d4af37;
  border-color: #d4af37;
}

.sd-team-count {
  font-size: 11px;
  color: #888;
}

/* 主体双栏布局 */
.snake-draft-body {
  display: flex;
  gap: 16px;
  align-items: stretch;
  padding: 16px 24px;
  max-width: 1300px;
  margin: 0 auto;
}

.snake-draft-main-area {
  flex: 1;
  min-width: 0;
}

.snake-draft-section-title {
  font-size: 16px;
  font-weight: 600;
  color: #fff;
  margin-bottom: 14px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.sd-title-icon {
  font-size: 20px;
}

.snake-draft-player-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
  gap: 10px;
  max-height: calc(100vh - 380px);
  overflow-y: auto;
  padding: 2px;
}

.snake-draft-card {
  cursor: pointer;
  transition: all 0.2s !important;
}

.snake-draft-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 16px rgba(212, 175, 55, 0.25);
}

/* AI 选人动画 */
.snake-draft-ai-picking {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 60px 20px;
  min-height: 300px;
}

.sd-ai-agent-info {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  margin-bottom: 24px;
}

.sd-ai-avatar {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  object-fit: cover;
  border: 3px solid #d4af37;
  animation: sdPulse 1.5s ease-in-out infinite;
}

@keyframes sdPulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(212, 175, 55, 0.5); }
  50% { box-shadow: 0 0 0 12px rgba(212, 175, 55, 0); }
}

.sd-ai-name {
  font-size: 18px;
  font-weight: 600;
  color: #fff;
}

.sd-ai-thinking {
  text-align: center;
}

.sd-thinking-dots {
  display: flex;
  gap: 8px;
  justify-content: center;
  margin-bottom: 12px;
}

.sd-thinking-dots span {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #d4af37;
  animation: sdBounce 1.4s infinite ease-in-out both;
}

.sd-thinking-dots span:nth-child(1) { animation-delay: -0.32s; }
.sd-thinking-dots span:nth-child(2) { animation-delay: -0.16s; }

@keyframes sdBounce {
  0%, 80%, 100% { transform: scale(0.6); opacity: 0.4; }
  40% { transform: scale(1); opacity: 1; }
}

.sd-thinking-text {
  font-size: 14px;
  color: #aaa;
}

.sd-ai-picked-result {
  text-align: center;
  animation: sdFadeInUp 0.3s ease;
}

@keyframes sdFadeInUp {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

.sd-pick-label {
  font-size: 13px;
  color: #888;
  margin-bottom: 8px;
}

.sd-picked-player-name {
  font-size: 24px;
  font-weight: 700;
  color: #d4af37;
  margin-bottom: 4px;
}

.sd-picked-player-overall {
  font-size: 14px;
  color: #aaa;
}

/* 选人完成 */
.snake-draft-complete {
  text-align: center;
  padding: 60px 20px;
}

.sd-complete-icon {
  font-size: 48px;
  margin-bottom: 16px;
}

.sd-complete-title {
  font-size: 24px;
  font-weight: 700;
  color: #4ade80;
  margin: 0 0 8px;
}

.sd-complete-desc {
  font-size: 14px;
  color: #9ca3af;
  margin: 0;
}

/* 右侧面板 */
.snake-draft-side-panel {
  width: 280px;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.sd-side-section {
  background: rgba(30, 22, 53, 0.8);
  border: 1px solid #3a2c5a;
  border-radius: 12px;
  padding: 14px;
}

.sd-side-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 14px;
  font-weight: 600;
  color: #ddd;
  margin-bottom: 10px;
  padding-bottom: 8px;
  border-bottom: 1px solid #2a1f4e;
}

.sd-side-count {
  font-size: 12px;
  color: #d4af37;
  font-weight: 500;
}

.sd-my-team-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.sd-my-team-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 10px;
  border: 1px solid #3a2c5a;
  border-radius: 8px;
  background: rgba(20, 14, 40, 0.5);
  font-size: 13px;
}

.sd-mti-pick {
  font-size: 11px;
  color: #666;
  flex-shrink: 0;
}

.sd-mti-name {
  flex: 1;
  color: #eee;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.sd-mti-ovr {
  font-size: 12px;
  font-weight: 600;
  flex-shrink: 0;
}

.sd-empty-hint {
  font-size: 12px;
  color: #666;
  text-align: center;
  padding: 12px 0;
}

/* 选人日志 */
.sd-draft-log-section {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

.sd-draft-log {
  flex: 1;
  overflow-y: auto;
  max-height: 280px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.sd-log-item {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  padding: 4px 6px;
  border-radius: 6px;
  color: #aaa;
}

.sd-log-item.is-player {
  background: rgba(100, 180, 255, 0.1);
  color: #ddd;
}

.sd-log-round {
  font-size: 10px;
  color: #666;
  flex-shrink: 0;
  width: 24px;
}

.sd-log-agent {
  color: #ccc;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 60px;
  flex-shrink: 0;
}

.sd-log-arrow {
  color: #555;
  flex-shrink: 0;
}

.sd-log-player {
  flex: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  color: #eee;
}

/* 底部按钮区 */
.snake-draft-footer-right {
  display: flex;
  gap: 12px;
  align-items: center;
}

/* 手机端适配 */
@media (max-width: 768px) {
  .snake-draft-info-bar {
    gap: 16px;
    padding: 12px 16px;
    flex-wrap: wrap;
  }
  .snake-draft-team-progress {
    gap: 8px;
    padding: 10px 12px;
  }
  .sd-team-item {
    min-width: 70px;
    padding: 6px 8px;
  }
  .sd-team-name {
    display: none;
  }
  .snake-draft-body {
    flex-direction: column;
    padding: 12px 16px;
  }
  .snake-draft-side-panel {
    width: 100%;
    order: -1;
  }
  .sd-draft-log-section {
    display: none;
  }
  .snake-draft-player-grid {
    grid-template-columns: repeat(2, 1fr);
    max-height: 50vh;
  }
  .snake-draft-footer-right {
    flex: 1;
    justify-content: flex-end;
  }
}
