diff --git a/frontend/src/components/bounty/BountyCard.tsx b/frontend/src/components/bounty/BountyCard.tsx index aa974a474..5493a8272 100644 --- a/frontend/src/components/bounty/BountyCard.tsx +++ b/frontend/src/components/bounty/BountyCard.tsx @@ -61,10 +61,10 @@ export function BountyCard({ bounty }: BountyCardProps) { initial="rest" whileHover="hover" onClick={() => navigate(`/bounties/${bounty.id}`)} - className="relative rounded-xl border border-border bg-forge-900 p-5 cursor-pointer transition-colors duration-200 overflow-hidden group" + className="relative rounded-xl border border-border bg-forge-900 p-5 cursor-pointer transition-colors duration-200 overflow-hidden group bounty-card" > {/* Row 1: Repo + Tier */} -
+
{bounty.org_avatar_url && ( diff --git a/frontend/src/components/home/HeroSection.tsx b/frontend/src/components/home/HeroSection.tsx index e37307166..840423df5 100644 --- a/frontend/src/components/home/HeroSection.tsx +++ b/frontend/src/components/home/HeroSection.tsx @@ -98,7 +98,7 @@ export function HeroSection() { variants={fadeIn} initial="initial" animate="animate" - className="w-full max-w-xl rounded-xl border border-border bg-forge-900/90 backdrop-blur-sm overflow-hidden shadow-2xl shadow-black/50" + className="w-full max-w-xl rounded-xl border border-border bg-forge-900/90 backdrop-blur-sm overflow-hidden shadow-2xl shadow-black/50 hero-terminal" > {/* Title bar */}
diff --git a/frontend/src/index.css b/frontend/src/index.css index 33799d725..20c013624 100644 --- a/frontend/src/index.css +++ b/frontend/src/index.css @@ -109,6 +109,71 @@ } } +/* ============================================================================ + Mobile Responsive Polish (Bounty #824) + ============================================================================ */ + +/* 768px breakpoint — tablet */ +@media (max-width: 768px) { + /* Ensure no horizontal overflow anywhere */ + body { + overflow-x: hidden; + } + + /* Footer: prevent CA text overflow at tablet */ + footer .font-mono { + font-size: 0.65rem !important; + word-break: break-all; + } +} + +/* 375px breakpoint — mobile */ +@media (max-width: 375px) { + /* Global: prevent horizontal scroll */ + html, body { + overflow-x: hidden; + width: 100%; + } + + /* Hero: reduce terminal card padding */ + .hero-terminal { + padding: 1rem !important; + } + + /* Hero: smaller terminal text */ + .hero-terminal .font-mono { + font-size: 0.7rem !important; + line-height: 1.4 !important; + } + + /* Bounty cards: tighter spacing */ + .bounty-card { + padding: 0.875rem !important; + } + + /* Bounty cards: smaller title */ + .bounty-card h3 { + font-size: 0.875rem !important; + line-height: 1.3 !important; + } + + /* Footer: stack all columns cleanly, prevent CA overflow */ + footer .grid { + gap: 1.5rem !important; + } + + footer .font-mono { + font-size: 0.6rem !important; + word-break: break-all; + max-width: 100%; + } + + /* Navbar: ensure mobile menu is full-width */ + nav .mobile-menu { + width: 100vw; + } +} + /* ============================================================================ Global base styles ============================================================================ */