@keyframes buttonPop {
    0% { transform: scale(1) }
    50% { transform: scale(1.03) }
    100% { transform: scale(1) }
}
@keyframes spin {
    from { transform: rotate(0deg) }
    to { transform: rotate(360deg) }
}
@keyframes rotate-gradient {
    0% { transform: rotate(0deg) }
    100% { transform: rotate(360deg) }
}
#darkModeToggle:hover {
    background-color: rgba(255, 255, 255, 0.3);
    transform: scale(1.1);
    will-change: transform;
}
#darkModeIcon {
    width: 24px;
    height: 24px;
    transition: transform 0.3s ease;
    will-change: transform;
}
.skip-link:focus {
    top: 0
}
.save-btn {
    bottom: 5px;
    right: 10px;
    padding: 3px;
    transition: transform 0.2s, opacity 0.2s;
    opacity: 0.4;
    position: absolute;
}
.homebrew-icon {
    position: absolute;
    bottom: 5px;
    right: 30px;
    opacity: 0.4;
    transition: transform 0.2s, opacity 0.2s;
    padding: 6px;
}
.card:hover .save-btn,
.card:hover .homebrew-icon {
    opacity: 0.6;
}
.save-btn:hover {
    transform: scale(1.1);
    opacity: 1 !important;
}
.homebrew-icon:hover {
    transform: scale(1.1);
    opacity: 1 !important;
}
.clear-favorites-btn:hover, .export-favorites-btn:hover {
    transform: scale(1.1);
    will-change: transform;
}
.clear-button:hover {
    color: #333
}
.advanced-filter[aria-expanded="true"] .filter-icon {
    transform: rotate(180deg);
    will-change: transform;
}
.advanced-filter:active {
    background-color: #d0d0d5;
    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.1)
}
.sub-filter:hover {
    transform: scale(1.05);
    will-change: transform;
}
.filter-group:hover:not(.disabled), .sub-filter:hover:not(.disabled), .affiliated-filter:hover:not(.disabled){
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    will-change: transform;
}
#closeModal:hover {
    box-shadow: 0 2px 8px rgba(74, 144, 226, 0.3);
}
.animated-logo {
    display: grid;
    gap: 8%;
    grid-template-columns: 1fr 1fr;
    width: 80px;
    height: 80px;
    margin: auto;
}
.app-image-container .animated-logo {
    position: relative;
    top: 50%;
    transform: rotate(45deg) translate(-31px, -31%) scale(0.65);
    will-change: transform;
}
.animated-logo__section {
    border-radius: 12%;
    overflow: hidden;
    position: relative;
}
.animated-logo__section:after {
    animation: rotate-gradient 10s linear infinite;
    background: linear-gradient(90deg, #7885fa 20%, #dcadda 60%, #ffbfb1);
    content: "";
    min-height: 350%;
    min-width: 350%;
    position: absolute;
    will-change: transform;
    backface-visibility: hidden;
    transform: translateZ(0);
}
.animated-logo__section-1:after { bottom: 0; left: -55%; right: 0; top: -55% }
.animated-logo__section-2:after { bottom: 0; left: -190%; right: 0; top: -55% }
.animated-logo__section-3:after { bottom: 0; left: -55%; right: 0; top: -190% }
.animated-logo__section-4:after { bottom: 0; left: -190%; right: 0; top: -190% }