+ {/* Mesh gradient overlay for depth */}
+
+
+ {/* Animated floating orbs - contained within bounds */}
+
+
+
+
+ {/* Content - white text for contrast */}
+
+
+ {/* Brand logo with glow */}
+ {sponsorInfo.brandLogo && (
+
+
+

+
+ )}
+
+
+ Sponsored by
+
+ {sponsorInfo.brandName}
+
+ {highlightedWordConfig.config?.tooltipDescription && (
+
+ {highlightedWordConfig.config.tooltipDescription}
+
+ )}
+
+
+
+ {/* CTA button - white style */}
+ {ctaUrl && (
+
+ )}
+
+
+ {/* Inline keyframe styles */}
+
+
+ );
+};
+
+export default SponsoredTagHero;
diff --git a/packages/shared/src/components/brand/SponsoredTooltip.tsx b/packages/shared/src/components/brand/SponsoredTooltip.tsx
new file mode 100644
index 00000000000..8b6ccd96691
--- /dev/null
+++ b/packages/shared/src/components/brand/SponsoredTooltip.tsx
@@ -0,0 +1,92 @@
+import type { ReactElement } from 'react';
+import React from 'react';
+import classNames from 'classnames';
+import type { BrandColors, HighlightedWordConfig } from '../../lib/brand';
+import { Button, ButtonSize, ButtonVariant } from '../buttons/Button';
+
+interface SponsoredTooltipProps {
+ config: HighlightedWordConfig;
+ brandName: string;
+ brandLogo: string | null;
+ colors: BrandColors | null;
+ className?: string;
+}
+
+/**
+ * SponsoredTooltip Component
+ *
+ * A beautiful tooltip content for highlighted words showing brand info and CTA.
+ * Features gradient background based on brand colors and a prominent CTA button.
+ */
+export const SponsoredTooltip = ({
+ config,
+ brandName,
+ brandLogo,
+ colors,
+ className,
+}: SponsoredTooltipProps): ReactElement => {
+ const handleCtaClick = (e: React.MouseEvent): void => {
+ e.stopPropagation();
+ if (config.ctaUrl) {
+ window.open(config.ctaUrl, '_blank', 'noopener,noreferrer');
+ }
+ };
+
+ return (
+
+ {/* Header with logo and brand name */}
+
+ {brandLogo && (
+

+ )}
+
+
+ Sponsored
+
+
+ {config.tooltipTitle}
+
+
+
+
+ {/* Description */}
+
+ {config.tooltipDescription}
+
+
+ {/* CTA Button */}
+ {config.ctaText && config.ctaUrl && (
+
+ )}
+
+ );
+};
+
+export default SponsoredTooltip;
diff --git a/packages/shared/src/components/cards/TrendingTagsCard.tsx b/packages/shared/src/components/cards/TrendingTagsCard.tsx
new file mode 100644
index 00000000000..683053fc34c
--- /dev/null
+++ b/packages/shared/src/components/cards/TrendingTagsCard.tsx
@@ -0,0 +1,220 @@
+import type { CSSProperties, ReactElement } from 'react';
+import React, { useRef, useState, useCallback, useEffect } from 'react';
+import classNames from 'classnames';
+import Link from '../utilities/Link';
+import { webappUrl } from '../../lib/constants';
+import { ArrowIcon, TrendingIcon } from '../icons';
+import {
+ Typography,
+ TypographyColor,
+ TypographyType,
+} from '../typography/Typography';
+
+// Mock trending tags data - in production this would come from an API
+const TRENDING_TAGS = [
+ 'ai',
+ 'webdev',
+ 'react',
+ 'typescript',
+ 'devops',
+ 'javascript',
+ 'python',
+ 'nodejs',
+ 'cloud',
+ 'docker',
+ 'kubernetes',
+ 'rust',
+ 'golang',
+ 'vue',
+ 'nextjs',
+ 'aws',
+ 'security',
+ 'database',
+ 'api',
+ 'opensource',
+];
+
+interface TrendingTagsCardProps {
+ className?: string;
+ style?: CSSProperties;
+}
+
+interface TagChipProps {
+ tag: string;
+ href: string;
+ isActive?: boolean;
+}
+
+const TagChip = ({ tag, href, isActive }: TagChipProps): ReactElement => (
+
+ {/* Header */}
+
+
+
+ Trending tags
+
+
+
+ {/* Tags - show first 8 on mobile */}
+
+ {TRENDING_TAGS.slice(0, 8).map((tag) => (
+
+
+ #{tag}
+
+
+ ))}
+
+
+);
+
+// Desktop strip version with scroll
+const DesktopTrendingStrip = ({
+ className,
+ style,
+}: {
+ className?: string;
+ style?: CSSProperties;
+}): ReactElement => {
+ const scrollContainerRef = useRef