335 lines
5.4 KiB
CSS
335 lines
5.4 KiB
CSS
* {
|
|
box-sizing: border-box;
|
|
margin: 0;
|
|
padding: 0;
|
|
}
|
|
|
|
body {
|
|
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
|
|
background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
|
|
min-height: 100vh;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
justify-content: center;
|
|
padding: 20px;
|
|
}
|
|
|
|
.container {
|
|
background: white;
|
|
border-radius: 20px;
|
|
box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
|
|
padding: 40px;
|
|
max-width: 600px;
|
|
width: 100%;
|
|
text-align: center;
|
|
}
|
|
|
|
h1 {
|
|
color: #333;
|
|
margin-bottom: 30px;
|
|
font-size: 2.5em;
|
|
font-weight: 300;
|
|
}
|
|
|
|
.input-group {
|
|
margin-bottom: 25px;
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: 15px;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
|
|
#text {
|
|
flex: 1;
|
|
min-width: 250px;
|
|
padding: 15px 20px;
|
|
border: 2px solid #e1e8ed;
|
|
border-radius: 25px;
|
|
font-size: 16px;
|
|
outline: none;
|
|
transition: border-color 0.3s ease;
|
|
}
|
|
|
|
#text:focus {
|
|
border-color: #4a5568;
|
|
}
|
|
|
|
#color {
|
|
width: 60px;
|
|
height: 50px;
|
|
border: none;
|
|
border-radius: 25px;
|
|
cursor: pointer;
|
|
outline: none;
|
|
}
|
|
|
|
#download {
|
|
background: linear-gradient(45deg, #4a5568, #2d3748);
|
|
color: white;
|
|
border: none;
|
|
padding: 15px 25px;
|
|
border-radius: 25px;
|
|
font-size: 16px;
|
|
font-weight: 500;
|
|
cursor: pointer;
|
|
transition: transform 0.2s ease, box-shadow 0.2s ease;
|
|
position: relative;
|
|
overflow: hidden;
|
|
}
|
|
|
|
#download:hover {
|
|
transform: translateY(-2px);
|
|
box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
|
|
}
|
|
|
|
.glitter-container {
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
width: 100%;
|
|
height: 100%;
|
|
pointer-events: none;
|
|
overflow: hidden;
|
|
border-radius: 25px;
|
|
}
|
|
|
|
.glitter {
|
|
position: absolute;
|
|
width: 4px;
|
|
height: 4px;
|
|
border-radius: 50%;
|
|
pointer-events: none;
|
|
opacity: 0;
|
|
}
|
|
|
|
@keyframes glitter1 {
|
|
0% {
|
|
opacity: 0;
|
|
transform: translateY(0) translateX(0) scale(0);
|
|
}
|
|
|
|
50% {
|
|
opacity: 1;
|
|
transform: translateY(-20px) translateX(10px) scale(1);
|
|
}
|
|
|
|
100% {
|
|
opacity: 0;
|
|
transform: translateY(-40px) translateX(20px) scale(0);
|
|
}
|
|
}
|
|
|
|
@keyframes glitter2 {
|
|
0% {
|
|
opacity: 0;
|
|
transform: translateY(0) translateX(0) scale(0) rotate(0deg);
|
|
}
|
|
|
|
50% {
|
|
opacity: 1;
|
|
transform: translateY(-15px) translateX(-15px) scale(1.2) rotate(180deg);
|
|
}
|
|
|
|
100% {
|
|
opacity: 0;
|
|
transform: translateY(-30px) translateX(-30px) scale(0) rotate(360deg);
|
|
}
|
|
}
|
|
|
|
@keyframes glitter3 {
|
|
0% {
|
|
opacity: 0;
|
|
transform: translateY(0) translateX(0) scale(0);
|
|
}
|
|
|
|
30% {
|
|
opacity: 1;
|
|
transform: translateY(-10px) translateX(5px) scale(0.8);
|
|
}
|
|
|
|
70% {
|
|
opacity: 1;
|
|
transform: translateY(-25px) translateX(-5px) scale(1.1);
|
|
}
|
|
|
|
100% {
|
|
opacity: 0;
|
|
transform: translateY(-35px) translateX(-10px) scale(0);
|
|
}
|
|
}
|
|
|
|
.glitter.anim1 {
|
|
animation: glitter1 1.5s ease-out infinite;
|
|
}
|
|
|
|
.glitter.anim2 {
|
|
animation: glitter2 1.8s ease-out infinite;
|
|
}
|
|
|
|
.glitter.anim3 {
|
|
animation: glitter3 1.2s ease-out infinite;
|
|
}
|
|
|
|
.qr-container {
|
|
margin: 30px 0;
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
background: #f8f9fa;
|
|
border-radius: 15px;
|
|
padding: 20px;
|
|
overflow: visible;
|
|
position: relative;
|
|
}
|
|
|
|
#qrcode {
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
position: relative;
|
|
}
|
|
|
|
#qrcode svg {
|
|
max-width: 100%;
|
|
max-height: none;
|
|
width: auto;
|
|
height: auto;
|
|
border-radius: 10px;
|
|
background: white;
|
|
padding: 10px;
|
|
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
|
|
display: block;
|
|
}
|
|
|
|
.qr-glitter-container {
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
width: 100%;
|
|
height: 100%;
|
|
pointer-events: none;
|
|
overflow: visible;
|
|
z-index: 10;
|
|
}
|
|
|
|
.qr-glitter {
|
|
position: absolute;
|
|
width: 6px;
|
|
height: 6px;
|
|
border-radius: 50%;
|
|
pointer-events: none;
|
|
opacity: 0;
|
|
}
|
|
|
|
@keyframes qrGlitter1 {
|
|
0% {
|
|
opacity: 0;
|
|
transform: translateY(0) translateX(0) scale(0);
|
|
}
|
|
|
|
50% {
|
|
opacity: 1;
|
|
transform: translateY(-30px) translateX(15px) scale(1);
|
|
}
|
|
|
|
100% {
|
|
opacity: 0;
|
|
transform: translateY(-60px) translateX(30px) scale(0);
|
|
}
|
|
}
|
|
|
|
@keyframes qrGlitter2 {
|
|
0% {
|
|
opacity: 0;
|
|
transform: translateY(0) translateX(0) scale(0) rotate(0deg);
|
|
}
|
|
|
|
50% {
|
|
opacity: 1;
|
|
transform: translateY(-25px) translateX(-20px) scale(1.3) rotate(180deg);
|
|
}
|
|
|
|
100% {
|
|
opacity: 0;
|
|
transform: translateY(-50px) translateX(-40px) scale(0) rotate(360deg);
|
|
}
|
|
}
|
|
|
|
@keyframes qrGlitter3 {
|
|
0% {
|
|
opacity: 0;
|
|
transform: translateY(0) translateX(0) scale(0);
|
|
}
|
|
|
|
30% {
|
|
opacity: 1;
|
|
transform: translateY(-15px) translateX(8px) scale(0.9);
|
|
}
|
|
|
|
70% {
|
|
opacity: 1;
|
|
transform: translateY(-35px) translateX(-8px) scale(1.2);
|
|
}
|
|
|
|
100% {
|
|
opacity: 0;
|
|
transform: translateY(-55px) translateX(-15px) scale(0);
|
|
}
|
|
}
|
|
|
|
.qr-glitter.anim1 {
|
|
animation: qrGlitter1 2s ease-out;
|
|
}
|
|
|
|
.qr-glitter.anim2 {
|
|
animation: qrGlitter2 2.2s ease-out;
|
|
}
|
|
|
|
.qr-glitter.anim3 {
|
|
animation: qrGlitter3 1.8s ease-out;
|
|
}
|
|
|
|
.footer {
|
|
margin-top: 20px;
|
|
color: #666;
|
|
font-size: 14px;
|
|
}
|
|
|
|
.footer-credits {
|
|
margin-top: 10px;
|
|
font-size: 12px;
|
|
color: #999;
|
|
}
|
|
|
|
.footer-credits a {
|
|
color: #667;
|
|
text-decoration: none;
|
|
}
|
|
|
|
.source-link {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 3px;
|
|
}
|
|
|
|
@media (max-width: 480px) {
|
|
.container {
|
|
padding: 25px;
|
|
margin: 10px;
|
|
}
|
|
|
|
h1 {
|
|
font-size: 2em;
|
|
margin-bottom: 20px;
|
|
}
|
|
|
|
.input-group {
|
|
flex-direction: column;
|
|
}
|
|
|
|
#text {
|
|
min-width: 100%;
|
|
}
|
|
} |