@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Inter:wght@400;600;700;800&display=swap');

.theme-gym {
  --primary: #ef4444;
  --secondary: #f97316;
  --tertiary: #1e293b;
  --primary-text: #fff;
  --ink: #f8fafc;
  --muted: #94a3b8;
  --line: rgba(255,255,255,.12);
  --panel: #1e293b;
  --page-bg: #0f172a;
  --workspace-bg: #111827;
  --stage-bg:
    linear-gradient(160deg, #1e293b 0%, #0f172a 55%, #7f1d1d 100%),
    repeating-linear-gradient(-45deg, transparent, transparent 12px, rgba(239,68,68,.04) 12px, rgba(239,68,68,.04) 24px);
  --stage-border: none;
  --stage-pad: 24px;
  --frame-bg: #020617;
  --frame-border: 3px solid #ef4444;
  --caption-bg: rgba(15,23,42,.9);
  --card-bg: #1e293b;
  --detail-bg: #0f172a;
  --detail-border: rgba(255,255,255,.1);
  --bubble-bg: #1e293b;
  --user-bubble-bg: #334155;
  --composer-bg: #1e293b;
  --input-bg: #0f172a;
  --source-bg: #334155;
  --source-border: rgba(255,255,255,.08);
  --user-chip-bg: #475569;
  --radius-sm: 4px;
  --radius-md: 6px;
  --radius-lg: 8px;
  --radius-pill: 4px;
  --chip-radius: 4px;
  --bubble-radius: 4px;
  --signal-radius: 6px;
  --signal-bg: linear-gradient(135deg, #ef4444, #f97316);
  --heading-track: .04em;
  --topbar-weight: 400;
  --portrait-filter: drop-shadow(0 20px 40px rgba(239,68,68,.35));
  --shadow: 0 20px 50px rgba(0,0,0,.45);
}

.theme-gym .vertical-pill {
  background: rgba(239,68,68,.18);
  color: #fca5a5;
}

.theme-gym .caption h1 {
  text-transform: uppercase;
  color: #fff;
}

.theme-gym .mark,
.theme-gym .topbar h2 {
  color: #fff;
  text-transform: uppercase;
  letter-spacing: .03em;
}

.theme-gym .lead-card h3 { color: #fff; }

.theme-gym .stage::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 120px;
  height: 100%;
  background: linear-gradient(180deg, #ef4444, #f97316);
  opacity: .12;
  clip-path: polygon(100% 0, 0 0, 100% 100%);
  pointer-events: none;
}