* { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; line-height: 1.6; color: #333; background-color: #f4f4f4; } header { background-color: #2c3e50; color: #fff; padding: 1rem; text-align: center; } .search-container { margin-top: 1rem; } #search-input { padding: 0.5rem; width: 80%; max-width: 500px; border: none; border-radius: 4px; font-size: 1rem; } .view-toggle-container { margin-top: 1rem; display: flex; justify-content: center; } .view-toggle { display: inline-flex; background-color: #ecf0f1; border-radius: 4px; overflow: hidden; box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); } .view-toggle-btn { padding: 0.5rem 1rem; border: none; background-color: transparent; cursor: pointer; font-size: 0.9rem; transition: background-color 0.2s, color 0.2s; } .view-toggle-btn:hover { background-color: #d6dbdf; } .view-toggle-btn.active { background-color: #3498db; color: #fff; } .container { display: grid; grid-template-columns: 1fr 2fr 3fr; gap: 1rem; padding: 1rem; max-width: 1400px; margin: 0 auto; } @media (max-width: 1024px) { .container { grid-template-columns: 1fr 2fr; } .character-details { grid-column: span 2; } } .character-details { flex: 2; padding: 1rem; overflow-y: auto; max-height: calc(100vh - 150px); } @media (max-width: 768px) { .container { grid-template-columns: 1fr; } .character-details { grid-column: span 1; } } .roles-container, .characters-container, .character-details { background-color: #fff; border-radius: 5px; box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); padding: 1rem; } h2 { margin-bottom: 0.5rem; color: #2c3e50; border-bottom: 2px solid #ecf0f1; padding-bottom: 0.5rem; } .alt-name { font-size: 1rem; font-style: italic; color: #7f8c8d; margin-top: 0; margin-bottom: 1rem; } #roles-list { list-style: none; } #roles-list li { padding: 0.5rem; cursor: pointer; border-radius: 4px; transition: background-color 0.2s; } #roles-list li:hover { background-color: #ecf0f1; } #roles-list li.active { background-color: #3498db; color: #fff; } #characters-grid { display: flex; flex-direction: column; gap: 0.5rem; } .role-section-header { display: flex; align-items: center; padding: 0.75rem; border-radius: 4px; cursor: pointer; font-weight: bold; color: #fff; margin-top: 0.5rem; } .role-section-header:first-child { margin-top: 0; } .expand-icon { margin-right: 0.5rem; font-size: 1.2rem; width: 20px; text-align: center; } .character-count { margin-left: 0.5rem; font-size: 0.9rem; opacity: 0.8; } .role-characters-container { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 0.5rem; padding: 0.5rem; transition: max-height 0.5s ease-in-out, opacity 0.3s ease-in-out, visibility 0.3s ease-in-out; max-height: 5000px; /* Increased to accommodate more characters */ opacity: 1; overflow: hidden; visibility: visible; } .role-characters-container.collapsed { max-height: 0; opacity: 0; padding: 0; margin: 0; overflow: hidden; visibility: hidden; /* Hide completely when collapsed */ } .character-card { background-color: #ecf0f1; border-radius: 4px; padding: 0.5rem; text-align: center; cursor: pointer; transition: transform 0.2s, box-shadow 0.2s; } .character-card:hover { transform: translateY(-3px); box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); } .character-card.active { background-color: #3498db; color: #fff; } #character-info { min-height: 300px; } .placeholder-message { display: flex; justify-content: center; align-items: center; height: 100%; min-height: 100px; color: #7f8c8d; font-style: italic; width: 100%; text-align: center; padding: 2rem; background-color: #f9f9f9; border-radius: 4px; margin-top: 1rem; } .character-section { margin-bottom: 1rem; } .character-header { display: flex; justify-content: space-between; align-items: center; } .acquired-toggle { display: flex; align-items: center; gap: 0.5rem; } .character-section h3 { color: #2c3e50; margin-bottom: 0.5rem; } .character-section ul { list-style-position: inside; padding-left: 1rem; } .character-section p { text-align: justify; white-space: pre-line; /* Preserve newlines */ overflow-wrap: break-word; /* Break long words */ word-wrap: break-word; max-width: 100%; } /* Grid items for spells, abilities, and weapon skills */ .grid-items { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 0.5rem; margin-top: 0.5rem; } .grid-item { background-color: #f8f9fa; border-radius: 4px; padding: 0.5rem; text-align: center; border: 1px solid #e9ecef; font-size: 0.9rem; } /* Bullet lists for acquisition, special features, and trust synergy */ .character-section ul { margin-top: 0.5rem; padding-left: 1.5rem; } .character-section li { margin-bottom: 0.5rem; line-height: 1.4; } /* Synergy characters section */ .synergy-characters { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 0.5rem; } .synergy-character { padding: 0.5rem 0.75rem; border-radius: 4px; color: #fff; font-size: 0.9rem; cursor: pointer; transition: transform 0.2s, box-shadow 0.2s; } .synergy-character:hover { transform: translateY(-2px); box-shadow: 0 3px 6px rgba(0, 0, 0, 0.1); } /* Synergy Sets section */ .synergy-sets-container { margin-top: 2rem; padding-top: 1rem; border-top: 2px solid #ecf0f1; } .synergy-sets-container h2 { margin-bottom: 1rem; } #synergy-sets { display: flex; flex-direction: column; gap: 1rem; } .synergy-set { background-color: #f8f9fa; border-radius: 8px; padding: 1rem; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05); } .synergy-set-title { font-weight: bold; margin-bottom: 0.5rem; color: #2c3e50; } .synergy-set-characters { display: flex; flex-wrap: wrap; gap: 0.5rem; } .synergy-set-character { padding: 0.5rem 0.75rem; border-radius: 4px; color: #fff; font-size: 0.9rem; cursor: pointer; transition: transform 0.2s, box-shadow 0.2s; } .synergy-set-character:hover { transform: translateY(-2px); box-shadow: 0 3px 6px rgba(0, 0, 0, 0.1); } footer { background-color: #2c3e50; color: #fff; text-align: center; padding: 1rem; margin-top: 1rem; } /* Role-specific colors */ .Tank { background-color: #e74c3c; } .Melee { background-color: #e67e22; } .Ranged { background-color: #f1c40f; } .Offensive { background-color: #9b59b6; } .Healer { background-color: #2ecc71; } .Support { background-color: #3498db; } .Special { background-color: #1abc9c; } .Unity { background-color: #34495e; } .Synergy { background-color: #7f8c8d; } .Tank, .Melee, .Ranged, .Offensive, .Healer, .Support, .Special, .Unity, .Synergy { color: #fff; } /* Acquired character styling */ .character-card.acquired { border: 2px solid #27ae60; position: relative; } .character-card.acquired::after { content: "✓"; position: absolute; top: 5px; right: 5px; color: #27ae60; font-weight: bold; }