@import 'bootstrap'; :root { --primary: #7F00FF; --accent: #00C9FF; --gradient-start: #4f46e5; --gradient-end: #7c3aed; } /* Dark Theme (Default) */ [data-theme="dark"] { --background: #0f172a; --background-alt: #1e293b; --background-elevated: rgba(30, 30, 30, 0.8); --text: #e2e8f0; --text-muted: #94a3b8; --border-color: rgba(255, 255, 255, 0.1); --card-bg: rgba(30, 30, 30, 0.6); --card-hover: rgba(127, 0, 255, 0.05); --input-bg: #1a1a1a; --dropdown-bg: #1e293b; --shadow: rgba(0, 0, 0, 0.3); } /* Light Theme */ [data-theme="light"] { --background: #f8fafc; --background-alt: #ffffff; --background-elevated: rgba(255, 255, 255, 0.95); --text: #1e293b; --text-muted: #64748b; --border-color: rgba(0, 0, 0, 0.1); --card-bg: rgba(255, 255, 255, 0.8); --card-hover: rgba(127, 0, 255, 0.08); --input-bg: #ffffff; --dropdown-bg: #ffffff; --shadow: rgba(0, 0, 0, 0.1); } body { background-color: var(--background) !important; color: var(--text); transition: background-color 0.3s ease, color 0.3s ease; } [data-theme="dark"] body { background: url('../../img/top_bg_transparency_4.png') repeat-x var(--background); } [data-theme="light"] body { background: linear-gradient(180deg, #e0e7ff 0%, var(--background) 100%); } .gradient-text { background: linear-gradient(90deg, var(--primary), var(--accent)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; } .gradient-border { border: 2px solid transparent; background: linear-gradient(var(--background), var(--background)) padding-box, linear-gradient(90deg, var(--primary), var(--accent)) border-box; } .btn-gradient { background: linear-gradient(90deg, var(--primary), var(--accent)); border: none; color: white; } .btn-gradient:hover { opacity: 0.9; color: white; } .btn-outline-gradient { border: 2px solid transparent; background: linear-gradient(var(--background), var(--background)) padding-box, linear-gradient(90deg, var(--primary), var(--accent)) border-box; color: white; } .btn-outline-gradient:hover { background: rgba(255, 255, 255, 0.1); color: white; } /* Form Styles */ .form-control { background-color: var(--input-bg) !important; border-color: var(--border-color) !important; color: var(--text) !important; transition: all 0.3s ease; } .form-control:focus { background-color: var(--input-bg) !important; border-color: var(--primary) !important; box-shadow: 0 0 0 0.25rem rgba(127, 0, 255, 0.25) !important; color: var(--text) !important; } .form-check-input { background-color: var(--input-bg) !important; border-color: var(--border-color) !important; } .form-check-input:checked { background-color: var(--primary) !important; border-color: var(--primary) !important; } .form-check-input:focus { border-color: var(--primary) !important; box-shadow: 0 0 0 0.25rem rgba(127, 0, 255, 0.25) !important; } /* Alert Styles */ .alert { background-color: var(--card-bg); border: 1px solid var(--border-color); color: var(--text); } .alert-success { background-color: rgba(40, 167, 69, 0.1); border-color: rgba(40, 167, 69, 0.2); color: #28a745; } [data-theme="light"] .alert-success { background-color: rgba(40, 167, 69, 0.15); } .alert-danger { background-color: rgba(220, 53, 69, 0.1); border-color: rgba(220, 53, 69, 0.2); color: #dc3545; } [data-theme="light"] .alert-danger { background-color: rgba(220, 53, 69, 0.15); } /* Custom Pagination Styles */ .pagination { --bs-pagination-color: var(--text); --bs-pagination-bg: var(--card-bg); --bs-pagination-border-color: var(--border-color); --bs-pagination-hover-color: var(--text); --bs-pagination-hover-bg: var(--card-hover); --bs-pagination-hover-border-color: var(--border-color); --bs-pagination-focus-color: var(--text); --bs-pagination-focus-bg: var(--card-hover); --bs-pagination-focus-box-shadow: none; --bs-pagination-active-color: white; --bs-pagination-active-bg: linear-gradient(90deg, var(--primary), var(--accent)); --bs-pagination-active-border-color: transparent; --bs-pagination-disabled-color: var(--text-muted); --bs-pagination-disabled-bg: var(--card-bg); --bs-pagination-disabled-border-color: var(--border-color); } .page-link { padding: 0.5rem 1rem; border-radius: 0.375rem; margin: 0 0.25rem; transition: all 0.2s ease-in-out; } .page-link:hover { transform: translateY(-1px); } .page-item.active .page-link { background: linear-gradient(90deg, var(--primary), var(--accent)); border: none; } .page-item.disabled .page-link { background-color: var(--background); border-color: transparent; } /* Custom dropdown styles */ .dropdown-menu { background-color: var(--dropdown-bg); border: 1px solid var(--border-color); box-shadow: 0 4px 15px var(--shadow); } .dropdown-item { color: var(--text); } .dropdown-item:hover { background-color: var(--card-hover); color: var(--text); } /* Custom badge styles */ .badge { padding: 0.5em 0.75em; font-weight: 500; } .badge.bg-primary { background: linear-gradient(90deg, var(--primary), var(--accent)) !important; } .badge.bg-secondary { background: rgba(255, 255, 255, 0.1) !important; color: var(--text); } .text-gradient { background: linear-gradient(to right, var(--gradient-start), var(--gradient-end)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; } .btn-gradient { background: linear-gradient(to right, var(--gradient-start), var(--gradient-end)); border: none; color: white; } .btn-gradient:hover { background: linear-gradient(to right, var(--gradient-end), var(--gradient-start)); color: white; } .btn-outline-gradient { border: 1px solid var(--gradient-start); color: var(--gradient-start); } .btn-outline-gradient:hover { background: linear-gradient(to right, var(--gradient-start), var(--gradient-end)); color: white; } .gradient-border { border: 1px solid transparent; background: linear-gradient(#0f172a, #0f172a) padding-box, linear-gradient(to right, var(--gradient-start), var(--gradient-end)) border-box; } .navbar { background-color: var(--background-elevated); backdrop-filter: blur(10px); border-bottom: 1px solid var(--border-color); transition: background-color 0.3s ease; } .navbar a { color: var(--text) !important; } .dropdown-divider { border-top: 1px solid var(--border-color); } .cover-container{ position:relative; } .cover-container a:hover+.game-info-cover{ display: flex; } .cover-container .game-info-cover{ border: 1px solid #000; margin-left: 10px; position: absolute; top: 0; left: 0; width: 100%; height: 100%; color: #fff; background: rgba(0, 0, 0, 0.7); display: none; justify-content: center; align-items: center; } /* Game Card Styles */ .game-card-grid { transition: transform 0.2s ease-in-out; } .game-card-grid:hover { transform: translateY(-5px); } .game-cover-wrapper { position: relative; overflow: hidden; border-radius: 8px; } .game-cover { width: 100%; height: auto; aspect-ratio: 3/4; object-fit: cover; transition: transform 0.3s ease; } .game-card-grid:hover .game-cover { transform: scale(1.05); } .game-cover-overlay { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: linear-gradient(to top, rgba(0, 0, 0, 0.9) 0%, transparent 50%); opacity: 0; transition: opacity 0.3s ease; display: flex; align-items: flex-end; padding: 1rem; } .game-card-grid:hover .game-cover-overlay { opacity: 1; } .overlay-content { width: 100%; } .rating-badge { background: linear-gradient(90deg, var(--primary), var(--accent)); color: white; padding: 0.4rem 0.8rem; border-radius: 20px; font-size: 0.9rem; font-weight: 600; display: inline-block; } .game-info-grid .game-title { font-size: 0.9rem; font-weight: 600; line-height: 1.3; } /* Card View Styles */ .game-card-enhanced { background-color: var(--card-bg); transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out; overflow: hidden; border: 1px solid var(--border-color); } .game-card-enhanced:hover { transform: translateY(-5px); box-shadow: 0 8px 20px rgba(127, 0, 255, 0.3); } .game-card-enhanced .card-body { background-color: var(--card-bg); } /* List View Styles */ .game-card-list { background-color: var(--card-bg); transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out; border: 1px solid var(--border-color); } .game-card-list:hover { transform: translateX(5px); box-shadow: 0 4px 15px rgba(127, 0, 255, 0.3); } .game-card-list .card-body { background-color: var(--card-bg); } /* View Mode Button Styles */ .view-mode-btn { padding: 0.5rem 0.75rem; transition: all 0.2s ease-in-out; } .view-mode-btn.active { background: linear-gradient(90deg, var(--primary), var(--accent)); border-color: transparent; color: white !important; } .view-mode-btn:not(.active):hover { background-color: var(--card-hover); } /* Theme Toggle Button */ .theme-toggle-btn { padding: 0.5rem; background: var(--card-bg); border: 1px solid var(--border-color); border-radius: 50%; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: all 0.3s ease; color: var(--text); } .theme-toggle-btn:hover { background: var(--card-hover); transform: scale(1.1); } .theme-toggle-btn i { font-size: 1.2rem; } /* Text color overrides for light theme */ [data-theme="light"] .text-white { color: var(--text) !important; } [data-theme="light"] .text-muted { color: var(--text-muted) !important; } [data-theme="light"] .text-gray-400 { color: var(--text-muted) !important; } [data-theme="light"] .bg-dark { background-color: var(--card-bg) !important; } [data-theme="light"] .border-secondary { border-color: var(--border-color) !important; } [data-theme="light"] .border-dark { border-color: var(--border-color) !important; } /* Button styles for light theme */ [data-theme="light"] .btn-outline-light { border-color: var(--border-color); color: var(--text); } [data-theme="light"] .btn-outline-light:hover { background-color: var(--card-hover); color: var(--text); } /* Footer */ footer { background-color: var(--background-alt); border-top-color: var(--border-color) !important; } /* Responsive adjustments */ @media (max-width: 768px) { .game-info-grid .game-title { font-size: 0.85rem; } .rating-badge { font-size: 0.8rem; padding: 0.3rem 0.6rem; } }