/* Global Styles - Test.html Theme Applied */ * { margin: 0; padding: 0; box-sizing: border-box; font-family: Arial, sans-serif; } body { font-family: Arial, sans-serif; background: transparent; color: #ffffff; margin: 0; padding: 0; height: 100vh; overflow: hidden; } /* Enhanced text visibility for area names and game overlays */ .area-name, .zone-name, .location-text, .game-text { color: #ffffff !important; text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.9), -1px -1px 2px rgba(0, 0, 0, 0.8), 1px -1px 2px rgba(0, 0, 0, 0.8), -1px 1px 2px rgba(0, 0, 0, 0.8), 1px 1px 2px rgba(0, 0, 0, 0.8) !important; -webkit-text-stroke: 1px rgba(0, 0, 0, 0.5); font-weight: bold !important; z-index: 9999 !important; } /* Global text enhancement for better visibility */ body * { text-rendering: optimizeLegibility; } /* Ensure all text elements have proper contrast */ .text-overlay, .ui-text, .game-ui-text { color: #ffffff; text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8); font-weight: 600; } /* Global enhancement for any text that might be area names */ div:not(.container):not(.modal):not(.panel):not(.card):not(.button) { text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.7); } /* Specific enhancement for common area name patterns */ [class*="area"], [class*="zone"], [class*="location"], [id*="area"], [id*="zone"], [id*="location"] { color: #ffffff !important; text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.9), -1px -1px 2px rgba(0, 0, 0, 0.8), 1px -1px 2px rgba(0, 0, 0, 0.8), -1px 1px 2px rgba(0, 0, 0, 0.8), 1px 1px 2px rgba(0, 0, 0, 0.8) !important; -webkit-text-stroke: 0.5px rgba(0, 0, 0, 0.5); font-weight: bold !important; z-index: 9999 !important; } /* Enhanced visibility for any dynamically created text */ *[style*="position: absolute"], *[style*="position: fixed"] { text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.8); } /* Area name display animations */ @keyframes areaNameFadeIn { from { opacity: 0; transform: translateY(-20px) scale(0.8); } to { opacity: 1; transform: translateY(0) scale(1); } } @keyframes areaNameFadeOut { from { opacity: 1; transform: translateY(0) scale(1); } to { opacity: 0; transform: translateY(-20px) scale(0.8); } } /* Area name display styling */ .area-name-display { transition: all 0.3s ease; } .area-name-display:hover { transform: scale(1.05); box-shadow: 0 6px 20px rgba(124, 61, 171, 0.4); } /* Background overlay - Hidden to prevent full screen grey overlay */ .background-overlay { display: none; } .container { width: 95%; max-width: 1200px; position: fixed; top: 10%; left: 20%; padding: 14px; display: flex; flex-direction: column; z-index: 10; } .container.hidden { display: none !important; visibility: hidden; } .card-container { background-color: #2c2c54; border-radius: 10px; box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3); border: 1px solid rgba(255, 255, 255, 0.1); padding: 20px; display: flex; flex-direction: column; gap: 15px; position: relative; } .card-container::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; border-radius: 10px; box-shadow: 0 0 30px rgba(52, 152, 219, 0.2); z-index: -1; pointer-events: none; } header, .header { display: flex; justify-content: space-between; align-items: center; background: linear-gradient(45deg, #3498db, #8e44ad); padding: 10px; border-radius: 10px; box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3); color: white; } .header img.logo, .logo img { width: 40px; height: 40px; border-radius: 50%; border: 2px solid #fff; } .header .server-name { font-size: 20px; font-weight: bold; } .banner { text-align: center; margin-top: 14px; } .banner img { width: 100%; height: 150px; border-radius: 10px; object-fit: cover; box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3); } .title h1 { font-size: 24px; font-weight: 700; text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.5); } .header-buttons { display: flex; gap: 10px; } .header-btn { width: 30px; height: 30px; border-radius: 50%; border: none; background-color: rgba(255, 255, 255, 0.2); color: white; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: all 0.2s; } .header-btn:hover { background-color: rgba(255, 255, 255, 0.3); transform: scale(1.1); } .close-btn-small:hover { background-color: rgba(231, 76, 60, 0.8); } .banner { width: 100%; text-align: center; border-radius: var(--border-radius); overflow: hidden; box-shadow: var(--box-shadow); } .banner img { width: 100%; max-height: 180px; object-fit: cover; display: block; } .search-container { display: flex; align-items: center; gap: 10px; margin: 10px 0; } .search-bar { flex: 1; position: relative; } .search-icon { position: absolute; right: 15px; top: 50%; transform: translateY(-50%); color: #6c7293; z-index: 1; } .search-bar input { width: 100%; padding: 12px 45px 12px 20px; border-radius: var(--border-radius); border: none; background-color: var(--panel-color); color: white; font-size: 16px; box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); } .search-bar input::placeholder { color: #ffffff; } .refresh-btn { background-color: var(--primary-color); color: white; border: none; border-radius: var(--border-radius); width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: all 0.2s; box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); } .refresh-btn:hover { background-color: #2176b8; transform: rotate(180deg); } .refresh-btn i { font-size: 18px; } .footer { display: flex; justify-content: center; margin-top: 20px; } .close-btn { background-color: #e74c3c; color: white; border: none; border-radius: var(--border-radius); padding: 10px 20px; font-size: 16px; font-weight: 600; cursor: pointer; transition: all 0.2s; box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); display: flex; align-items: center; gap: 10px; } .close-btn:hover { background-color: #c0392b; transform: translateY(-2px); box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3); } .main-content { display: flex; gap: 14px; margin-top: 14px; flex-wrap: wrap; } .left-panel, .right-panel { flex: 1; min-width: 300px; display: flex; flex-direction: column; gap: 15px; } .panel, .players-list, .participants-list, .options-list { background-color: #2c2c54; padding: 14px; border-radius: 10px; flex: 1; height: 400px; overflow-y: auto; box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3); border: 1px solid rgba(255, 255, 255, 0.1); } .panel h2, .players-list h2, .participants-list h2, .options-list h2 { margin-top: 0; font-size: 18px; color: #ffffff; animation: bounce 2s infinite; margin-bottom: 15px; font-weight: 600; text-align: center; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); } @keyframes bounce { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-5px); } } .panel-count { text-align: center; font-size: 14px; color: #ffffff; margin-bottom: 15px; border-bottom: 1px solid rgba(52, 152, 219, 0.2); padding-bottom: 10px; } .panel-count span { color: var(--primary-color); font-weight: 700; font-size: 16px; } .players-list ul, .participants-list ul, .options-list ul { list-style-type: none; padding: 0; } .players-list ul li, .participants-list ul li, .player-item, .participant-item { padding: 10px; border-bottom: 1px solid #444; display: flex; background: linear-gradient(45deg, #246a99b6, #64307a); align-items: center; transition: background-color 0.3s ease, transform 0.3s ease; margin-bottom: 10px; border-radius: 8px; border: 1px solid rgba(255, 255, 255, 0.1); cursor: pointer; } .players-list ul li:hover, .participants-list ul li:hover, .player-item:hover, .participant-item:hover { background-color: #3a3a5a; transform: scale(1.02); box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3); } .players-list ul li img, .participants-list ul li img, .player-avatar, .participant-avatar { width: 40px; height: 40px; margin-right: 10px; border-radius: 50%; border: 2px solid #3498db; transition: transform 0.3s ease; box-shadow: 0 0 8px rgba(52, 152, 219, 0.3); } .players-list ul li:hover img, .participants-list ul li:hover img { transform: scale(1.1); } .player-avatar img, .participant-avatar img { width: 100%; height: 100%; object-fit: cover; } .player-info, .participant-info { flex: 1; display: flex; margin-right: 19px; flex-direction: column; gap: 4px; }ئ .player-info span, .participant-info span, .player-name, .participant-name, .player-id, .participant-id { font-size: 12px; color: #ccc; } .player-name, .participant-name { font-weight: 600; font-size: 1.1em; color: #ffffff; } .player-info .rank, .participant-info .role, .player-rank, .participant-role { font-weight: bold; color: #3498db; font-size: 0.85em; padding: 2px 8px; border-radius: 12px; display: inline-block; width: fit-content; } .player-info .rank.manager, .participant-info .role.manager, .rank-manager, .role-manager { color: #e74c3c; background: linear-gradient(90deg, #e74c3c, #c0392b); } .player-info .rank.assistant, .participant-info .role.assistant, .rank-assistant, .role-assistant { color: #f1c40f; background: linear-gradient(90deg, #f1c40f, #f39c12); } .player-info .rank.member, .participant-info .role.member, .rank-member, .role-member { color: #2ecc71; background: linear-gradient(90deg, #2ecc71, #27ae60); } .player-job, .participant-job { font-size: 12px; color: #95a5a6; margin-bottom: 2px; } .player-status, .participant-status { font-size: 12px; margin-bottom: 4px; } .player-status.online, .participant-status.online { color: #2ecc71; } .player-status.offline, .participant-status.offline { color: #e74c3c; } .player-progress, .participant-progress { height: 5px; background-color: rgba(44, 45, 53, 0.5); border-radius: 5px; margin-top: 5px; overflow: hidden; } .player-progress-bar, .participant-progress-bar { height: 100%; background: linear-gradient(90deg, var(--primary-color), var(--secondary-color)); width: 75%; transition: width 0.3s; } .player-action, .participant-action { margin-left: 10px; cursor: pointer; width: 30px; height: 30px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background-color: rgba(52, 152, 219, 0.2); transition: all 0.2s; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); } .player-action:hover, .participant-action:hover { background-color: rgba(52, 152, 219, 0.4); transform: scale(1.1); box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); } .player-action .fa-user-plus { color: #2ecc71; } .player-action .fa-check-circle { color: #f39c12; } .participant-action .fa-user-minus { color: #e74c3c; } .progress-bar { width: 100%; height: 5px; background-color: #444; border-radius: 5px; margin-top: 5px; overflow: hidden; } .progress-bar .progress { height: 100%; background: linear-gradient(45deg, #3498db, #8e44ad); border-radius: 5px; width: 70%; } .icon { margin-left: auto; font-size: 16px; color: #f1c40f; animation: spin 2s infinite; } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .options-grid, .options-list ul { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; padding: 10px 0; } .option-item, .options-list ul li { display: flex; align-items: center; background: linear-gradient(45deg, #3498db, #8e44ad); padding: 10px; border-radius: 5px; cursor: pointer; transition: background 0.3s ease, transform 0.3s ease; color: white; font-size: 1em; font-weight: 800; text-align: center; box-shadow: 0 0px 10px rgba(0, 0, 0, 0.3); } .option-item:hover, .options-list ul li:hover { background: linear-gradient(45deg, #8e44ad, #3498db); transform: scale(1.05); } .option-item i, .options-list ul li i { margin-right: 7px; padding-left: 10px; font-size: 14px; } .search-bar { margin-bottom: 14px; } .search-bar input { width: 100%; padding: 10px; border-radius: 5px; border: none; padding-right: 45px; background-color: #2c2c54; color: #fff; font-weight: 200; font-size: 18px; } .stats-container, .stats { background-color: #2c2c54; padding: 10px; border-radius: 10px; margin-top: 14px; text-align: center; box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3); border: 1px solid rgba(255, 255, 255, 0.1); } .stats-container .stat-item, .stats span { display: block; margin: 5px 0; font-size: 14px; color: #ccc; } .stats-container .stat-value { font-weight: 600; color: #3498db; font-size: 1.1em; } .action-buttons, .buttons { display: flex; justify-content: flex-end; margin-top: 14px; gap: 10px; flex-wrap: wrap; } .btn, .buttons button { background: linear-gradient(45deg, #3498db, #8e44ad); border: none; color: white; padding: 10px 20px; margin-left: 10px; border-radius: 5px; cursor: pointer; display: flex; align-items: center; font-size: 14px; transition: background 0.3s ease, transform 0.3s ease; animation: pulse 2s infinite; font-weight: 600; box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3); } .btn:hover, .buttons button:hover { background: linear-gradient(45deg, #8e44ad, #3498db); transform: scale(1.1); } @keyframes pulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.05); } } .btn i, .buttons button i { margin-right: 5px; font-size: 1.1em; } .btn.discord, .buttons button.discord { background: linear-gradient(45deg, #7289da, #8e44ad); } .btn.discord:hover, .buttons button.discord:hover { background: linear-gradient(45deg, #8e44ad, #7289da); } .btn.close, .buttons button.close { background: linear-gradient(45deg, #e74c3c, #8e44ad); } .btn.close:hover, .buttons button.close:hover { background: linear-gradient(45deg, #8e44ad, #e74c3c); } /* Scrollbar styling */ .players-list::-webkit-scrollbar, .participants-list::-webkit-scrollbar, .options-list::-webkit-scrollbar, .player-list::-webkit-scrollbar, .participant-list::-webkit-scrollbar { width: 10px; } .players-list::-webkit-scrollbar-track, .participants-list::-webkit-scrollbar-track, .options-list::-webkit-scrollbar-track, .player-list::-webkit-scrollbar-track, .participant-list::-webkit-scrollbar-track { background: #1e1e2f; } .players-list::-webkit-scrollbar-thumb, .participants-list::-webkit-scrollbar-thumb, .options-list::-webkit-scrollbar-thumb, .player-list::-webkit-scrollbar-thumb, .participant-list::-webkit-scrollbar-thumb { background: linear-gradient(45deg, #3498db, #8e44ad); border-radius: 5px; } ::-webkit-scrollbar { width: 0px; } ::-webkit-scrollbar-track { background: rgba(29, 30, 37, 0.5); border-radius: 5px; } ::-webkit-scrollbar-thumb { background: var(--primary-color); border-radius: 5px; } ::-webkit-scrollbar-thumb:hover { background: #2176b8; } /* Animations */ @keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } } @keyframes slideIn { from { transform: translateY(-20px); opacity: 0; } to { transform: translateY(0); opacity: 1; } } .card-container { animation: slideIn 0.5s ease-out forwards; } .player-item, .participant-item, .option-item { animation: fadeIn 0.3s ease-out forwards; } /* Responsive design */ @media (max-width: 1000px) { .main-content { grid-template-columns: 1fr 1fr; } .options-panel { grid-column: span 2; } } @media (max-width: 768px) { .main-content { grid-template-columns: 1fr; } .options-panel { grid-column: span 1; } .panel { height: 300px; } } /* Empty list messages */ .empty-list { text-align: center; color: #ffffff; padding: 20px; font-style: italic; } /* Clicked animations */ .clicked { animation: pulse 0.5s ease-in-out; } @keyframes pulse { 0% { transform: scale(1); } 50% { transform: scale(1.1); } 100% { transform: scale(1); } } /* Rotating animation for refresh button */ .rotating { animation: rotate 1s linear; } @keyframes rotate { from { transform: rotate(0deg); } to { transform: rotate(360deg); } } /* Background image for the body */ .background-overlay::after { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(135deg, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0.4) 100%); } /* Invitation notification styles */ #invitation-overlay { position: fixed; top: 500px; right: 20px; z-index: 1000; display: flex; flex-direction: column; gap: 10px; } .invitation-notification { width: 300px; background-color: var(--panel-color); border-radius: var(--border-radius); box-shadow: var(--box-shadow); border: 1px solid rgba(52, 152, 219, 0.3); overflow: hidden; transform: translateX(100%); opacity: 0; transition: transform 0.3s ease-out, opacity 0.3s ease-out; } .invitation-notification.active { transform: translateX(0); opacity: 1; } .invitation-notification.closing { transform: translateX(100%); opacity: 0; } .invitation-content { padding: 15px; } .invitation-header { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; color: var(--primary-color); font-weight: 700; border-bottom: 1px solid rgba(52, 152, 219, 0.2); padding-bottom: 10px; } .invitation-header i { font-size: 20px; } .invitation-message { margin-bottom: 15px; color: var(--text-color); font-size: 14px; } .invitation-message .host-name { color: var(--primary-color); font-weight: 700; } .invitation-timer { margin-bottom: 15px; display: flex; align-items: center; gap: 10px; } .timer-bar { flex: 1; height: 5px; background-color: rgba(44, 45, 53, 0.5); border-radius: 5px; overflow: hidden; } .timer-progress { height: 100%; width: 100%; background-color: var(--primary-color); transition: width 1s linear; } .timer-text { color: var(--text-color); font-size: 12px; font-weight: 700; width: 20px; text-align: center; } .invitation-buttons { display: flex; gap: 10px; } .accept-btn, .decline-btn { flex: 1; padding: 8px; border: none; border-radius: 5px; display: flex; align-items: center; justify-content: center; gap: 5px; cursor: pointer; font-size: 14px; font-weight: 600; transition: transform 0.2s, box-shadow 0.2s; } .accept-btn { background-color: #2ecc71; color: white; } .accept-btn:hover { background-color: #27ae60; transform: translateY(-2px); box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); } .decline-btn { background-color: #e74c3c; color: white; } .decline-btn:hover { background-color: #c0392b; transform: translateY(-2px); box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); } /* Player invite status styles */ .player-action.invite-pending { background-color: rgba(243, 156, 18, 0.2); cursor: not-allowed; } .player-action.invite-pending i { color: #f39c12; } .player-action.invite-declined { background-color: rgba(231, 76, 60, 0.1); } .player-action.invite-declined i { color: #e74c3c; } .player-action .fa-user-check { color: #2ecc71; } .player-action .fa-user-times { color: #e74c3c; }