Changed around line 1
+ :root {
+ --primary-red: #e60012;
+ --gold: #ffd700;
+ --card-width: min(90vw, 600px);
+ --card-height: min(80vh, 800px);
+ }
+
+ * {
+ margin: 0;
+ padding: 0;
+ box-sizing: border-box;
+ }
+
+ body {
+ min-height: 100vh;
+ background: linear-gradient(135deg, #1a0f1f, #2c1810);
+ display: grid;
+ place-items: center;
+ font-family: system-ui, sans-serif;
+ overflow: hidden;
+ }
+
+ .card-container {
+ position: relative;
+ perspective: 2000px;
+ }
+
+ .lantern {
+ position: absolute;
+ width: 60px;
+ height: 80px;
+ background: var(--primary-red);
+ border-radius: 30px;
+ box-shadow: 0 0 20px rgba(230, 0, 18, 0.6);
+ animation: sway 3s ease-in-out infinite;
+ }
+
+ .lantern.left {
+ left: -100px;
+ animation-delay: -1.5s;
+ }
+
+ .lantern.right {
+ right: -100px;
+ }
+
+ .greeting-card {
+ width: var(--card-width);
+ height: var(--card-height);
+ position: relative;
+ transform-style: preserve-3d;
+ transition: transform 1s ease;
+ }
+
+ .card-front, .card-inside {
+ position: absolute;
+ width: 100%;
+ height: 100%;
+ backface-visibility: hidden;
+ border-radius: 20px;
+ padding: 2rem;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+ gap: 2rem;
+ }
+
+ .card-front {
+ background: linear-gradient(45deg, var(--primary-red), #ff4d4d);
+ color: var(--gold);
+ text-align: center;
+ }
+
+ .card-inside {
+ background: linear-gradient(45deg, #fff1f1, #ffe4e4);
+ transform: rotateY(180deg);
+ }
+
+ h1 {
+ display: flex;
+ flex-direction: column;
+ gap: 1rem;
+ }
+
+ .chinese {
+ font-size: clamp(1.5rem, 5vw, 3rem);
+ }
+
+ .spanish {
+ font-size: clamp(1.2rem, 4vw, 2.5rem);
+ }
+
+ .open-card {
+ font-size: 2rem;
+ background: none;
+ border: none;
+ cursor: pointer;
+ transition: transform 0.3s;
+ }
+
+ .open-card:hover {
+ transform: scale(1.2);
+ }
+
+ .message {
+ text-align: center;
+ line-height: 1.6;
+ }
+
+ .interactive-elements {
+ display: flex;
+ gap: 1rem;
+ }
+
+ .interactive-elements button {
+ font-size: 1.5rem;
+ background: none;
+ border: none;
+ cursor: pointer;
+ transition: transform 0.3s;
+ }
+
+ .interactive-elements button:hover {
+ transform: scale(1.2);
+ }
+
+ @keyframes sway {
+ 0%, 100% { transform: translateX(0) rotate(5deg); }
+ 50% { transform: translateX(10px) rotate(-5deg); }
+ }
+
+ @media (max-width: 768px) {
+ .lantern {
+ display: none;
+ }
+ }
+
+ .flipped {
+ transform: rotateY(180deg);
+ }
+
+ .heart {
+ position: absolute;
+ font-size: 1.5rem;
+ pointer-events: none;
+ animation: float 2s ease-out forwards;
+ }
+
+ @keyframes float {
+ 0% {
+ transform: translateY(0) scale(0.5);
+ opacity: 1;
+ }
+ 100% {
+ transform: translateY(-100vh) scale(1.5);
+ opacity: 0;
+ }
+ }