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);
}
}