html { scroll-behavior: smooth; }
body { font-family: 'Poppins', sans-serif; }

.fade-in {
    animation: fadeIn 0.4s ease-in-out;
}
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Glow Ring */
.glow-ring {
    position: relative;
    border-radius: 9999px;
    padding: 4px;
    background: conic-gradient(#16a34a, #86efac, #16a34a);
}
.glow-ring::before {
    content: "";
    position: absolute;
    inset: -6px;
    border-radius: 9999px;
    background: conic-gradient(#22c55e, #bbf7d0, #22c55e);
    filter: blur(14px);
    opacity: 0.9;
    z-index: -1;
}

/* App Card */
.app-card {
    position: relative;
    overflow: hidden;
    transition: all 0.25s ease;
}
.app-card:active {
    transform: scale(0.97);
}

/* Selected Item Highlight */
.selected-item {
    background: #fee2e2 !important;
    border: 2px solid #dc2626;
    box-shadow: 0 8px 20px rgba(220,38,38,0.25);
}

/* Ripple */
.ripple {
    position: absolute;
    border-radius: 50%;
    background: rgba(239,68,68,0.25);
    transform: scale(0);
    animation: rippleAnim 0.6s linear;
}
@keyframes rippleAnim {
    to {
        transform: scale(4);
        opacity: 0;
    }
}