 :root {
     --primary: #059669;
     --primary-dark: #047857;
     --secondary: #f59e0b;
     --accent: #ec4899;
     --success: #10b981;
     --danger: #ef4444;
     --bg-primary: #0f172a;
     --bg-secondary: #1e293b;
     --bg-card: #334155;
     --text-primary: #f8fafc;
     --text-secondary: #cbd5e1;
     --border: #475569;
     --gradient: linear-gradient(135deg, #059669 0%, #047857 100%);
     --gradient-1: linear-gradient(135deg, #059669 0%, #047857 100%);
     --gradient-2: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
     --gradient-3: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
     --gradient-4: linear-gradient(135deg, #43e97b 0%, #38f9d7 100%);
     --gradient-5: linear-gradient(135deg, #fa709a 0%, #fee140 100%);
 }

 * {
     margin: 0;
     padding: 0;
     box-sizing: border-box;
 }

 body {
     font-family: 'Inter', sans-serif;
     background: var(--bg-primary);
     color: var(--text-primary);
     line-height: 1.6;
     overflow-x: hidden;
 }

 /* Animated Background - Optimized for mobile */
 .bg-animation {
     position: fixed;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     z-index: -1;
     opacity: 0.1;
 }

 /* Desktop only animation */
 @media (min-width: 769px) {
     .bg-animation::before {
         content: '';
         position: absolute;
         top: 0;
         left: 0;
         width: 100%;
         height: 100%;
         background: linear-gradient(45deg, #059669, #047857, #10b981, #f59e0b, #ec4899, #4facfe);
         background-size: 400% 400%;
         animation: gradientShift 15s ease infinite;
     }
 }

 /* Mobile: simple static gradient */
 @media (max-width: 768px) {
     .bg-animation::before {
         content: '';
         position: absolute;
         top: 0;
         left: 0;
         width: 100%;
         height: 100%;
         background: linear-gradient(135deg, #059669 0%, #047857 100%);
     }
 }

 @keyframes gradientShift {
     0% {
         background-position: 0% 50%;
     }

     50% {
         background-position: 100% 50%;
     }

     100% {
         background-position: 0% 50%;
     }
 }

 /* Header */
 header {
     background: rgba(15, 23, 42, 0.95);
     backdrop-filter: blur(10px);
     border-bottom: 1px solid var(--border);
     padding: 1rem 0;
     position: sticky;
     top: 0;
     z-index: 100;
 }

 .header-content {
     max-width: 1200px;
     margin: 0 auto;
     padding: 0 2rem;
     display: flex;
     align-items: center;
     justify-content: space-between;
 }

 .logo {
     font-family: 'Fredoka', sans-serif;
     font-size: 2rem;
     font-weight: 600;
     background: var(--gradient-1);
     -webkit-background-clip: text;
     -webkit-text-fill-color: transparent;
     background-clip: text;
     text-decoration: none;
     display: flex;
     align-items: center;
     gap: 0.5rem;
 }

 .logo::before {
     content: '🎮';
     font-size: 1.8rem;
 }

 .nav-pills {
     display: flex;
     gap: 0.5rem;
     background: var(--bg-secondary);
     padding: 0.5rem;
     border-radius: 50px;
     border: 1px solid var(--border);
 }

 .nav-pill {
     padding: 0.5rem 1.2rem;
     background: transparent;
     color: var(--text-secondary);
     text-decoration: none;
     border-radius: 25px;
     font-weight: 500;
     transition: all 0.3s ease;
     position: relative;
     overflow: hidden;
 }

 .nav-pill.active,
 .nav-pill:hover {
     background: var(--primary);
     color: white;
     transform: translateY(-1px);
 }

 /* Hero Section */
 .hero {
     text-align: center;
     padding: 4rem 2rem;
     max-width: 1200px;
     margin: 0 auto;
     position: relative;
 }

 .hero-title {
     font-family: 'Fredoka', sans-serif;
     font-size: clamp(2.5rem, 6vw, 4rem);
     font-weight: 600;
     margin-bottom: 1rem;
     background: linear-gradient(135deg, #059669 0%, #047857 50%, #10b981 100%);
     -webkit-background-clip: text;
     -webkit-text-fill-color: transparent;
     background-clip: text;
     animation: float 3s ease-in-out infinite;
 }

 @keyframes float {

     0%,
     100% {
         transform: translateY(0);
     }

     50% {
         transform: translateY(-10px);
     }
 }

 .hero-subtitle {
     font-size: 1.25rem;
     color: var(--text-secondary);
     margin-bottom: 2rem;
     max-width: 600px;
     margin-left: auto;
     margin-right: auto;
 }

 .stats {
     display: flex;
     justify-content: center;
     gap: 3rem;
     margin: 3rem 0;
     flex-wrap: wrap;
 }

 .stat {
     text-align: center;
     animation: slideUp 0.6s ease forwards;
 }

 .stat-number {
     font-family: 'Fredoka', sans-serif;
     font-size: 2.5rem;
     font-weight: 600;
     color: var(--primary);
     display: block;
 }

 .stat-label {
     color: var(--text-secondary);
     font-size: 0.9rem;
     margin-top: 0.25rem;
 }

 /* Games Grid */
 .games-section {
     padding: 4rem 2rem;
     max-width: 1200px;
     margin: 0 auto;
     position: relative;
 }

 .games-section::before {
     content: '';
     position: absolute;
     top: 0;
     left: 50%;
     width: 200px;
     height: 200px;
     background: radial-gradient(circle, rgba(5, 150, 105, 0.1) 0%, transparent 70%);
     border-radius: 50%;
     transform: translateX(-50%);
     animation: pulse 4s ease-in-out infinite;
 }

 @keyframes pulse {

     0%,
     100% {
         transform: translateX(-50%) scale(1);
         opacity: 0.5;
     }

     50% {
         transform: translateX(-50%) scale(1.2);
         opacity: 0.8;
     }
 }

 .section-title {
     font-family: 'Fredoka', sans-serif;
     text-align: center;
     font-size: 2.5rem;
     margin-bottom: 3rem;
     color: var(--text-primary);
 }

 /* Games Grid - Mobile optimized */
 .games-grid {
     display: grid;
     gap: 2rem;
     margin-top: 2rem;
 }

 /* Desktop grid */
 @media (min-width: 769px) {
     .games-grid {
         grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
     }
 }

 /* Mobile grid - single column for better performance */
 @media (max-width: 768px) {
     .games-grid {
         grid-template-columns: 1fr;
         gap: 1.5rem;
     }
 }

 .game-card {
     background: var(--bg-card);
     border-radius: 20px;
     padding: 2rem;
     text-align: center;
     position: relative;
     overflow: hidden;
     border: 1px solid var(--border);
     cursor: pointer;
 }

 /* Desktop animations and effects */
 @media (min-width: 769px) {
     .game-card {
         transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
         animation: slideUp 0.6s ease forwards;
     }

     .game-card:hover {
         transform: translateY(-15px) scale(1.03);
         box-shadow: 0 25px 50px rgba(5, 150, 105, 0.3);
         border-color: var(--primary);
     }

     .game-card:active {
         transform: translateY(-10px) scale(1.01);
     }
 }

 /* Mobile: minimal effects for performance */
 @media (max-width: 768px) {
     .game-card {
         transition: border-color 0.2s ease, background-color 0.2s ease;
     }

     .game-card:active {
         border-color: var(--primary);
         background-color: rgba(5, 150, 105, 0.1);
     }
 }

 .game-card::before {
     content: '';
     position: absolute;
     top: 0;
     left: 0;
     right: 0;
     height: 4px;
     background: var(--gradient-1);
     transition: height 0.3s ease;
 }

 .game-card:hover::before {
     height: 100%;
     opacity: 0.1;
 }

 .game-icon {
     font-size: 4rem;
     margin-bottom: 1rem;
     display: block;
     animation: bounce 2s infinite;
     transition: all 0.3s ease;
     filter: drop-shadow(0 4px 8px rgba(5, 150, 105, 0.2));
 }

 .game-card:hover .game-icon {
     transform: scale(1.1) rotate(5deg);
     filter: drop-shadow(0 8px 16px rgba(5, 150, 105, 0.4));
 }

 @keyframes bounce {

     0%,
     20%,
     50%,
     80%,
     100% {
         transform: translateY(0);
     }

     40% {
         transform: translateY(-10px);
     }

     60% {
         transform: translateY(-5px);
     }
 }

 .game-title {
     font-family: 'Fredoka', sans-serif;
     font-size: 1.5rem;
     font-weight: 600;
     margin-bottom: 1rem;
     color: var(--text-primary);
 }

 .game-description {
     color: var(--text-secondary);
     margin-bottom: 2rem;
     line-height: 1.6;
 }

 .play-btn {
     background: var(--gradient-1);
     color: white;
     padding: 0.8rem 2rem;
     border: none;
     border-radius: 50px;
     font-weight: 600;
     cursor: pointer;
     transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
     text-decoration: none;
     display: inline-flex;
     align-items: center;
     justify-content: center;
     gap: 0.5rem;
     position: relative;
     overflow: hidden;
     box-shadow: 0 4px 15px rgba(5, 150, 105, 0.3);
 }

 .play-btn:hover {
     transform: translateY(-3px) scale(1.05);
     box-shadow: 0 12px 30px rgba(5, 150, 105, 0.5);
 }

 .play-btn:active {
     transform: translateY(-1px) scale(1.02);
 }

 .play-btn::before {
     content: '';
     position: absolute;
     top: 0;
     left: -100%;
     width: 100%;
     height: 100%;
     background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
     transition: left 0.5s;
 }

 .play-btn:hover::before {
     left: 100%;
 }

 .play-btn span:first-child {
     transition: transform 0.3s ease;
 }

 .play-btn:hover span:first-child {
     transform: rotate(360deg) scale(1.2);
 }

 .coming-soon {
     opacity: 0.6;
     pointer-events: none;
 }

 .coming-soon .play-btn {
     background: var(--bg-secondary);
     color: var(--text-secondary);
 }

 /* Animations */
 @keyframes slideUp {
     from {
         opacity: 0;
         transform: translateY(30px);
     }

     to {
         opacity: 1;
         transform: translateY(0);
     }
 }

 .fade-in {
     opacity: 0;
     animation: slideUp 0.6s ease forwards;
 }

 /* Mobile Performance Optimizations */
 @media (max-width: 768px) {

     /* Disable expensive animations on mobile */
     .mobile-device * {
         animation-duration: 0.1s !important;
         transition-duration: 0.2s !important;
     }

     /* Reduce shadow complexity */
     .game-card,
     .btn,
     .stat {
         box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1) !important;
     }

     /* Optimize backgrounds */
     .hero::before,
     .stats::before {
         display: none;
     }

     /* Simplify gradients */
     .logo,
     .hero-title,
     .stat-number {
         background: var(--primary) !important;
         -webkit-background-clip: unset !important;
         -webkit-text-fill-color: unset !important;
         color: var(--primary) !important;
     }

     /* Reduce padding for mobile */
     .game-card {
         padding: 1.5rem;
     }

     .hero {
         padding: 3rem 2rem;
     }
 }

 /* Responsive */
 @media (max-width: 768px) {
     .header-content {
         padding: 0 1rem;
     }

     .nav-pills {
         display: none;
     }

     .hero {
         padding: 2rem 1rem;
     }

     .hero-title {
         font-size: clamp(2rem, 8vw, 3rem);
     }

     .stats {
         gap: 1.5rem;
         flex-direction: column;
         align-items: center;
     }

     .stat {
         min-width: 120px;
     }

     .games-section {
         padding: 2rem 1rem;
     }

     .games-grid {
         grid-template-columns: 1fr;
         gap: 2rem;
     }

     .game-card {
         padding: 1.5rem;
     }

     .game-card:hover {
         transform: translateY(-8px) scale(1.02);
     }

     .game-icon {
         font-size: 3.5rem;
     }
 }

 @media (max-width: 520px) {
     .hero-title {
         font-size: clamp(1.8rem, 10vw, 2.5rem);
     }

     .hero-subtitle {
         font-size: 1.1rem;
     }

     .stats {
         flex-direction: row;
         flex-wrap: wrap;
         justify-content: center;
         gap: 1rem;
     }

     .game-card {
         padding: 1.25rem;
         border-radius: 15px;
     }

     .game-icon {
         font-size: 3rem;
     }

     .game-title {
         font-size: 1.3rem;
     }

     .play-btn {
         padding: 0.7rem 1.5rem;
         font-size: 0.9rem;
     }
 }

 /* Loading Animation */
 /* Ad Slots */
 .ad-slot {
     min-height: 90px;
     width: 100%;
     background: var(--bg-card);
     border: 1px solid var(--border);
     border-radius: 8px;
     margin: 2rem auto;
     display: flex;
     align-items: center;
     justify-content: center;
     max-width: 728px;
     overflow: hidden;
     position: relative;
 }

 .ad-placeholder {
     color: var(--text-secondary);
     font-size: 0.9rem;
     opacity: 0.6;
 }

 @media (max-width: 768px) {
     .ad-slot {
         max-width: 320px;
         min-height: 50px;
     }
 }

 .loading {
     display: inline-block;
     width: 20px;
     height: 20px;
     border: 2px solid var(--text-secondary);
     border-radius: 50%;
     border-top-color: var(--primary);
     animation: spin 1s ease-in-out infinite;
     margin-left: 8px;
 }

 @keyframes spin {
     to {
         transform: rotate(360deg);
     }
 }

 /* Modern Share Buttons */
 .modern-share-btn {
     background: var(--bg-card);
     border: 2px solid var(--border);
     border-radius: 12px;
     padding: 1rem;
     cursor: pointer;
     transition: all 0.3s ease;
     display: flex;
     align-items: center;
     gap: 0.75rem;
     text-align: left;
     color: var(--text-primary);
     text-decoration: none;
 }

 .modern-share-btn:hover {
     transform: translateY(-2px);
     box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2);
 }

 .modern-share-btn.whatsapp:hover {
     border-color: #25d366;
     box-shadow: 0 8px 25px rgba(37, 211, 102, 0.3);
 }

 .modern-share-btn.twitter:hover {
     border-color: #000;
     box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3);
 }

 .modern-share-btn.instagram:hover {
     border-color: #e4405f;
     box-shadow: 0 8px 25px rgba(228, 64, 95, 0.3);
 }

 .modern-share-btn.copy:hover {
     border-color: var(--primary);
     box-shadow: 0 8px 25px rgba(99, 102, 241, 0.3);
 }

 .share-icon {
     font-size: 1.5rem;
     width: 40px;
     height: 40px;
     background: var(--bg-secondary);
     border-radius: 8px;
     display: flex;
     align-items: center;
     justify-content: center;
     flex-shrink: 0;
 }

 .share-text {
     flex: 1;
 }

 .share-platform {
     font-weight: 600;
     font-size: 0.95rem;
     margin-bottom: 0.25rem;
 }

 .modern-share-btn.x-twitter {
     background-color: #000000;
     color: white;
     border: none;
     border-radius: 8px;
     padding: 0.8rem;
     cursor: pointer;
     transition: all 0.3s ease;
     display: flex;
     align-items: center;
     gap: 0.8rem;
 }

 .share-subtitle {
     font-size: 0.8rem;
     color: var(--text-secondary);
 }

 @media (max-width: 768px) {
     .modern-share-buttons {
         grid-template-columns: 1fr;
     }
 }