html, body { margin: 0; padding: 0; height: 100%; background-color: black; font-family: 'Cedarville Cursive', cursive; overflow: hidden; color: white; cursor: url('cursor.cur'), auto; } * { cursor: url('cursor.cur') 2 28, auto; } @keyframes flicker { 0%, 100% { opacity: 0.05; } 50% { opacity: 0.2; } } @keyframes scrollOpen { 0% { transform: scaleY(0); opacity: 0; } 100% { transform: scaleY(1); opacity: 1; } } .mist-trail { position: fixed; width: 20px; height: 20px; background: radial-gradient(circle, rgba(255,255,255,0.3) 0%, rgba(255,255,255,0) 70%); border-radius: 50%; pointer-events: none; z-index: 9999; animation: fadeTrail 1s linear forwards; } @keyframes fadeTrail { to { opacity: 0; transform: scale(2); } } .contract-container { position: relative; z-index: 2; display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100vh; width: 100%; } .contract-paper { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; background: url('contract.png') no-repeat center center; background-size: contain; width: 90%; max-width: 600px; height: 80vh; padding: 40px 20px; animation: scrollOpen 1.2s ease-out forwards; transform-origin: top; } #quote { font-size: 1.2rem; max-width: 90%; text-align: center; margin-top: 10px; margin-bottom: 20px; white-space: pre-wrap; text-shadow: 0 0 5px #fff, 0 0 10px #000000, 0 0 20px #f0f0f0, 0 0 40px #dddddd; height: 3em; } #name-input { font-size: 1.2rem; background: none; color: white; border: none; border-bottom: 1px solid white; text-align: center; padding: 5px; width: 70%; display: none; position: absolute; top: 65%; left: 50%; transform: translateX(-50%); } #submit-btn { background: none; border: none; cursor: pointer; display: none; position: absolute; top: 75%; left: 50%; transform: translateX(-50%); } #submit-btn img { width: 100px; } #submit-btn:hover { transform: translateX(-50%) scale(1.05); } #seal-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.85); display: none; flex-direction: column; align-items: center; justify-content: center; z-index: 999; } #seal-img { width: 150px; animation: popSeal 1s ease forwards; opacity: 0; } #seal-text { margin-top: 20px; font-size: 1.1rem; text-align: center; max-width: 80%; color: #eee; opacity: 0; animation: fadeInText 1s ease 1s forwards; } @keyframes popSeal { 0% { transform: scale(0.2); opacity: 0; } 100% { transform: scale(1); opacity: 1; } } @keyframes fadeInText { to { opacity: 1; } } .floating-eye { position: absolute; width: 60px; height: auto; pointer-events: none; opacity: 0; animation: eyeAppear 4s ease-in-out forwards; } @keyframes eyeAppear { 0% { opacity: 0; transform: scale(0.8); } 10% { opacity: 1; transform: scale(1); } 90% { opacity: 1; transform: scale(1); } 100% { opacity: 0; transform: scale(0.8); } } #contract-container { position: relative; width: 600px; height: 800px; background: url('Contract.png') no-repeat center center; background-size: cover; margin: 0 auto; display: flex; justify-content: center; align-items: flex-start; padding-top: 1px; } @media (max-width: 768px) { .contract-paper { background-size: contain; padding: 20px 10px; height: 85vh; } #contract-title { font-size: 2rem; top: 12%; } #quote { font-size: 1rem; margin-top: 5px; margin-bottom: 15px; max-width: 95%; } #name-input { font-size: 1rem; width: 80%; top: 65%; } #submit-btn img { width: 80px; } #seal-text { font-size: 1rem; padding: 0 10px; } #seal-img { width: 200px; height: 200px; filter: drop-shadow(0 0 50px #665072); } }