/* AimRun UI refactor phase 1: Apple-style glass app shell, controls, cards, navigation. */
:root {
  --ar-bg: #eef3f6;
  --ar-surface: rgba(255, 255, 255, 0.68);
  --ar-surface-solid: #ffffff;
  --ar-surface-soft: rgba(255, 255, 255, 0.48);
  --ar-glass-strong: rgba(255, 255, 255, 0.76);
  --ar-glass-muted: rgba(248, 250, 252, 0.58);
  --ar-border: rgba(255, 255, 255, 0.68);
  --ar-border-strong: rgba(148, 163, 184, 0.42);
  --ar-text: #142033;
  --ar-muted: #66758a;
  /* Unified brand green (single source of truth, matches <meta theme-color>) */
  --ar-primary: #16a34a;
  --ar-primary-strong: #15803d;
  --ar-primary-soft: rgba(220, 252, 231, 0.82);
  --ar-sky: #2f6fcb;
  --ar-amber: #a36b16;
  --ar-danger: #bc3f3f;
  /* Unified radius scale: cards use --ar-radius, pills use 999px, small controls --ar-radius-sm */
  --ar-radius: 14px;
  --ar-radius-sm: 10px;
  --ar-shadow-sm: 0 1px 1px rgba(255, 255, 255, 0.62) inset, 0 8px 22px rgba(15, 23, 42, 0.06);
  --ar-shadow-md: 0 1px 1px rgba(255, 255, 255, 0.72) inset, 0 18px 46px rgba(15, 23, 42, 0.11);
  --ar-blur: blur(22px) saturate(170%);
}

html {
  background: var(--ar-bg);
  color: var(--ar-text);
  letter-spacing: 0;
}

body.aimrun-ui-v88 {
  background:
    linear-gradient(145deg, #eef6f5 0%, #f7f9fb 42%, #edf2f7 100%);
  background-attachment: fixed;
  color: var(--ar-text);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans SC", "Microsoft YaHei", Arial, sans-serif;
}

.aimrun-ui-v88.aimrun-booting #appBottomNav .app-tab-btn,
.aimrun-ui-v88.aimrun-booting #appBottomNav .app-tab-btn::before,
.aimrun-ui-v88.aimrun-booting #appBottomNav .tab-icon-wrap,
.aimrun-ui-v88.aimrun-booting .v6-app-page {
  animation: none !important;
  transition: none !important;
}

.aimrun-ui-v88.aimrun-booting #appBottomNav {
  transform: translateZ(0);
}

.aimrun-ui-v88 .aimrun-topbar {
  max-width: 768px;
  margin: 0 auto;
  padding: 14px 16px 8px !important;
  justify-content: space-between !important;
}

.aimrun-ui-v88 .aimrun-topbar > * {
  border-radius: 999px !important;
  border-width: 1px !important;
  border-color: var(--ar-border) !important;
  background: rgba(255, 255, 255, 0.52) !important;
  -webkit-backdrop-filter: var(--ar-blur);
  backdrop-filter: var(--ar-blur);
  box-shadow: var(--ar-shadow-sm) !important;
}

.aimrun-ui-v88 .aimrun-hero {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: end;
  gap: 12px;
  text-align: left !important;
  padding-top: 8px !important;
  padding-bottom: 16px !important;
}

.aimrun-ui-v88 #heroTitle {
  margin-bottom: 6px !important;
  color: var(--ar-text) !important;
  font-size: clamp(28px, 5vw, 38px) !important;
  line-height: 1.12 !important;
  letter-spacing: 0 !important;
}

.aimrun-ui-v88 #heroDesc {
  color: var(--ar-muted) !important;
  font-size: 14px !important;
}

.aimrun-ui-v88 .vdot-entrance {
  grid-column: 2;
  grid-row: 1 / span 2;
  margin: 0 !important;
  min-width: 96px;
  justify-content: center;
  border-radius: var(--ar-radius) !important;
  border-color: rgba(255, 255, 255, 0.72) !important;
  background: rgba(236, 253, 245, 0.64) !important;
  -webkit-backdrop-filter: var(--ar-blur);
  backdrop-filter: var(--ar-blur);
  box-shadow: var(--ar-shadow-sm) !important;
}

.aimrun-ui-v88 .aimrun-command-center {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.72);
  border-radius: var(--ar-radius);
  background: rgba(255, 255, 255, 0.58);
  -webkit-backdrop-filter: var(--ar-blur);
  backdrop-filter: var(--ar-blur);
  box-shadow: var(--ar-shadow-md);
  padding: 14px;
}

.aimrun-ui-v88 .aimrun-command-center::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.58), rgba(255, 255, 255, 0.12));
}

.aimrun-ui-v88 .aimrun-command-head,
.aimrun-ui-v88 .aimrun-status-grid,
.aimrun-ui-v88 .aimrun-stage-strip {
  position: relative;
  z-index: 1;
}

.aimrun-ui-v88 .aimrun-command-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}

.aimrun-ui-v88 .aimrun-kicker {
  color: var(--ar-primary);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0;
}

.aimrun-ui-v88 .aimrun-command-title {
  color: var(--ar-text);
  font-size: 18px;
  font-weight: 800;
  line-height: 1.15;
}

.aimrun-ui-v88 .aimrun-status-pill {
  flex: 0 0 auto;
  border: 1px solid rgba(255, 255, 255, 0.74);
  border-radius: 999px;
  background: rgba(236, 253, 245, 0.72);
  color: var(--ar-primary-strong);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.64) inset;
  padding: 7px 10px;
  font-size: 12px;
  font-weight: 700;
}

.aimrun-ui-v88 .aimrun-status-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.aimrun-ui-v88 .aimrun-status-card {
  min-width: 0;
  border: 1px solid rgba(255, 255, 255, 0.62);
  border-radius: var(--ar-radius);
  background: rgba(255, 255, 255, 0.46);
  -webkit-backdrop-filter: blur(12px) saturate(150%);
  backdrop-filter: blur(12px) saturate(150%);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.58) inset;
  padding: 10px;
}

.aimrun-ui-v88 .aimrun-status-label {
  color: var(--ar-muted);
  font-size: 11px;
  font-weight: 650;
}

.aimrun-ui-v88 .aimrun-status-value {
  margin-top: 4px;
  color: var(--ar-text);
  font-size: 16px;
  font-weight: 800;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.aimrun-ui-v88 .aimrun-status-sub {
  margin-top: 2px;
  color: #7b8797;
  font-size: 11px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.aimrun-ui-v88 .aimrun-stage-strip {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
  margin-top: 12px;
}

.aimrun-ui-v88 .aimrun-stage-strip span {
  display: block;
  height: 3px;
  border-radius: 999px;
  background: rgba(148, 163, 184, 0.28);
  transition: background-color 0.18s ease, box-shadow 0.18s ease;
}

.aimrun-ui-v88 .aimrun-stage-strip span.is-active {
  background: rgba(19, 136, 91, 0.82);
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.72) inset, 0 4px 12px rgba(19, 136, 91, 0.18);
}

.aimrun-ui-v88 .aimrun-config-card,
.aimrun-ui-v88 #results > div,
.aimrun-ui-v88 #hrZonesCard,
.aimrun-ui-v88 #progressSection,
.aimrun-ui-v88 #trainingCharts > div,
.aimrun-ui-v88 .week-card,
.aimrun-ui-v88 .pace-card,
.aimrun-ui-v88 .summary-card,
.aimrun-ui-v88 #workoutRecordPanel .rounded-xl,
.aimrun-ui-v88 #workoutRecordPanel .rounded-2xl {
  border: 1px solid var(--ar-border) !important;
  border-radius: var(--ar-radius) !important;
  box-shadow: var(--ar-shadow-sm) !important;
  background: var(--ar-surface) !important;
  -webkit-backdrop-filter: var(--ar-blur);
  backdrop-filter: var(--ar-blur);
}

.aimrun-ui-v88 .aimrun-config-card {
  padding: 18px !important;
  box-shadow: var(--ar-shadow-md) !important;
  background: rgba(255, 255, 255, 0.62) !important;
}

.aimrun-ui-v88 .aimrun-core-section {
  position: relative;
  margin-bottom: 12px !important;
  border: 1px solid rgba(255, 255, 255, 0.62);
  border-radius: var(--ar-radius);
  background: rgba(255, 255, 255, 0.38);
  -webkit-backdrop-filter: blur(14px) saturate(150%);
  backdrop-filter: blur(14px) saturate(150%);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.58) inset;
  padding: 12px !important;
}

.aimrun-ui-v88 .aimrun-core-section > label:first-child,
.aimrun-ui-v88 .aimrun-core-section > h3:first-child,
/* When ensureLabel() has inserted the .aimrun-section-label, the original
   label/h3 is no longer :first-child — hide it here too so it doesn't duplicate
   (e.g. the doubled "训练周期" in step 2). */
.aimrun-ui-v88 .aimrun-core-section > .aimrun-section-label + label,
.aimrun-ui-v88 .aimrun-core-section > .aimrun-section-label + h3 {
  display: none !important;
}

.aimrun-ui-v88 .aimrun-section-label {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.aimrun-ui-v88 .aimrun-section-title {
  color: var(--ar-text);
  font-size: 14px;
  font-weight: 800;
  line-height: 1.2;
}

.aimrun-ui-v88 .aimrun-section-sub {
  max-width: 50%;
  color: var(--ar-muted);
  font-size: 11px;
  line-height: 1.25;
  text-align: right;
}

.aimrun-ui-v88 .aimrun-advanced-drawer {
  margin: 12px 0 0;
  border: 1px solid rgba(255, 255, 255, 0.68);
  border-radius: var(--ar-radius);
  background: rgba(255, 255, 255, 0.48);
  -webkit-backdrop-filter: var(--ar-blur);
  backdrop-filter: var(--ar-blur);
  box-shadow: var(--ar-shadow-sm);
  overflow: hidden;
}

.aimrun-ui-v88 .aimrun-advanced-summary {
  display: flex;
  min-height: 54px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  cursor: pointer;
  list-style: none;
  padding: 10px 12px;
  user-select: none;
}

.aimrun-ui-v88 .aimrun-advanced-summary::-webkit-details-marker {
  display: none;
}

.aimrun-ui-v88 .aimrun-advanced-summary strong {
  display: block;
  color: var(--ar-text);
  font-size: 14px;
  line-height: 1.2;
}

.aimrun-ui-v88 .aimrun-advanced-summary small {
  display: block;
  margin-top: 3px;
  color: var(--ar-muted);
  font-size: 11px;
  line-height: 1.25;
}

.aimrun-ui-v88 .aimrun-summary-chevron {
  display: inline-flex;
  width: 28px;
  height: 28px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255, 255, 255, 0.62);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.52);
  color: var(--ar-muted);
  font-size: 16px;
  transition: transform 0.18s ease;
}

.aimrun-ui-v88 .aimrun-advanced-drawer[open] .aimrun-summary-chevron {
  transform: rotate(180deg);
}

.aimrun-ui-v88 .aimrun-advanced-content {
  display: grid;
  gap: 10px;
  border-top: 1px solid rgba(226, 232, 240, 0.72);
  padding: 10px;
}

.aimrun-ui-v88 .aimrun-advanced-section {
  margin: 0 !important;
  border: 1px solid rgba(255, 255, 255, 0.56) !important;
  border-radius: var(--ar-radius) !important;
  background: rgba(255, 255, 255, 0.38) !important;
  box-shadow: none !important;
}

.aimrun-ui-v88 .aimrun-advanced-section.border-t {
  border-top-width: 1px !important;
  padding: 12px !important;
}

.aimrun-ui-v88 .cycle-mode-selector,
.aimrun-ui-v88 .training-system-selector,
.aimrun-ui-v88 #daySelector,
.aimrun-ui-v88 #studentConfig,
.aimrun-ui-v88 #rRunOption,
.aimrun-ui-v88 #crossTrainingOption,
.aimrun-ui-v88 #weeklyVolumeOption,
.aimrun-ui-v88 #dailyTrackingStatus {
  border: 1px solid var(--ar-border) !important;
  border-radius: var(--ar-radius) !important;
  background: var(--ar-surface-soft) !important;
  -webkit-backdrop-filter: blur(16px) saturate(150%);
  backdrop-filter: blur(16px) saturate(150%);
  box-shadow: none !important;
}

.aimrun-ui-v88 input,
.aimrun-ui-v88 select,
.aimrun-ui-v88 textarea {
  min-height: 40px;
  border: 1px solid var(--ar-border-strong) !important;
  border-radius: var(--ar-radius) !important;
  background: rgba(255, 255, 255, 0.72) !important;
  color: var(--ar-text) !important;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.7) inset !important;
  -webkit-backdrop-filter: blur(12px) saturate(145%);
  backdrop-filter: blur(12px) saturate(145%);
  transition: border-color 0.16s ease, box-shadow 0.16s ease, background-color 0.16s ease;
}

.aimrun-ui-v88 input:focus,
.aimrun-ui-v88 select:focus,
.aimrun-ui-v88 textarea:focus {
  border-color: var(--ar-primary) !important;
  background: rgba(255, 255, 255, 0.9) !important;
  box-shadow: 0 0 0 3px rgba(21, 145, 95, 0.13), 0 1px 0 rgba(255, 255, 255, 0.82) inset !important;
  outline: none !important;
}

.aimrun-ui-v88 button {
  border-radius: var(--ar-radius) !important;
}

.aimrun-ui-v88 #generateBtn {
  min-height: 52px;
  margin-top: 14px !important;
  background: rgba(19, 136, 91, 0.92) !important;
  border: 1px solid rgba(255, 255, 255, 0.28) !important;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.28) inset, 0 14px 30px rgba(19, 136, 91, 0.22) !important;
  -webkit-backdrop-filter: blur(14px) saturate(160%);
  backdrop-filter: blur(14px) saturate(160%);
}

.aimrun-ui-v88 #generateBtn:hover {
  background: var(--ar-primary-strong) !important;
}

.aimrun-ui-v88 .distance-btn,
.aimrun-ui-v88 .week-btn,
.aimrun-ui-v88 .student-day-btn,
.aimrun-ui-v88 .day-chip {
  min-height: 38px;
  border-width: 1px !important;
  border-color: var(--ar-border-strong) !important;
  background: rgba(255, 255, 255, 0.55) !important;
  color: var(--ar-text) !important;
  -webkit-backdrop-filter: blur(12px) saturate(145%);
  backdrop-filter: blur(12px) saturate(145%);
}

.aimrun-ui-v88 .distance-btn.active,
.aimrun-ui-v88 .week-btn.active,
.aimrun-ui-v88 .week-btn.bg-primary,
.aimrun-ui-v88 #modeBoth.bg-primary,
.aimrun-ui-v88 .day-checkbox:checked + .day-chip,
.aimrun-ui-v88 .student-day:checked + .student-day-btn {
  border-color: var(--ar-primary) !important;
  background: rgba(222, 247, 234, 0.78) !important;
  color: var(--ar-primary-strong) !important;
  box-shadow: inset 0 0 0 1px rgba(21, 145, 95, 0.16), 0 8px 18px rgba(15, 23, 42, 0.05) !important;
}

.aimrun-ui-v88 .pace-card {
  padding: 14px !important;
  text-align: left !important;
  min-height: 92px;
}

.aimrun-ui-v88 .pace-card > div:first-child,
.aimrun-ui-v88 .summary-card .card-label {
  color: var(--ar-muted) !important;
  font-size: 12px !important;
}

.aimrun-ui-v88 .pace-card [id^="pace"] {
  color: var(--ar-text) !important;
  font-size: 20px !important;
  line-height: 1.25 !important;
}

.aimrun-ui-v88 .week-card {
  overflow: hidden;
  transition: border-color 0.18s ease, box-shadow 0.18s ease;
}

.aimrun-ui-v88 #results {
  padding-bottom: 92px;
}

.aimrun-ui-v88 #results > .grid.grid-cols-2 {
  gap: 10px !important;
}

.aimrun-ui-v88 .aimrun-plan-overview {
  margin-bottom: 12px;
  border: 1px solid rgba(255, 255, 255, 0.7);
  border-radius: var(--ar-radius);
  background: rgba(255, 255, 255, 0.58);
  -webkit-backdrop-filter: var(--ar-blur);
  backdrop-filter: var(--ar-blur);
  box-shadow: var(--ar-shadow-md);
  padding: 14px;
}

.aimrun-ui-v88 .aimrun-plan-overview[hidden] {
  display: none !important;
}

.aimrun-ui-v88 .aimrun-plan-overview-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}

.aimrun-ui-v88 .aimrun-plan-title {
  color: var(--ar-text);
  font-size: 18px;
  font-weight: 800;
  line-height: 1.15;
}

.aimrun-ui-v88 .aimrun-plan-stat-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.aimrun-ui-v88 .aimrun-plan-stat-grid > div {
  min-width: 0;
  border: 1px solid rgba(255, 255, 255, 0.6);
  border-radius: var(--ar-radius);
  background: rgba(255, 255, 255, 0.42);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.56) inset;
  padding: 10px;
}

.aimrun-ui-v88 .aimrun-plan-stat-grid span {
  display: block;
  color: var(--ar-muted);
  font-size: 11px;
  font-weight: 650;
}

.aimrun-ui-v88 .aimrun-plan-stat-grid strong {
  display: block;
  margin-top: 4px;
  color: var(--ar-text);
  font-size: 16px;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.aimrun-ui-v88 #weekSchedule {
  gap: 12px !important;
}

.aimrun-ui-v88 #weekSchedule.aimrun-plan-timeline {
  display: grid;
  gap: 12px;
}

.aimrun-ui-v88 .aimrun-plan-week {
  border-color: rgba(255, 255, 255, 0.7) !important;
  background: rgba(255, 255, 255, 0.56) !important;
  -webkit-backdrop-filter: var(--ar-blur);
  backdrop-filter: var(--ar-blur);
}

.aimrun-ui-v88 .aimrun-plan-week-head {
  min-height: 56px;
  padding: 12px 14px !important;
}

.aimrun-ui-v88 .aimrun-plan-week .week-content {
  position: relative;
  display: grid;
  gap: 8px;
  padding: 12px 12px 12px 22px !important;
}

.aimrun-ui-v88 .aimrun-plan-week .week-content::before {
  content: '';
  position: absolute;
  left: 21px;
  top: 18px;
  bottom: 18px;
  width: 1px;
  background: rgba(148, 163, 184, 0.34);
}

.aimrun-ui-v88 .aimrun-timeline-day {
  position: relative;
  margin: 0 !important;
  border: 1px solid rgba(255, 255, 255, 0.58);
  border-radius: var(--ar-radius);
  background: rgba(255, 255, 255, 0.46);
  -webkit-backdrop-filter: blur(12px) saturate(145%);
  backdrop-filter: blur(12px) saturate(145%);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.52) inset;
  padding: 11px 12px 11px 18px !important;
}

.aimrun-ui-v88 .aimrun-timeline-day::before {
  content: '';
  position: absolute;
  left: -9px;
  top: 18px;
  width: 11px;
  height: 11px;
  border: 2px solid rgba(255, 255, 255, 0.86);
  border-radius: 999px;
  background: #13885b;
  box-shadow: 0 4px 12px rgba(19, 136, 91, 0.22);
}

.aimrun-ui-v88 .aimrun-timeline-day[data-kind="easy"]::before { background: #22a06b; }
.aimrun-ui-v88 .aimrun-timeline-day[data-kind="tempo"]::before { background: #2f6fcb; box-shadow: 0 4px 12px rgba(47, 111, 203, 0.22); }
.aimrun-ui-v88 .aimrun-timeline-day[data-kind="interval"]::before { background: #8b5cf6; box-shadow: 0 4px 12px rgba(139, 92, 246, 0.22); }
.aimrun-ui-v88 .aimrun-timeline-day[data-kind="long"]::before { background: #d97706; box-shadow: 0 4px 12px rgba(217, 119, 6, 0.22); }
.aimrun-ui-v88 .aimrun-timeline-day[data-kind="strength"]::before { background: #475569; box-shadow: 0 4px 12px rgba(71, 85, 105, 0.2); }
.aimrun-ui-v88 .aimrun-timeline-day[data-kind="race"]::before { background: #dc2626; box-shadow: 0 4px 12px rgba(220, 38, 38, 0.24); }
.aimrun-ui-v88 .aimrun-timeline-day[data-kind="rest"]::before { background: #94a3b8; box-shadow: none; }

.aimrun-ui-v88 .week-card:hover,
.aimrun-ui-v88 .pace-card:hover,
.aimrun-ui-v88 .summary-card:hover {
  transform: none !important;
  border-color: #b8c4d2 !important;
  box-shadow: var(--ar-shadow-md) !important;
}

.aimrun-ui-v88 .week-header {
  background: rgba(248, 250, 252, 0.46) !important;
  border-bottom: 1px solid rgba(226, 232, 240, 0.72);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  backdrop-filter: blur(14px) saturate(140%);
}

.aimrun-ui-v88 .day-item {
  border-radius: 6px;
}

.aimrun-ui-v88 .day-item:hover {
  transform: none !important;
  background: rgba(255, 255, 255, 0.46) !important;
}

.aimrun-ui-v88 #appBottomNav {
  border-top: 1px solid rgba(255, 255, 255, 0.76) !important;
  background: rgba(255, 255, 255, 0.64) !important;
  box-shadow: 0 -1px 0 rgba(255, 255, 255, 0.62) inset, 0 -18px 34px rgba(15, 23, 42, 0.09) !important;
  -webkit-backdrop-filter: blur(24px) saturate(180%);
  backdrop-filter: blur(24px) saturate(180%);
}

.aimrun-ui-v88 #appBottomNav .app-tab-btn {
  min-height: 58px;
  color: var(--ar-muted) !important;
}

.aimrun-ui-v88 #appBottomNav .app-tab-btn.v6-tab-active {
  color: var(--ar-primary) !important;
}

.aimrun-ui-v88 #appBottomNav .app-tab-btn::before {
  top: 0 !important;
  height: 2px !important;
  border-radius: 0 0 999px 999px;
  background: var(--ar-primary) !important;
}

.aimrun-ui-v88 #workoutRecordPanel {
  background: linear-gradient(145deg, #eef6f5 0%, #f7f9fb 42%, #edf2f7 100%) !important;
}

.aimrun-ui-v88 #workoutRecordPanel h2 {
  color: var(--ar-text) !important;
  font-size: 22px !important;
}

.aimrun-ui-v88 .aimrun-record-dashboard {
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr);
  align-items: center;
  gap: 14px;
  margin: 12px 0 14px;
  border: 1px solid rgba(255, 255, 255, 0.72);
  border-radius: var(--ar-radius);
  background: rgba(255, 255, 255, 0.58);
  -webkit-backdrop-filter: var(--ar-blur);
  backdrop-filter: var(--ar-blur);
  box-shadow: var(--ar-shadow-md);
  padding: 14px;
}

.aimrun-ui-v88 .aimrun-record-ring {
  position: relative;
  width: 104px;
  height: 104px;
  border-radius: 999px;
  background:
    conic-gradient(#22c55e 0 var(--ring-a), rgba(34, 197, 94, 0.14) var(--ring-a) 360deg);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.72) inset, 0 16px 28px rgba(15, 23, 42, 0.1);
}

.aimrun-ui-v88 .aimrun-record-ring::before,
.aimrun-ui-v88 .aimrun-record-ring::after {
  content: '';
  position: absolute;
  inset: 12px;
  border-radius: inherit;
}

.aimrun-ui-v88 .aimrun-record-ring::before {
  background:
    conic-gradient(#0ea5e9 0 var(--ring-b), rgba(14, 165, 233, 0.15) var(--ring-b) 360deg);
}

.aimrun-ui-v88 .aimrun-record-ring::after {
  inset: 24px;
  background:
    conic-gradient(#f59e0b 0 var(--ring-c), rgba(245, 158, 11, 0.16) var(--ring-c) 360deg);
}

.aimrun-ui-v88 .aimrun-record-ring > div {
  position: absolute;
  inset: 36px;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-radius: inherit;
  background: rgba(255, 255, 255, 0.86);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.72) inset;
}

.aimrun-ui-v88 .aimrun-record-ring strong {
  color: var(--ar-text);
  font-size: 17px;
  line-height: 1;
}

.aimrun-ui-v88 .aimrun-record-ring span {
  color: var(--ar-muted);
  font-size: 10px;
  line-height: 1.2;
}

.aimrun-ui-v88 .aimrun-record-title {
  color: var(--ar-text);
  font-size: 20px;
  font-weight: 850;
  line-height: 1.15;
}

.aimrun-ui-v88 .aimrun-record-sub {
  margin-top: 5px;
  color: var(--ar-muted);
  font-size: 12px;
  line-height: 1.45;
}

.aimrun-ui-v88 .aimrun-record-statline {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}

.aimrun-ui-v88 .aimrun-record-statline span {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  border: 1px solid rgba(255, 255, 255, 0.58);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.46);
  color: var(--ar-muted);
  padding: 6px 8px;
  font-size: 11px;
}

.aimrun-ui-v88 .aimrun-record-statline b {
  color: var(--ar-text);
}

.aimrun-ui-v88 #workoutMap,
.aimrun-ui-v88 #workoutDetailMap {
  border-radius: var(--ar-radius) var(--ar-radius) 0 0;
}

.aimrun-ui-v88 #trackStartBtn,
.aimrun-ui-v88 #workoutSaveBtn {
  background: rgba(19, 136, 91, 0.92) !important;
  border: 1px solid rgba(255, 255, 255, 0.32) !important;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.3) inset, 0 12px 22px rgba(19, 136, 91, 0.15) !important;
}

.aimrun-ui-v88 #trackPauseBtn,
.aimrun-ui-v88 #trackFinishBtn,
.aimrun-ui-v88 #workoutExportBtn,
.aimrun-ui-v88 .workout-detail,
.aimrun-ui-v88 .workout-delete {
  background: rgba(255, 255, 255, 0.54) !important;
  border: 1px solid rgba(255, 255, 255, 0.62) !important;
  -webkit-backdrop-filter: blur(12px) saturate(145%);
  backdrop-filter: blur(12px) saturate(145%);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.58) inset !important;
}

.aimrun-ui-v88 #workoutRecordList {
  display: grid;
  gap: 10px;
}

.aimrun-ui-v88 #workoutRecordList > div {
  position: relative;
  overflow: hidden;
}

.aimrun-ui-v88 #workoutRecordList > div::before {
  content: '';
  position: absolute;
  left: 0;
  top: 12px;
  bottom: 12px;
  width: 3px;
  border-radius: 0 999px 999px 0;
  background: rgba(19, 136, 91, 0.68);
}

.aimrun-ui-v88 #profilePanel {
  background: linear-gradient(145deg, #eef6f5 0%, #f7f9fb 42%, #edf2f7 100%) !important;
}

.aimrun-ui-v88 .aimrun-profile-page {
  color: var(--ar-text);
}

.aimrun-ui-v88 .aimrun-profile-dashboard {
  margin: 10px 0 14px;
  border: 1px solid rgba(255, 255, 255, 0.74);
  border-radius: var(--ar-radius);
  background: rgba(255, 255, 255, 0.6);
  -webkit-backdrop-filter: var(--ar-blur);
  backdrop-filter: var(--ar-blur);
  box-shadow: var(--ar-shadow-md);
  padding: 14px;
}

.aimrun-ui-v88 .aimrun-profile-hero {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}

.aimrun-ui-v88 .aimrun-profile-avatar {
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  border-radius: 50%;
  background:
    radial-gradient(circle at 35% 28%, rgba(255, 255, 255, 0.96), rgba(255, 255, 255, 0.28) 38%),
    linear-gradient(145deg, rgba(19, 136, 91, 0.95), rgba(47, 111, 203, 0.88));
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.64) inset, 0 14px 28px rgba(15, 23, 42, 0.13);
  color: #ffffff;
  font-size: 24px;
  font-weight: 850;
}

.aimrun-ui-v88 .aimrun-profile-copy {
  min-width: 0;
}

.aimrun-ui-v88 .aimrun-profile-name {
  color: var(--ar-text);
  font-size: 20px;
  font-weight: 850;
  line-height: 1.18;
}

.aimrun-ui-v88 .aimrun-profile-sub {
  margin-top: 4px;
  color: var(--ar-muted);
  font-size: 12px;
  line-height: 1.45;
  word-break: break-word;
}

.aimrun-ui-v88 .aimrun-profile-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 12px;
}

.aimrun-ui-v88 .aimrun-profile-grid > div {
  min-width: 0;
  border: 1px solid rgba(255, 255, 255, 0.62);
  border-radius: var(--ar-radius);
  background: rgba(255, 255, 255, 0.44);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.58) inset;
  padding: 10px;
}

.aimrun-ui-v88 .aimrun-profile-grid span {
  display: block;
  color: var(--ar-muted);
  font-size: 11px;
  font-weight: 650;
  line-height: 1.2;
}

.aimrun-ui-v88 .aimrun-profile-grid strong {
  display: block;
  min-height: 20px;
  margin-top: 4px;
  overflow: hidden;
  color: var(--ar-text);
  font-size: 14px;
  font-weight: 800;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.aimrun-ui-v88 .aimrun-settings-list {
  display: grid;
  gap: 8px;
}

.aimrun-ui-v88 .aimrun-settings-list button {
  position: relative;
  display: grid;
  grid-template-columns: minmax(84px, auto) minmax(0, 1fr) 16px;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: 48px;
  border: 1px solid rgba(255, 255, 255, 0.62);
  border-radius: var(--ar-radius);
  background: rgba(255, 255, 255, 0.46);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.58) inset;
  color: var(--ar-text);
  padding: 9px 10px;
  text-align: left;
}

.aimrun-ui-v88 .aimrun-settings-list button::after {
  content: '>';
  justify-self: end;
  color: rgba(102, 117, 138, 0.7);
  font-size: 16px;
  font-weight: 700;
}

.aimrun-ui-v88 .aimrun-settings-list button:active {
  transform: translateY(1px);
}

.aimrun-ui-v88 .aimrun-settings-list span {
  color: var(--ar-text);
  font-size: 14px;
  font-weight: 780;
  line-height: 1.2;
}

.aimrun-ui-v88 .aimrun-settings-list small {
  overflow: hidden;
  color: var(--ar-muted);
  font-size: 12px;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.aimrun-ui-v88 .aimrun-profile-legacy-actions {
  display: grid !important;
  gap: 8px !important;
}

/* Legacy profile card duplicates the enhanced dashboard hero + settings list.
   Hide the redundant avatar, "个人页面" heading, and login/edit buttons (all
   covered by the dashboard); keep only the unique announcement/sponsor/privacy
   actions since the top bar isn't shown on the profile page. */
.aimrun-ui-v88 .aimrun-profile-legacy-actions > div:first-child,
.aimrun-ui-v88 .aimrun-profile-legacy-actions > h3,
.aimrun-ui-v88 #profileLoginBtn,
.aimrun-ui-v88 #profileEditBtn {
  display: none !important;
}

.aimrun-ui-v88 #profileLoginBtn,
.aimrun-ui-v88 #profileEditBtn,
.aimrun-ui-v88 #profileAnnouncementBtn,
.aimrun-ui-v88 #profileSponsorBtn,
.aimrun-ui-v88 #profilePrivacyBtn {
  border-radius: var(--ar-radius) !important;
  border: 1px solid rgba(255, 255, 255, 0.62) !important;
  background: rgba(255, 255, 255, 0.5) !important;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.58) inset !important;
  color: var(--ar-text) !important;
}

.sponsor-wall-modal {
  position: fixed;
  inset: 0;
  z-index: 80;
  color: #15231d;
}

.sponsor-wall-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(10, 20, 16, 0.54);
}

.sponsor-wall {
  position: fixed;
  inset: 0;
  display: grid;
  grid-template-rows: auto auto auto minmax(0, 1fr);
  gap: 14px;
  width: 100%;
  height: 100dvh;
  padding: max(16px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom));
  overflow: hidden;
  background:
    radial-gradient(circle at 10% 0%, rgba(22, 163, 74, 0.16), transparent 34%),
    linear-gradient(180deg, #f7fbf8 0%, #eef7f2 100%);
}

.sponsor-wall__hero {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  max-width: 1120px;
  width: 100%;
  margin: 0 auto;
}

.sponsor-wall__switch {
  display: inline-grid;
  grid-template-columns: repeat(2, minmax(96px, 1fr));
  gap: 6px;
  max-width: 1120px;
  width: min(100%, 280px);
  margin: 0 auto;
  padding: 4px;
  border: 1px solid rgba(18, 78, 52, 0.12);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.72);
}

.sponsor-wall__tab {
  min-height: 38px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: #52655c;
  cursor: pointer;
  font-size: 14px;
  font-weight: 820;
}

.sponsor-wall__tab.active {
  background: #0d8a50;
  color: #fff;
}

.sponsor-wall__kicker {
  margin: 0 0 4px;
  color: #19764a;
  font-size: 12px;
  font-weight: 800;
}

.sponsor-wall__hero h3 {
  margin: 0;
  color: #0f1f18;
  font-size: 30px;
  font-weight: 860;
  line-height: 1.08;
}

.sponsor-wall__intro {
  max-width: 58ch;
  margin: 8px 0 0;
  color: #50645a;
  font-size: 14px;
  line-height: 1.6;
}

.sponsor-wall__close {
  display: grid;
  flex: 0 0 auto;
  width: 42px;
  height: 42px;
  place-items: center;
  border: 1px solid rgba(18, 78, 52, 0.14);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.82);
  color: #15231d;
  cursor: pointer;
  font-size: 28px;
  line-height: 1;
}

.sponsor-wall__stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  max-width: 1120px;
  width: 100%;
  margin: 0 auto;
}

.sponsor-wall__stats div,
.sponsor-wall__records,
.sponsor-wall__pay-card {
  border: 1px solid rgba(18, 78, 52, 0.12);
  background: rgba(255, 255, 255, 0.86);
}

.sponsor-wall__stats div {
  min-height: 72px;
  padding: 12px;
  border-radius: 14px;
}

.sponsor-wall__stats span {
  display: block;
  color: #65786d;
  font-size: 12px;
  font-weight: 700;
}

.sponsor-wall__stats strong {
  display: block;
  margin-top: 5px;
  color: #0d7f4a;
  font-size: 22px;
  font-weight: 880;
}

.sponsor-wall__body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 280px;
  gap: 12px;
  max-width: 1120px;
  min-height: 0;
  width: 100%;
  margin: 0 auto;
}

.sponsor-wall__content {
  position: relative;
  display: grid;
  min-width: 0;
  min-height: 0;
}

.sponsor-wall__panel {
  height: 100%;
  min-height: 0;
}

.sponsor-wall__panel[hidden] {
  display: none !important;
}

.sponsor-wall__records {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  min-height: 0;
  overflow: hidden;
  border-radius: 16px;
}

.sponsor-wall__toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  border-bottom: 1px solid rgba(18, 78, 52, 0.1);
}

.sponsor-wall__toolbar h4,
.sponsor-wall__pay-card h4 {
  margin: 0;
  color: #13251d;
  font-size: 16px;
  font-weight: 840;
}

.sponsor-wall__toolbar p,
.sponsor-wall__pay-card p {
  margin: 4px 0 0;
  color: #64766c;
  font-size: 12px;
}

.sponsor-wall__list {
  min-height: 0;
  overflow-y: auto;
  padding: 8px;
  overscroll-behavior: contain;
}

.sponsor-record {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  padding: 12px;
  border-bottom: 1px solid rgba(18, 78, 52, 0.08);
}

.sponsor-record:last-child {
  border-bottom: 0;
}

.sponsor-record__main {
  min-width: 0;
}

.sponsor-record__name {
  display: flex;
  align-items: baseline;
  gap: 8px;
  min-width: 0;
  color: #172820;
  font-size: 15px;
  font-weight: 820;
}

.sponsor-record__time {
  flex: 0 0 auto;
  color: #708177;
  font-size: 11px;
  font-weight: 650;
}

.sponsor-record__note {
  margin-top: 5px;
  color: #526258;
  font-size: 13px;
  line-height: 1.45;
}

.sponsor-record__amount {
  color: #0d8a50;
  font-size: 15px;
  font-weight: 860;
  white-space: nowrap;
}

.sponsor-galaxy {
  position: relative;
  height: 100%;
  min-height: 0;
  overflow: hidden;
  border-radius: 16px;
  background: #050812;
  isolation: isolate;
}

.sponsor-wall.is-galaxy {
  grid-template-rows: minmax(0, 1fr);
  gap: 0;
  padding: 0;
  background: #040813;
}

.sponsor-wall.is-galaxy .sponsor-wall__hero {
  position: absolute;
  top: max(14px, env(safe-area-inset-top));
  right: max(14px, env(safe-area-inset-right));
  z-index: 6;
  width: auto;
  max-width: none;
}

.sponsor-wall.is-galaxy .sponsor-wall__hero > div,
.sponsor-wall.is-galaxy .sponsor-wall__stats,
.sponsor-wall.is-galaxy .sponsor-wall__pay,
.sponsor-wall.is-galaxy .sponsor-galaxy__hud {
  display: none;
}

.sponsor-wall.is-galaxy .sponsor-wall__kicker,
.sponsor-wall.is-galaxy .sponsor-wall__intro,
.sponsor-wall.is-galaxy .sponsor-wall__stats span,
.sponsor-wall.is-galaxy .sponsor-wall__pay-card p {
  color: rgba(232, 255, 248, 0.68);
}

.sponsor-wall.is-galaxy .sponsor-wall__hero h3,
.sponsor-wall.is-galaxy .sponsor-wall__pay-card h4 {
  color: #f3fffb;
}

.sponsor-wall.is-galaxy .sponsor-wall__switch,
.sponsor-wall.is-galaxy .sponsor-wall__stats div,
.sponsor-wall.is-galaxy .sponsor-wall__pay-card,
.sponsor-wall.is-galaxy .sponsor-wall__close {
  border-color: rgba(177, 232, 214, 0.18);
  background: rgba(8, 17, 32, 0.76);
}

.sponsor-wall.is-galaxy .sponsor-wall__close {
  opacity: 0.28;
  border-color: rgba(233, 255, 248, 0.14);
  background: rgba(4, 8, 19, 0.22);
  color: #e9fff8;
  transition: opacity 180ms ease-out;
}

.sponsor-wall.is-galaxy .sponsor-wall__close:hover {
  opacity: 1;
}

.sponsor-wall.is-galaxy .sponsor-wall__stats strong {
  color: #78ffd0;
}

.sponsor-wall.is-galaxy .sponsor-wall__switch {
  display: none;
}

.sponsor-wall.is-galaxy .sponsor-wall__switch:hover {
  opacity: 1;
}

.sponsor-wall.is-galaxy .sponsor-wall__tab {
  min-height: 32px;
  font-size: 12px;
}

.sponsor-wall.is-galaxy .sponsor-wall__tab.active {
  background: rgba(233, 255, 248, 0.14);
  color: rgba(244, 255, 251, 0.9);
}

.sponsor-wall.is-galaxy .sponsor-wall__body {
  display: block;
  max-width: none;
  width: 100%;
  height: 100%;
  min-height: 100dvh;
}

.sponsor-wall.is-galaxy .sponsor-wall__content,
.sponsor-wall.is-galaxy .sponsor-wall__panel,
.sponsor-wall.is-galaxy .sponsor-galaxy {
  width: 100%;
  height: 100%;
}

.sponsor-wall.is-galaxy .sponsor-galaxy {
  border-radius: 0;
}

.sponsor-wall.is-galaxy .sponsor-galaxy__canvas {
  width: 100%;
  height: 100%;
  min-height: 100dvh;
  background: #02060a;
}

.sponsor-galaxy__canvas {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 360px;
  touch-action: none;
  cursor: grab;
}
.sponsor-galaxy__canvas--webgl {
  position: absolute;
  top: 0; left: 0;
  z-index: 1;
}
.sponsor-wall.is-galaxy .sponsor-galaxy__canvas--labels {
  position: absolute;
  top: 0; left: 0;
  z-index: 2;
  pointer-events: none;
  background: transparent;
}

.sponsor-galaxy__canvas:active {
  cursor: grabbing;
}

.sponsor-galaxy__hud,
.sponsor-galaxy__detail {
  position: absolute;
  z-index: 2;
  border: 1px solid rgba(177, 232, 214, 0.2);
  border-radius: 14px;
  background: rgba(5, 12, 24, 0.72);
  color: #e9fff8;
}

.sponsor-galaxy__hud {
  top: 12px;
  left: 12px;
  right: 12px;
  display: grid;
  gap: 3px;
  max-width: 520px;
  padding: 11px 12px;
  pointer-events: none;
}

.sponsor-galaxy__hud strong {
  font-size: 14px;
  font-weight: 840;
}

.sponsor-galaxy__hud span {
  color: rgba(233, 255, 248, 0.74);
  font-size: 12px;
  line-height: 1.45;
}

.sponsor-galaxy__detail {
  right: 12px;
  bottom: 12px;
  display: grid;
  gap: 4px;
  min-width: min(260px, calc(100% - 24px));
  max-width: 340px;
  padding: 12px;
  background: rgba(5, 12, 24, 0.62);
}

.sponsor-galaxy__detail span {
  color: rgba(233, 255, 248, 0.7);
  font-size: 12px;
}

.sponsor-galaxy__detail strong {
  color: #fff;
  font-size: 15px;
  font-weight: 840;
}

.sponsor-galaxy__detail em {
  color: #78ffd0;
  font-style: normal;
  font-weight: 840;
}

.sponsor-galaxy__detail p {
  margin: 0;
  color: rgba(233, 255, 248, 0.82);
  font-size: 13px;
  line-height: 1.45;
}

.sponsor-galaxy__detail.is-empty {
  display: none;
}

.sponsor-wall__pay {
  min-height: 0;
}

.sponsor-wall__pay-card {
  position: sticky;
  top: 0;
  display: grid;
  gap: 12px;
  padding: 16px;
  border-radius: 16px;
}

.sponsor-wall__tabs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.sponsor-wall__tabs .pay-tab {
  min-height: 38px;
  border: 1px solid rgba(18, 78, 52, 0.16);
  border-radius: 10px;
  background: #fff;
  color: #51635a;
  cursor: pointer;
  font-size: 14px;
  font-weight: 760;
}

.sponsor-wall__tabs .pay-tab.active {
  border-color: #18a760;
  background: #e9f8ef;
  color: #0b7b45;
}

.sponsor-wall__qr {
  width: 100%;
  max-width: 280px;
  aspect-ratio: 1;
  justify-self: center;
  border-radius: 12px;
  object-fit: cover;
}

.sponsor-wall__pay-hint {
  margin: 0;
  text-align: center;
}

.sponsor-wall__thanks {
  min-height: 42px;
  border: 0;
  border-radius: 10px;
  background: #0d8a50;
  color: white;
  cursor: pointer;
  font-size: 14px;
  font-weight: 820;
}

@media (prefers-reduced-motion: reduce) {
  .sponsor-wall__tab,
  .sponsor-wall__close,
  .sponsor-wall__thanks,
  .sponsor-wall__tabs .pay-tab {
    transition: none !important;
  }
}

.aimrun-ui-v88 .btn-shimmer::after,
.aimrun-ui-v88 .pulse-idle {
  animation: none !important;
}

@media (max-width: 640px) {
  .sponsor-wall {
    gap: 10px;
    padding: max(12px, env(safe-area-inset-top)) 10px max(12px, env(safe-area-inset-bottom));
  }

  .sponsor-wall__switch {
    width: 100%;
  }

  .sponsor-wall.is-galaxy .sponsor-wall__switch {
    width: 148px;
    opacity: 0.42;
  }

  .sponsor-wall__hero h3 {
    font-size: 25px;
  }

  .sponsor-wall__intro {
    font-size: 13px;
  }

  .sponsor-wall__stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
  }

  .sponsor-wall__stats div {
    min-height: 64px;
    padding: 10px;
  }

  .sponsor-wall__stats strong {
    font-size: 17px;
  }

  .sponsor-wall__body {
    grid-template-columns: 1fr;
    grid-template-rows: minmax(0, 1fr) auto;
    gap: 10px;
  }

  .sponsor-galaxy__canvas {
    min-height: 100%;
  }

  .sponsor-galaxy__hud {
    padding: 10px;
  }

  .sponsor-galaxy__detail {
    left: 10px;
    right: 10px;
    bottom: 10px;
    min-width: 0;
  }

  .sponsor-wall__pay-card {
    position: static;
    grid-template-columns: minmax(0, 1fr) 88px;
    align-items: center;
    padding: 12px;
  }

  .sponsor-wall__pay-card h4,
  .sponsor-wall__pay-card > p,
  .sponsor-wall__tabs,
  .sponsor-wall__pay-hint,
  .sponsor-wall__thanks {
    grid-column: 1;
  }

  .sponsor-wall__qr {
    grid-column: 2;
    grid-row: 1 / span 5;
    width: 140px;
  }

  .sponsor-record {
    padding: 11px 10px;
  }

  .aimrun-ui-v88 .aimrun-topbar {
    justify-content: center !important;
  }

  .aimrun-ui-v88 .aimrun-hero {
    grid-template-columns: 1fr;
    text-align: left !important;
  }

  .aimrun-ui-v88 .vdot-entrance {
    grid-column: 1;
    grid-row: auto;
    justify-self: start;
  }

  .aimrun-ui-v88 .aimrun-config-card {
    padding: 14px !important;
  }

  .aimrun-ui-v88 .aimrun-section-label {
    display: block;
  }

  .aimrun-ui-v88 .aimrun-section-sub {
    max-width: none;
    margin-top: 3px;
    text-align: left;
  }

  .aimrun-ui-v88 .aimrun-status-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .aimrun-ui-v88 #heroTitle {
    font-size: 28px !important;
  }

  .aimrun-ui-v88 .aimrun-record-dashboard {
    grid-template-columns: 92px minmax(0, 1fr);
    gap: 12px;
    padding: 12px;
  }

  .aimrun-ui-v88 .aimrun-record-ring {
    width: 90px;
    height: 90px;
  }

  .aimrun-ui-v88 .aimrun-record-ring > div {
    inset: 31px;
  }

  .aimrun-ui-v88 .aimrun-profile-dashboard {
    padding: 12px;
  }

  .aimrun-ui-v88 .aimrun-profile-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .aimrun-ui-v88 .aimrun-settings-list button {
    grid-template-columns: minmax(72px, auto) minmax(0, 1fr) 14px;
    gap: 8px;
  }
}

/* ── Sponsor-wall animations & polish ── */
@keyframes sponsor-fade-up {
  from { opacity: 0; transform: translateY(18px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes galaxy-burst-in {
  from { opacity: 0; filter: brightness(2.5); }
  to   { opacity: 1; filter: brightness(1); }
}
.sponsor-wall { animation: sponsor-fade-up 0.38s cubic-bezier(0.22, 1, 0.36, 1) both; }
.sponsor-wall.is-galaxy { animation: galaxy-burst-in 0.6s cubic-bezier(0.16, 1, 0.3, 1) both; }
.sponsor-wall__stats div { animation: sponsor-fade-up 0.32s 0.06s cubic-bezier(0.22, 1, 0.36, 1) both; }
.sponsor-wall__stats div:nth-child(2) { animation-delay: 0.1s; }
.sponsor-wall__stats div:nth-child(3) { animation-delay: 0.14s; }

.sponsor-record {
  transition: background-color 0.16s ease, box-shadow 0.16s ease;
}
.sponsor-record:hover {
  background: rgba(22, 163, 74, 0.06);
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06);
}

.sponsor-galaxy__hud {
  backdrop-filter: blur(14px) saturate(160%);
  -webkit-backdrop-filter: blur(14px) saturate(160%);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.35);
}
.sponsor-galaxy__detail {
  backdrop-filter: blur(14px) saturate(160%);
  -webkit-backdrop-filter: blur(14px) saturate(160%);
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.4);
}

/* ── AI 教练：底部导航中央凸起主键 ── */
#appBottomNav .coach-tab {
  position: relative;
  overflow: visible;
}
#appBottomNav .coach-tab::before {
  display: none !important;
}
#appBottomNav .coach-orb {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  margin-top: -24px;
  margin-bottom: 2px;
  border-radius: 999px;
  background: #16a34a;
  color: #fff;
  border: 3px solid #ffffff;
  box-shadow: 0 4px 12px rgba(22, 163, 74, 0.30);
  transition: transform 0.18s cubic-bezier(0.34, 1.56, 0.64, 1);
}
#appBottomNav .coach-tab:active .coach-orb {
  transform: scale(0.92);
}
#appBottomNav .coach-tab.v6-tab-active .coach-orb {
  transform: scale(1.06);
}
