.search-container { display: flex; justify-content: center; margin-bottom: 60px; padding: 0 10px; } .search-wrapper { position: relative; width: 100%; max-width: 550px; } .search-wrapper .search-icon { position: absolute; top: 50%; left: 20px; transform: translateY(-50%); color: var(--text-color-secondary); font-size: 1.1rem; transition: color .2s ease; } #faction-search { background-color: rgba(255,255,255,.05); border: 1px solid var(--border-color); border-radius: var(--border-radius); color: #fff; padding: 15px 20px 15px 55px; width: 100%; font-size: 1.1rem; transition: all .2s ease; } #faction-search::placeholder { color: var(--text-color-secondary); } #faction-search:focus { background-color: rgba(255,255,255,.08); border-color: var(--primary-color); outline: none; box-shadow: 0 0 15px rgba(var(--primary-color-rgb), 0.2); } #faction-search:focus + .search-icon { color: var(--primary-color); } .faction-list-container { display: flex; flex-direction: column; gap: 20px; } .faction-row { background: var(--card-bg-color); border: 1px solid var(--border-color); border-radius: var(--border-radius); padding: 25px; display: grid; grid-template-columns: 80px 1fr auto; gap: 30px; align-items: start; transition: display .3s ease; } .faction-logo { width: 80px; height: 80px; background-color: rgba(255,255,255,.05); border-radius: 50%; display: flex; justify-content: center; align-items: center; font-size: 40px; flex-shrink: 0; } .faction-details h3 { font-size: 1.5rem; margin: 0 0 5px 0; } .faction-details .faction-leader { color: var(--text-color-secondary); font-size: .9rem; } .faction-details .faction-rating { display: flex; align-items: center; gap: 10px; margin-top: 15px; } .rating-stars-display { color: #f0c42f; font-size: 1.1rem; } .rating-stars-label { font-size: .9rem; color: var(--text-color-secondary); } .faction-story { font-size: 1rem; color: var(--text-color-secondary); line-height: 1.6; margin-top: 20px; border-top: 1px solid var(--border-color); padding-top: 20px; } .faction-meta { text-align: right; width: 200px; } .faction-stats { display: flex; flex-direction: column; gap: 10px; font-size: .9rem; margin-bottom: 20px; align-items: flex-end; } .stat-item { color: var(--text-color-secondary); } .stat-item strong { color: var(--text-color-primary); } .status-open { color: #2ecc71; font-weight: 700; } .status-closed { color: #e74c3c; font-weight: 700; } .faction-meta .cta-button, .faction-meta .cta-button-small { width: 100%; margin-top: 10px; } hr.faction-divider { border: none; height: 1px; background-color: var(--border-color); margin: 60px 0; } .modal-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0,0,0,0.7); backdrop-filter: blur(5px); display: flex; justify-content: center; align-items: center; z-index: 2000; opacity: 0; pointer-events: none; transition: opacity .3s ease; } .modal-overlay.active { opacity: 1; pointer-events: auto; } .modal-content { background-color: var(--card-bg-color); border: 1px solid var(--border-color); border-radius: var(--border-radius); padding: 40px; width: 90%; max-width: 500px; text-align: center; position: relative; transform: scale(.95); transition: transform .3s ease; } .modal-overlay.active .modal-content { transform: scale(1); } .modal-close-btn { position: absolute; top: 15px; right: 20px; background: none; border: none; color: var(--text-color-secondary); font-size: 2rem; cursor: pointer; line-height: 1; } #rating-modal-title { font-size: 1.8rem; margin-bottom: 20px; } #rating-modal-stars { color: #f0c42f; font-size: 2.5rem; cursor: pointer; margin-bottom: 30px; } #rating-modal-stars i:hover { transform: scale(1.1); } #rating-modal-stars .fa-solid, #rating-modal-stars .fa-regular { transition: transform .2s ease; } #custom-notify { position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%) scale(0.8); opacity: 0; background-color: rgba(17, 17, 17, 0.85); backdrop-filter: blur(15px); -webkit-backdrop-filter: blur(15px); color: #fff; padding: 25px 35px; border-radius: var(--border-radius); border: 1px solid var(--border-color); box-shadow: 0 15px 40px rgba(0,0,0,0.5); z-index: 9999; transition: transform 0.4s cubic-bezier(0.2, 1, 0.3, 1), opacity 0.4s ease; display: flex; align-items: center; gap: 20px; pointer-events: none; } #custom-notify.show { transform: translate(-50%, -50%) scale(1); opacity: 1; } #custom-notify i { font-size: 1.8rem; } #custom-notify span { font-size: 1.1rem; font-weight: 500; } #custom-notify.success i { color: #ffffffff; } #custom-notify.warning i { color: #ffffffff; }