  body {
            box-sizing: border-box;
            margin: 0;
            padding: 0;
            font-family: 'Georgia', serif;
            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
            height: 100%;
            overflow: hidden;
        }

        html {
            height: 100%;
        }

        .card-container {
            position: relative;
            width: 100%;
            height: 100%;
            perspective: 1000px;
            display: flex;
            justify-content: center;
            align-items: center;
        }

        .card {
            width: 90%;
            max-width: 800px;
            height: 85%;
            max-height: 600px;
            position: relative;
            transform-style: preserve-3d;
            transition: transform 0.8s cubic-bezier(0.4, 0.0, 0.2, 1);
            cursor: pointer;
        }

        .card.flipped {
            transform: rotateY(180deg);
        }

        .card-face {
            position: absolute;
            width: 100%;
            height: 100%;
            backface-visibility: hidden;
            border-radius: 20px;
            box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
            overflow: hidden;
        }

        .card-front {
            background: linear-gradient(45deg, #ff9a9e 0%, #fecfef 50%, #fecfef 100%);
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            text-align: center;
            padding: 40px;
        }

        .card-back {
            background: linear-gradient(45deg, #a8edea 0%, #fed6e3 100%);
            transform: rotateY(180deg);
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            text-align: center;
            padding: 40px;
        }

        .teacher-photo {
            width: 300px;
            height: 1000px;
            border-radius: 90%;
            background: linear-gradient(45deg, #ff6b6b, #4ecdc4);
            display: flex;
            align-items: center;
            justify-content: center;
            margin-bottom: 0px;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
            animation: float 3s ease-in-out infinite;
            position: relative;
            overflow: hidden;
        }

        .teacher-photo::before {
            
            position: absolute;
            top: 50%;
            left: 50%;
          
            width: 500px;
            height: 500px;
            border-radius: 100%;
            background: white;
        }

        .teacher-photo::after {
            
            position: absolute;
            top: 90%;
            left: 50%;
         
            font-size: 60px;
            z-index: 2;
        }

        @keyframes float {
            0%, 100% { transform: translateY(0px); }
            50% { transform: translateY(-10px); }
        }

        .title {
            font-size: 3rem;
            font-weight: bold;
            color: #2c3e50;
            margin-bottom: 20px;
            text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1);
            animation: fadeInUp 1s ease-out;
        }

        .subtitle {
            font-size: 1.5rem;
            color: #34495e;
            margin-bottom: 30px;
            font-style: italic;
            animation: fadeInUp 1s ease-out 0.3s both;
        }

        .message {
            font-size: 1.2rem;
            line-height: 1.8;
            color: #2c3e50;
            max-width: 600px;
            margin-bottom: 30px;
            animation: fadeInUp 1s ease-out 0.6s both;
        }

        .flip-instruction {
            font-size: 1rem;
            color: #7f8c8d;
            animation: pulse 2s infinite;
        }

        @keyframes fadeInUp {
            from {
                opacity: 0;
                transform: translateY(30px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        @keyframes pulse {
            0%, 100% { opacity: 0.7; }
            50% { opacity: 1; }
        }

        .decorative-elements {
            position: absolute;
            width: 100%;
            height: 100%;
            pointer-events: none;
        }

        .star {
            position: absolute;
            color: #f39c12;
            animation: twinkle 2s infinite;
        }

        .star:nth-child(1) { top: 10%; left: 10%; font-size: 20px; animation-delay: 0s; }
        .star:nth-child(2) { top: 20%; right: 15%; font-size: 16px; animation-delay: 0.5s; }
        .star:nth-child(3) { bottom: 20%; left: 20%; font-size: 18px; animation-delay: 1s; }
        .star:nth-child(4) { bottom: 15%; right: 10%; font-size: 22px; animation-delay: 1.5s; }
        .star:nth-child(5) { top: 50%; left: 5%; font-size: 14px; animation-delay: 2s; }
        .star:nth-child(6) { top: 60%; right: 8%; font-size: 20px; animation-delay: 2.5s; }

        @keyframes twinkle {
            0%, 100% { opacity: 0.3; transform: scale(1); }
            50% { opacity: 1; transform: scale(1.2); }
        }

        .heart {
            position: absolute;
            color: #e74c3c;
            font-size: 24px;
            animation: heartbeat 1.5s infinite;}
            .heart:nth-child(7) { top: 30%; left: 85%; animation-delay: 0s; }
        .heart:nth-child(😎 ){ bottom: 40%; left: 10%; animation-delay: 0.7s; }

        @keyframes heartbeat {
            0%, 100% { transform: scale(1); }
            50% { transform: scale(1.3); }
        }

        .signature {
            font-size: 1.3rem;
            color: #2c3e50;
            font-style: italic;
            margin-top: 20px;
            animation: fadeInUp 1s ease-out 0.9s both;
        }
Aireen Joice
.apple-icon {
            font-size: 40px;
            margin-bottom: 20px;
            animation: bounce 2s infinite;
        }

        @keyframes bounce {
            0%, 20%, 50%, 80%, 100% { transform: translateY(0); }
            40% { transform: translateY(-10px); }
            60% { transform: translateY(-5px); }
        }

        @media (max-width: 768px) {
            .card {
                width: 95%;
                height: 90%;
            }
            
            .card-front, .card-back {
                padding: 20px;
            }
            
            .title {
                font-size: 2rem;
            }

.subtitle {
                font-size: 1.2rem;
            }
            
            .message {
                font-size: 1rem;
            }
            
            .teacher-photo {
                width: 120px;
                height: 120px;
            }
            
            .teacher-photo::after {
                font-size: 50px;
            }
        }