/* General Styling */ body { font-family: 'Fredoka One', cursive; background: linear-gradient(135deg, #0d1b2a 0%, #1b263b 50%, #162544 100%); color: #fff; margin: 0; padding: 20px; text-align: center; min-height: 100vh; position: relative; display: flex; flex-direction: column; align-items: center; overflow-x: hidden; } /* Enhanced Animated Stars Background */ body::before { content: ''; position: fixed; top: 0; left: 0; width: 200%; height: 200%; background-image: radial-gradient(2px 2px at 20px 30px, #fff, rgba(0,0,0,0)), radial-gradient(2px 2px at 40px 70px, #fff, rgba(0,0,0,0)), radial-gradient(2px 2px at 50px 160px, #fff, rgba(0,0,0,0)), radial-gradient(3px 3px at 90px 40px, #fff, rgba(0,0,0,0)), radial-gradient(2px 2px at 130px 80px, #fff, rgba(0,0,0,0)), radial-gradient(3px 3px at 160px 120px, #fff, rgba(0,0,0,0)), radial-gradient(2px 2px at 200px 150px, #fff, rgba(0,0,0,0)), radial-gradient(3px 3px at 250px 100px, #fff, rgba(0,0,0,0)); background-repeat: repeat; opacity: 0.5; z-index: -1; animation: twinkling 120s linear infinite; filter: blur(0.5px); } @keyframes twinkling { from { transform: translate(0, 0); } to { transform: translate(-50%, -50%) rotate(5deg); } } /* Enhanced Main Card Styling */ .snowman-card { background: rgba(255, 255, 255, 0.94); backdrop-filter: blur(15px); border-radius: 30px; padding: 40px; box-shadow: 0 4px 35px rgba(0, 0, 0, 0.2), inset 0 0 120px rgba(228, 67, 111, 0.08), 0 0 20px rgba(228, 67, 111, 0.1); max-width: 800px; width: 100%; margin: 20px auto; position: relative; border: 4px solid rgba(228, 67, 111, 0.4); transition: all 0.5s cubic-bezier(0.34, 1.56, 0.64, 1); overflow: hidden; } @keyframes cardShimmer { 0% { transform: rotate(0deg) scale(1); opacity: 0.5; } 50% { transform: rotate(180deg) scale(1.1); opacity: 0.8; } 100% { transform: rotate(360deg) scale(1); opacity: 0.5; } } /* Enhanced Typography */ h1, h2, h3 { color: #e4436f; text-shadow: 2px 2px 8px rgba(228, 67, 111, 0.3), -1px -1px 0 rgba(255, 255, 255, 0.5); margin: 20px 0; position: relative; animation: titleFloat 4s ease-in-out infinite; letter-spacing: 0.5px; } @keyframes titleFloat { 0%, 100% { transform: translateY(0) rotate(0deg); } 25% { transform: translateY(-6px) rotate(1deg); } 75% { transform: translateY(4px) rotate(-1deg); } } h1 { font-size: 2.8em; } h2 { font-size: 2.4em; } h3 { font-size: 2em; } /* Enhanced Input Styling */ .snowman-input { padding: 20px 32px; margin: 18px 0; width: calc(100% - 80px); max-width: 320px; border: 4px solid #e4436f; border-radius: 35px; background-color: rgba(255, 255, 255, 0.97); color: #1b263b; font-size: 17px; font-family: inherit; transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1); box-shadow: 0 4px 15px rgba(228, 67, 111, 0.15), inset 0 2px 5px rgba(0, 0, 0, 0.05); } .snowman-input:focus { outline: none; border-color: #ff6b6b; box-shadow: 0 0 25px rgba(228, 67, 111, 0.25), inset 0 0 15px rgba(228, 67, 111, 0.08), 0 5px 15px rgba(228, 67, 111, 0.1); transform: scale(1.03) translateY(-2px); } /* Enhanced Button Styling */ .snowman-button { padding: 18px 36px; border: none; background: linear-gradient(45deg, #e4436f, #ff6b6b, #ff8585, #ff6b6b, #e4436f); background-size: 300% 300%; color: white; border-radius: 35px; cursor: pointer; font-size: 17px; font-family: inherit; font-weight: bold; letter-spacing: 1.5px; transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1); margin: 18px 6px; width: 320px; position: relative; overflow: hidden; box-shadow: 0 6px 20px rgba(228, 67, 111, 0.25), inset 0 2px 10px rgba(255, 255, 255, 0.3), 0 0 15px rgba(228, 67, 111, 0.15); animation: gradientMove 8s ease infinite; text-transform: uppercase; } @keyframes gradientMove { 0% { background-position: 0% 50%; } 50% { background-position: 100% 50%; transform: scale(1.02); } 100% { background-position: 0% 50%; } } .snowman-button::after { content: ''; position: absolute; top: -50%; left: -50%; width: 200%; height: 200%; background: radial-gradient(circle, rgba(255,255,255,0.3) 0%, rgba(255,255,255,0) 70%); transform: scale(0); opacity: 0; transition: 0.6s cubic-bezier(0.165, 0.84, 0.44, 1); } .snowman-button:hover { transform: translateY(-4px) scale(1.03); box-shadow: 0 8px 25px rgba(228, 67, 111, 0.35), inset 0 2px 10px rgba(255, 255, 255, 0.4), 0 0 20px rgba(228, 67, 111, 0.2); letter-spacing: 2px; } .snowman-button:hover::after { transform: scale(1) rotate(180deg); opacity: 1; } .snowman-button:active { transform: translateY(0) scale(0.98); box-shadow: 0 3px 15px rgba(228, 67, 111, 0.2); } /* Enhanced Grid Layout */ .grid { display: grid; grid-template-columns: repeat(5, 80px); grid-template-rows: repeat(5, 80px); gap: 15px; justify-content: center; margin: 40px auto; padding: 25px; background: rgba(255, 255, 255, 0.18); border-radius: 25px; backdrop-filter: blur(8px); box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15), inset 0 0 30px rgba(228, 67, 111, 0.1); animation: gridFloat 5s ease-in-out infinite; border: 3px solid rgba(255, 255, 255, 0.2); } @keyframes gridFloat { 0%, 100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-10px) rotate(0.5deg); } } .grid-cell { width: 80px; height: 80px; border-radius: 18px; display: flex; justify-content: center; align-items: center; background: rgba(255, 255, 255, 0.97); border: 4px solid #e4436f; font-size: 32px; cursor: pointer; transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1); color: #1b263b; position: relative; overflow: hidden; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1), inset 0 2px 5px rgba(255, 255, 255, 0.5); } .grid-cell::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: radial-gradient(circle at 30% 30%, rgba(255,255,255,0.8) 0%, rgba(255,255,255,0) 70%); opacity: 0; transition: 0.4s ease; } .grid-cell:hover { transform: translateY(-5px) scale(1.08); box-shadow: 0 8px 20px rgba(228, 67, 111, 0.3), inset 0 2px 5px rgba(255, 255, 255, 0.5); } .grid-cell:hover::before { opacity: 1; animation: cellGlow 2s ease-in-out infinite; } @keyframes cellGlow { 0%, 100% { opacity: 0.5; transform: scale(1); } 50% { opacity: 0.8; transform: scale(1.1); } } .grid-cell.safe { background: linear-gradient(135deg, #4caf50, #45a049, #388e3c); color: white; border-color: #388e3c; animation: safeReveal 0.6s cubic-bezier(0.34, 1.56, 0.64, 1); box-shadow: 0 0 20px rgba(76, 175, 80, 0.3); } .grid-cell.bomb { background: linear-gradient(135deg, #f44336, #d32f2f, #b71c1c); color: white; border-color: #b71c1c; animation: bombReveal 0.6s cubic-bezier(0.34, 1.56, 0.64, 1); box-shadow: 0 0 20px rgba(244, 67, 54, 0.3); } @keyframes safeReveal { 0% { transform: scale(0.8) rotate(-5deg); opacity: 0; } 50% { transform: scale(1.15) rotate(3deg); } 100% { transform: scale(1) rotate(0deg); opacity: 1; } } @keyframes bombReveal { 0% { transform: scale(0.8) rotate(-15deg); opacity: 0; } 40% { transform: scale(1.25) rotate(10deg); } 60% { transform: scale(0.95) rotate(-5deg); } 100% { transform: scale(1) rotate(0deg); opacity: 1; } } /* Enhanced Animated Snowman */ .snowman { position: fixed; bottom: 25px; right: 25px; width: 110px; height: 150px; z-index: 10; transition: all 0.5s cubic-bezier(0.34, 1.56, 0.64, 1); animation: snowmanBounce 4s ease-in-out infinite; filter: drop-shadow(0 5px 15px rgba(0, 0, 0, 0.2)); } @keyframes snowmanBounce { 0%, 100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-12px) rotate(2deg); } } .snowman:hover { transform: scale(1.15) rotate(8deg); filter: drop-shadow(0 8px 25px rgba(0, 0, 0, 0.25)); } .snowman-body { position: absolute; background: linear-gradient(135deg, #fff 60%, #f0f0f0); border-radius: 50%; box-shadow: inset -5px -5px 15px rgba(0, 0, 0, 0.1), 0 5px 20px rgba(0, 0, 0, 0.15); } .snowman-bottom { width: 85px; height: 85px; bottom: 0; left: 12px; animation: bodyWobble 5s ease-in-out infinite; } .snowman-middle { width: 65px; height: 65px; bottom: 65px; left: 22px; animation: bodyWobble 5s ease-in-out infinite 0.3s; } .snowman-head { width: 48px; height: 48px; bottom: 115px; left: 31px; animation: bodyWobble 5s ease-in-out infinite 0.6s; } @keyframes bodyWobble { 0%, 100% { transform: rotate(-3deg); } 50% { transform: rotate(3deg); } } .snowman-eye { position: absolute; width: 8px; height: 8px; background-color: #1b263b; border-radius: 50%; top: 15px; animation: blink 4s ease-in-out infinite; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); } @keyframes blink { 0%, 45%, 55%, 100% { transform: scaleY(1); } 50% { transform: scaleY(0.1); } } .snowman-eye-left { left: 12px; } .snowman-eye-right { right: 12px; } .snowman-nose { position: absolute; width: 0; height: 0; border-left: 8px solid transparent; border-right: 8px solid transparent; border-bottom: 20px solid #ff9800; top: 20px; left: 18px; transform: rotate(90deg); animation: noseWiggle 4s ease-in-out infinite; filter: drop-shadow(2px 2px 4px rgba(0, 0, 0, 0.2)); } @keyframes noseWiggle { 0%, 100% { transform: rotate(90deg); } 50% { transform: rotate(85deg); } } /* Enhanced Notification Styling */ .notification { position: fixed; top: -100px; left: 50%; transform: translateX(-50%); padding: 20px 35px; border-radius: 20px; background: rgba(255, 255, 255, 0.97); color: #e4436f; font-weight: bold; z-index: 1000; box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2), 0 0 15px rgba(228, 67, 111, 0.2); border: 4px solid #e4436f; backdrop-filter: blur(15px); max-width: 80%; margin: 0 auto; animation: notificationSlide 0.6s cubic-bezier(0.34, 1.56, 0.64, 1) forwards; letter-spacing: 0.5px; } @keyframes notificationSlide { 0% { top: -100px; opacity: 0; transform: translateX(-50%) scale(0.8); } 70% { transform: translateX(-50%) scale(1.05); } 100% { top: 25px; opacity: 1; transform: translateX(-50%) scale(1); } } /* Enhanced Christmas Lights */ .christmas-light { width: 20px; height: 20px; border-radius: 50%; position: absolute; transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1); animation: lightPulse 3s ease-in-out infinite; } @keyframes lightPulse { 0%, 100% { transform: scale(1); filter: brightness(1); } 50% { transform: scale(1.15); filter: brightness(1.4); } } .christmas-light:nth-child(3n) { background: radial-gradient(circle at 30% 30%, #ff8da1, #e4436f); box-shadow: 0 0 20px #e4436f, 0 0 35px rgba(228, 67, 111, 0.6); } .christmas-light:nth-child(3n+1) { background: radial-gradient(circle at 30% 30%, #6dff7d, #4caf50); box-shadow: 0 0 20px #4caf50, 0 0 35px rgba(76, 175, 80, 0.6); } .christmas-light:nth-child(3n+2) { background: radial-gradient(circle at 30% 30%, #ffb649, #ff9800); box-shadow: 0 0 20px #ff9800, 0 0 35px rgba(255, 152, 0, 0.6); } .christmas-light:hover { transform: scale(1.4); filter: brightness(1.5); } /* Enhanced API Data Display */ .api-data { background: rgba(255, 255, 255, 0.97); backdrop-filter: blur(15px); border-radius: 20px; padding: 30px; margin: 30px auto; color: #1b263b; border: 4px solid #e4436f; transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1); max-width: 90%; box-shadow: 0 8px 25px rgba(228, 67, 111, 0.2), inset 0 0 30px rgba(228, 67, 111, 0.05); position: relative; overflow: hidden; } .api-data::before { content: ''; position: absolute; top: -50%; left: -50%; width: 200%; height: 200%; background: radial-gradient(circle, rgba(228,67,111,0.15) 0%, rgba(228,67,111,0) 70%); transform: rotate(0deg); animation: apiDataShimmer 8s linear infinite; } @keyframes apiDataShimmer { from { transform: rotate(0deg) scale(1); opacity: 0.5; } 50% { transform: rotate(180deg) scale(1.1); opacity: 0.8; } to { transform: rotate(360deg) scale(1); opacity: 0.5; } } .api-data:hover { transform: translateY(-6px) scale(1.02); box-shadow: 0 12px 30px rgba(228, 67, 111, 0.25), inset 0 0 40px rgba(228, 67, 111, 0.08); } /* Enhanced Better Unrig Container */ #better-unrig-container { background: rgba(255, 255, 255, 0.97); backdrop-filter: blur(15px); border-radius: 25px; padding: 30px; margin-top: 30px; border: 4px solid #e4436f; box-shadow: 0 8px 25px rgba(228, 67, 111, 0.2), inset 0 0 30px rgba(228, 67, 111, 0.05); animation: containerFloat 5s ease-in-out infinite; } @keyframes containerFloat { 0%, 100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-10px) rotate(0.5deg); } } #better-unrig-container h3 { margin-top: 0; animation: titleFloat 4s ease-in-out infinite; } #better-unrig-container select, #better-unrig-container input { margin: 15px 0; padding: 15px 25px; border-radius: 15px; border: 3px solid #e4436f; background: rgba(255, 255, 255, 0.95); transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1); font-size: 16px; color: #1b263b; box-shadow: 0 4px 15px rgba(228, 67, 111, 0.1); } #better-unrig-container select:focus, #better-unrig-container input:focus { outline: none; border-color: #ff6b6b; box-shadow: 0 0 20px rgba(228, 67, 111, 0.2), inset 0 0 10px rgba(228, 67, 111, 0.05); transform: scale(1.03) translateY(-2px); } /* Enhanced Snowfall Animation */ @keyframes snowfall { 0% { transform: translate(var(--snow-drift), -10vh) rotate(0deg); opacity: 0; } 10% { opacity: 1; } 90% { opacity: 1; } 100% { transform: translate(var(--snow-drift), 110vh) rotate(360deg); opacity: 0; } } /* Enhanced Responsive Design */ @media (max-width: 768px) { .snowman-card { padding: 30px; margin: 15px; } .grid { grid-template-columns: repeat(5, 65px); grid-template-rows: repeat(5, 65px); gap: 10px; padding: 20px; } .grid-cell { width: 65px; height: 65px; font-size: 26px; } .snowman { transform: scale(0.85); right: 15px; bottom: 15px; } h1 { font-size: 2.4em; } h2 { font-size: 2.1em; } h3 { font-size: 1.8em; } .notification { padding: 18px 28px; max-width: 85%; } } @media (max-width: 480px) { .snowman-card { padding: 25px; margin: 10px; } .grid { grid-template-columns: repeat(5, 55px); grid-template-rows: repeat(5, 55px); gap: 8px; padding: 15px; } .grid-cell { width: 55px; height: 55px; font-size: 22px; } .notification { max-width: 90%; font-size: 15px; padding: 15px 25px; } .snowman-button { width: 100%; max-width: 290px; padding: 16px 28px; } .christmas-light { width: 16px; height: 16px; } .snowman { transform: scale(0.75); right: 10px; bottom: 10px; } }