/* Extracted from index.html */
:root {
            --primary-color: #D9232D;
            --text-light: #ffffff;
            --glass-bg: rgba(255, 255, 255, 0.1);
            --glass-border: rgba(255, 255, 255, 0.2);
            --success-color: #4ade80; 
        }

        * { margin: 0; padding: 0; box-sizing: border-box; }

        body {
            font-family: 'Inter', sans-serif;
            min-height: 100dvh; 
            width: 100%;
            overflow: hidden;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            color: var(--text-light);
            background: linear-gradient(-45deg, #8B0000, #D9232D, #F37321, #2c0b0e);
            background-size: 400% 400%;
            animation: gradientBG 15s ease infinite;
            padding: 1rem;
            position: relative;
        }

        @keyframes gradientBG {
            0% { background-position: 0% 50%; }
            50% { background-position: 100% 50%; }
            100% { background-position: 0% 50%; }
        }

        .glass-card {
            background: var(--glass-bg);
            backdrop-filter: blur(16px);
            -webkit-backdrop-filter: blur(16px);
            border: 1px solid var(--glass-border);
            padding: 2.5rem 2rem; 
            border-radius: 24px;
            text-align: center;
            box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.3);
            max-width: 450px;
            width: 100%;
            opacity: 0;
            transform: translateY(30px);
            animation: fadeInUp 1s cubic-bezier(0.2, 0.8, 0.2, 1) forwards;
            position: relative;
            z-index: 10;
        }

        .logo-wrapper { margin-bottom: 1rem; }

        .logo-icon {
            font-size: clamp(2.5rem, 5vw, 3.5rem); 
            background: linear-gradient(to bottom, #fff, #ffcccc);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            filter: drop-shadow(0 0 15px rgba(243, 115, 33, 0.6)); 
        }

        .brand-name {
            font-family: 'Montserrat', sans-serif;
            font-size: clamp(1.8rem, 4vw, 2.2rem);
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: 2px;
            margin-bottom: 0.2rem;
            color: #fff;
            line-height: 1.2;
        }
        
        .brand-sub-name {
            font-family: 'Montserrat', sans-serif;
            font-size: clamp(0.9rem, 3vw, 1.2rem);
            font-weight: 600;
            color: #ffd1d1;
            letter-spacing: 3px;
            margin-bottom: 1rem;
            text-transform: uppercase;
            opacity: 0.9;
        }

        .brand-tagline {
            font-size: 0.9rem;
            font-weight: 300;
            color: rgba(255, 255, 255, 0.8);
            margin-bottom: 2.5rem;
            line-height: 1.5;
            padding: 0 10px;
        }

        .status-pill {
            position: relative;
            height: 50px;
            width: 100%; 
            max-width: 260px;
            background: rgba(0, 0, 0, 0.2);
            border: 1px solid rgba(255, 255, 255, 0.3);
            border-radius: 50px;
            display: flex;
            align-items: center;
            justify-content: center;
            margin: 0 auto;
            overflow: hidden;
            transition: all 0.6s cubic-bezier(0.2, 0.8, 0.2, 1);
            box-shadow: 0 4px 15px rgba(0,0,0,0.1);
        }

        .status-pill.loading-shape {
            width: 50px; 
            max-width: 50px;
            background: rgba(255, 255, 255, 0.1);
            border-color: rgba(255, 255, 255, 0.5);
        }

        .status-pill.success-shape {
            width: 100%;
            max-width: 280px;
            background: rgba(74, 222, 128, 0.15);
            border-color: #4ade80;
            box-shadow: 0 0 15px rgba(74, 222, 128, 0.3);
        }

        .content-wrapper {
            position: absolute;
            display: flex;
            align-items: center;
            justify-content: center;
            width: 100%;
            transition: opacity 0.3s ease, transform 0.3s ease;
        }

        .status-text {
            font-family: 'JetBrains Mono', monospace;
            font-size: 0.85rem;
            color: #fff;
            white-space: nowrap;
        }

        .loader-ring {
            width: 25px;
            height: 25px;
            border: 2px solid rgba(255, 255, 255, 0.2);
            border-top: 2px solid #fff;
            border-radius: 50%;
            animation: spin 0.8s linear infinite;
        }

        .hidden { opacity: 0; transform: scale(0.8); pointer-events: none; }
        .visible { opacity: 1; transform: scale(1); }

        @keyframes spin { to { transform: rotate(360deg); } }
        @keyframes fadeInUp { to { opacity: 1; transform: translateY(0); } }

        .footer-info {
            position: absolute;
            bottom: 20px;
            font-size: 0.65rem;
            color: rgba(255, 255, 255, 0.4);
            letter-spacing: 1px;
            text-transform: uppercase;
            text-align: center;
            width: 100%;
            padding: 0 1rem;
        }
        
        .footer-info i { margin-right: 5px; }
        .fade-out { opacity: 0; transform: scale(0.95); transition: all 0.5s ease-in-out; }

        @media screen and (max-width: 480px) {
            .glass-card {
                padding: 2rem 1.5rem;
            }
            .brand-tagline {
                margin-bottom: 2rem;
                font-size: 0.85rem;
            }
            .status-pill {
                height: 45px;
            }
            .status-text {
                font-size: 0.75rem;
            }
        }

        @media screen and (max-height: 600px) {
            .glass-card {
                transform: translateY(10px);
                margin-bottom: 40px;
            }
            .logo-icon { font-size: 2rem; }
            .brand-tagline { margin-bottom: 1.5rem; display: none; }
            .footer-info { bottom: 10px; font-size: 0.55rem; }
        }
