/* NEXUS GYM — layer on Tailwind */
:root {
  --nexus-grid: rgba(0, 240, 255, 0.06);
}
.dark {
  --nexus-grid: rgba(0, 240, 255, 0.08);
}

body {
  background-image:
    linear-gradient(var(--nexus-grid) 1px, transparent 1px),
    linear-gradient(90deg, var(--nexus-grid) 1px, transparent 1px);
  background-size: 48px 48px;
}

.glass-panel {
  background: rgba(255, 255, 255, 0.65);
  border: 1px solid rgba(15, 23, 42, 0.08);
  backdrop-filter: blur(16px);
}
.dark .glass-panel {
  background: rgba(0, 0, 0, 0.45);
  border-color: rgba(255, 255, 255, 0.08);
}

.text-glow-cyan {
  text-shadow: 0 0 24px rgba(0, 240, 255, 0.35);
}
.dark .text-glow-cyan {
  text-shadow: 0 0 32px rgba(0, 240, 255, 0.5);
}

.clip-angle {
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 24px), calc(100% - 24px) 100%, 0 100%);
}

/* Arabic / UTF-8: readable body font */
.lang-ar body,
.lang-ar {
  font-family: 'Cairo', 'Rajdhani', system-ui, sans-serif;
}

.lang-ar .font-display {
  font-family: 'Cairo', 'Orbitron', system-ui, sans-serif;
}

/* Mobile bottom tab bar (app-style) */
.mobile-tab {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.125rem;
  min-width: 0;
  padding: 0.35rem 0.15rem;
  font-size: 0.65rem;
  font-weight: 800;
  line-height: 1.1;
  text-align: center;
  color: rgb(100 116 139);
  transition: color 0.15s ease, transform 0.15s ease;
}
.dark .mobile-tab {
  color: rgb(148 163 184);
}
.mobile-tab svg {
  opacity: 0.85;
}
.mobile-tab--active {
  color: #00f0ff;
}
.dark .mobile-tab--active {
  color: #5fffd1;
  text-shadow: 0 0 12px rgba(0, 240, 255, 0.35);
}
.mobile-tab__label {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
[dir="rtl"] .mobile-tab__label {
  letter-spacing: 0;
}
