   * {
       box-sizing: border-box;
   }

   html,
   body {
       overflow-x: hidden;
       scroll-behavior: smooth;
   }

   body {
       font-family: 'Plus Jakarta Sans', sans-serif;
       transition: background 0.3s ease, color 0.3s ease;
   }

   .dark body {
       background: #060911;
       color: #e5e7eb;
   }

   .dark .theme-bg {
       background: #060911;
   }

   .dark .theme-card {
       background: rgba(17, 24, 39, 0.6);
       border-color: rgba(255, 255, 255, 0.07);
   }

   .dark .theme-card-hover:hover {
       background: rgba(26, 34, 53, 0.8);
       border-color: rgba(245, 158, 11, 0.15);
   }

   .dark .theme-glass {
       background: rgba(17, 24, 39, 0.75);
       border-color: rgba(255, 255, 255, 0.06);
       backdrop-filter: blur(16px);
   }

   .dark .theme-sidebar {
       background: linear-gradient(180deg, #0a0e1a, #0f1629, #0a0e1a);
       border-color: rgba(255, 255, 255, 0.04);
   }

   .dark .theme-text {
       color: #e5e7eb;
   }

   .dark .theme-text-muted {
       color: #9ca3af;
   }

   .dark .theme-text-dim {
       color: #6b7280;
   }

   .dark .theme-border {
       border-color: rgba(255, 255, 255, 0.05);
   }

   .dark .theme-input {
       background: rgba(255, 255, 255, 0.05);
       border-color: rgba(255, 255, 255, 0.05);
       color: white;
   }

   .dark .theme-hover:hover {
       background: rgba(255, 255, 255, 0.05);
   }

   .dark .theme-item {
       background: rgba(255, 255, 255, 0.03);
   }

   .dark .theme-item:hover {
       background: rgba(255, 255, 255, 0.06);
   }

   .dark .theme-scroll::-webkit-scrollbar-track {
       background: #0a0e1a;
   }

   body {
       background: #f5f7fb;
       color: #1e293b;
   }

   .theme-bg {
       background: #f5f7fb;
   }

   .theme-card {
       background: #ffffff;
       border: 1px solid #e5e7eb;
   }

   .theme-card-hover:hover {
       background: #fdfdfd;
       border-color: #f59e0b40;
       box-shadow: 0 12px 30px rgba(0, 0, 0, 0.06);
   }

   .theme-glass {
       background: rgba(255, 255, 255, 0.85);
       border: 1px solid #e5e7eb;
       backdrop-filter: blur(16px);
   }

   .theme-sidebar {
       background: linear-gradient(180deg, #ffffff, #f9fafb, #ffffff);
       border-right: 1px solid #e5e7eb;
   }

   .theme-text {
       color: #1e293b;
   }

   .theme-text-muted {
       color: #64748b;
   }

   .theme-text-dim {
       color: #94a3b8;
   }

   .theme-border {
       border-color: #e5e7eb;
   }

   .theme-input {
       background: #f8fafc;
       border: 1px solid #e5e7eb;
       color: #1e293b;
   }

   .theme-hover:hover {
       background: #f1f5f9;
   }

   .theme-item {
       background: #f8fafc;
   }

   .theme-item:hover {
       background: #f1f5f9;
   }

   .theme-scroll::-webkit-scrollbar-track {
       background: #f5f7fb;
   }

   ::-webkit-scrollbar {
       width: 5px;
       height: 5px;
   }

   ::-webkit-scrollbar-thumb {
       background: linear-gradient(180deg, #f59e0b, #8b5cf6);
       border-radius: 10px;
   }

   .card {
       border-radius: 1rem;
       transition: all 0.3s ease;
   }

   .card:hover {
       transform: translateY(-2px);
   }

   .glow-gold {
       box-shadow: 0 0 30px rgba(245, 158, 11, 0.08);
   }

   .glow-purple {
       box-shadow: 0 0 30px rgba(139, 92, 246, 0.08);
   }

   .glow-green {
       box-shadow: 0 0 30px rgba(16, 185, 129, 0.08);
   }

   .glow-red {
       box-shadow: 0 0 30px rgba(239, 68, 68, 0.08);
   }

   .text-gold-gradient {
       background: linear-gradient(135deg, #f59e0b, #fbbf24);
       -webkit-background-clip: text;
       -webkit-text-fill-color: transparent;
   }

   .sidebar-link {
       position: relative;
       transition: all 0.3s ease;
   }

   .sidebar-link::before {
       content: '';
       position: absolute;
       left: 0;
       top: 0;
       bottom: 0;
       width: 3px;
       background: linear-gradient(180deg, #f59e0b, #8b5cf6);
       border-radius: 0 4px 4px 0;
       transform: scaleY(0);
       transition: 0.3s;
   }

   .sidebar-link:hover::before,
   .sidebar-link.active::before {
       transform: scaleY(1);
   }

   .dark .sidebar-link:hover,
   .dark .sidebar-link.active {
       background: linear-gradient(90deg, rgba(245, 158, 11, 0.1), transparent);
   }

   .sidebar-link:hover,
   .sidebar-link.active {
       background: linear-gradient(90deg, rgba(245, 158, 11, 0.08), transparent);
   }

   .live-dot {
       width: 8px;
       height: 8px;
       border-radius: 50%;
       background: #ef4444;
       animation: pulse 1.5s infinite;
       display: inline-block;
   }

   @keyframes pulse {
       0% {
           box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.7);
       }

       70% {
           box-shadow: 0 0 0 8px rgba(239, 68, 68, 0);
       }

       100% {
           box-shadow: 0 0 0 0 rgba(239, 68, 68, 0);
       }
   }

   .progress-bar {
       animation: fillWidth 2s ease forwards;
   }

   @keyframes fillWidth {
       from {
           width: 0;
       }
   }

   @keyframes fadeUp {
       from {
           opacity: 0;
           transform: translateY(20px);
       }

       to {
           opacity: 1;
           transform: translateY(0);
       }
   }

   .fade-up {
       animation: fadeUp 0.6s ease forwards;
   }

   @keyframes slideRight {
       from {
           opacity: 0;
           transform: translateX(30px);
       }

       to {
           opacity: 1;
           transform: translateX(0);
       }
   }

   .slide-right {
       animation: slideRight 0.4s ease forwards;
   }

   .overlay {
       background: rgba(0, 0, 0, 0.6);
       backdrop-filter: blur(4px);
   }

   .modal-bg {
       background: rgba(0, 0, 0, 0.7);
       backdrop-filter: blur(8px);
   }

   .btn {
       position: relative;
       overflow: hidden;
   }

   .btn::after {
       content: '';
       position: absolute;
       inset: 0;
       background: radial-gradient(circle, rgba(255, 255, 255, 0.2) 10%, transparent 10.01%);
       background-repeat: no-repeat;
       background-position: 50%;
       transform: scale(10);
       opacity: 0;
       transition: transform 0.5s, opacity 1s;
       pointer-events: none;
   }

   .btn:active::after {
       transform: scale(0);
       opacity: 0.3;
       transition: 0s;
   }

   @media (max-width: 640px) {
       .mobile-full-dd {
           position: fixed !important;
           top: 56px !important;
           left: 0 !important;
           right: 0 !important;
           margin: 8px !important;
           width: calc(100vw - 16px) !important;
           max-width: none !important;
       }
   }

   /* Game Card */
   .game-card {
       position: relative;
       overflow: hidden;
       transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
   }

   .game-card:hover {
       transform: translateY(-6px);
       box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
   }

   .game-card:hover .game-img {
       transform: scale(1.1);
   }

   .game-card:hover .game-overlay {
       opacity: 1;
   }

   .game-img {
       transition: transform 0.6s ease;
   }

   .game-overlay {
       position: absolute;
       inset: 0;
       background: linear-gradient(180deg, transparent 40%, rgba(0, 0, 0, 0.9));
       opacity: 0.7;
       transition: opacity 0.3s;
   }

   .game-badge {
       position: absolute;
       top: 8px;
       left: 8px;
       z-index: 10;
   }

   .game-actions {
       position: absolute;
       top: 8px;
       right: 8px;
       z-index: 10;
       opacity: 0;
       transition: opacity 0.3s;
   }

   .game-card:hover .game-actions {
       opacity: 1;
   }

   /* Filter Tab */
   .filter-tab {
       transition: all 0.3s ease;
   }

   .filter-tab.active {
       background: linear-gradient(135deg, #f59e0b, #d97706);
       color: black;
   }

   /* Toggle Switch */
   .toggle-switch {
       position: relative;
       width: 32px;
       height: 18px;
       background: #6b7280;
       border-radius: 999px;
       cursor: pointer;
       transition: 0.3s;
   }

   .toggle-switch.on {
       background: #f59e0b;
   }

   .toggle-switch::after {
       content: '';
       position: absolute;
       left: 2px;
       top: 2px;
       width: 14px;
       height: 14px;
       background: white;
       border-radius: 50%;
       transition: 0.3s;
   }

   .toggle-switch.on::after {
       left: 16px;
   }

   /* View toggle */
   .view-btn.active {
       background: #f59e0b;
       color: black;
   }

   /* Star rating */
   .star-yellow {
       color: #fbbf24;
   }