/* The rate-limit notice modal shown when a request is throttled, rendered
   from base.html: full-screen overlay, glowing panel, close button and
   entrance animations. Dark/neon storefront aesthetic. */
        /* Rate limit modal styles */
        .rate-limit-modal-overlay {
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background-color: rgba(0, 0, 0, 0.85);
            display: flex;
            justify-content: center;
            align-items: center;
            z-index: 9999;
            backdrop-filter: blur(8px);
            animation: modal-bg-appear 0.4s ease-out;
        }

        .rate-limit-modal-content {
            position: relative;
            max-width: 600px;
            width: 90%;
            max-height: 90vh;
            overflow-y: auto;
            background: linear-gradient(180deg, rgba(30, 0, 45, 0.95) 0%, rgba(15, 0, 25, 0.98) 100%);
            border-radius: 15px;
            border: 1px solid rgba(255, 0, 255, 0.4);
            box-shadow: 0 0 30px rgba(255, 0, 255, 0.6), 0 0 80px rgba(0, 255, 255, 0.3);
            animation: modal-appear 0.5s cubic-bezier(0.2, 0.9, 0.3, 1.1);
            padding: 10px;
        }

        .rate-limit-modal-content .container {
            padding: 0;
            /* Remove container padding within modal */
            margin: 0;
            width: 100%;
            max-width: none;
        }

        .rate-limit-modal-content h1 {
            text-shadow: 0 0 20px rgba(255, 0, 255, 0.9), 0 0 40px rgba(255, 0, 255, 0.6);
            margin-top: 10px;
        }

        .rate-limit-modal-content .btn {
            transform: scale(1);
            transition: all 0.3s ease;
            box-shadow: 0 0 15px rgba(255, 0, 255, 0.7), 0 0 25px rgba(0, 255, 255, 0.4);
        }

        .rate-limit-modal-content .btn:hover {
            transform: scale(1.05) translateY(-3px);
            box-shadow: 0 0 25px rgba(255, 0, 255, 0.9), 0 0 35px rgba(0, 255, 255, 0.6);
        }

        .rate-limit-modal-close {
            position: absolute;
            top: 15px;
            right: 15px;
            background: rgba(255, 0, 255, 0.2);
            border: 1px solid rgba(255, 0, 255, 0.3);
            color: #fff;
            font-size: 24px;
            cursor: pointer;
            z-index: 10;
            width: 35px;
            height: 35px;
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: 50%;
            transition: all 0.3s ease;
            box-shadow: 0 0 10px rgba(255, 0, 255, 0.4);
            text-shadow: 0 0 5px rgba(255, 255, 255, 0.8);
            opacity: 0.85;
        }

        .rate-limit-modal-close:hover {
            background: rgba(255, 0, 255, 0.4);
            transform: scale(1.1) rotate(90deg);
            box-shadow: 0 0 15px rgba(255, 0, 255, 0.7);
            opacity: 1;
        }

        @keyframes modal-appear {
            0% {
                opacity: 0;
                transform: translateY(-30px) scale(0.95);
            }

            70% {
                opacity: 1;
                transform: translateY(5px) scale(1.01);
            }

            100% {
                opacity: 1;
                transform: translateY(0) scale(1);
            }
        }

        @keyframes modal-bg-appear {
            from {
                opacity: 0;
            }

            to {
                opacity: 1;
            }
        }
