Files
P42_UI/app/assets/styles/intro.css
T
2025-09-28 09:02:39 +00:00

204 lines
4.7 KiB
CSS

body {
display: flex;
justify-content: center;
align-items: center;
width: 100%;
min-height: 100vh;
background: #000;
overflow: hidden;
font-family: sans;
}
.glowing {
position: absolute;
width: 60vw;
height: 100vh;
transform-origin: right;
animation: colorChange 5s linear infinite;
animation: fadeaway 30s forwards;
left: calc(50%);
transform: translateX(-50%);
}
.glowing:nth-child(even) {
transform-origin: left;
}
@keyframes colorChange {
0% { filter: hue-rotate(0deg); }
100% { filter: hue-rotate(360deg); }
}
.glowing span {
position: absolute;
top: calc(80px * var(--i));
left: calc(80px * var(--i));
bottom: calc(80px * var(--i));
right: calc(80px * var(--i));
filter: blur(2px);
}
.glowing span::before {
content: "";
position: absolute;
top: 50%;
left: -8px;
width: 10px;
height: 10px;
background: #f00;
border-radius: 50%;
}
.glowing span:nth-child(3n + 1)::before {
background: rgba(134,255,0,1);
box-shadow: 0 0 20px rgba(134,255,0,1),
0 0 40px rgba(134,255,0,1),
0 0 60px rgba(134,255,0,1),
0 0 80px rgba(134,255,0,1),
0 0 0 8px rgba(134,255,0,.1);
}
.glowing span:nth-child(3n + 2)::before {
background: rgba(0,255,183,1);
box-shadow: 0 0 20px rgba(0,255,183,1),
0 0 40px rgba(0,255,183,1),
0 0 60px rgba(0,255,183,1),
0 0 80px rgba(0,255,183,1),
0 0 0 8px rgba(0,255,183,.1);
}
.glowing span:nth-child(3n + 3)::before {
background: rgba(0,226,255,1);
box-shadow: 0 0 20px rgba(0,226,255,1),
0 0 40px rgba(0,226,255,1),
0 0 60px rgba(0,226,255,1),
0 0 80px rgba(0,226,255,1),
0 0 0 8px rgba(0,226,255,.1);
}
.glowing span:nth-child(3n + 1) {
animation: rotatedots1 15s alternate infinite;
}
.glowing span:nth-child(3n + 2) {
animation: rotatedots-reverse 9s alternate infinite;
}
.glowing span:nth-child(3n + 3) {
animation: rotatedots1 15s alternate infinite;
}
@keyframes fadeaway {
0% { opacity: 1; }
15% { opacity: 1; }
100% { opacity: 0; }
}
@keyframes rotatedots1 {
0% { transform: rotate(calc(180deg * var(--i))); scale:20%;}
25% { transform: rotate(calc(90deg * var(--i))); scale:100%;}
50% { transform: rotate(calc(0deg * var(--i))); scale:80%;}
100% { transform: rotate(calc(360deg * var(--i))); scale:50%;}
}
@keyframes rotatedots-reverse {
0% { transform: rotate(calc(135deg * var(--i))); scale:20%;}
25% { transform: rotate(calc(45deg * var(--i))); scale:100%;}
50% { transform: rotate(calc(-45deg * var(--i))); scale:80%;}
100% { transform: rotate(calc(315deg * var(--i))); scale:50%;}
}
.logointro{
filter: blur(14px);
opacity: 0;
animation: logoanim 5s ease-out forwards; /* runs once */
will-change: filter, opacity;
color: #FFF;
position: absolute;
text-shadow: 3px -3px 5px #C5F7FF;
}
@keyframes logoanim{
0% { filter: blur(14px); opacity: 0; transform: scale(0.1) }
100% { filter: blur(0); opacity: 1; transform: scale(0.7) }
}
@keyframes startbtnanim{
0% { opacity: 0; }
40% { opacity: 0.8; }
100% { opacity: 1; }
}
#startbtn{
cursor: default;
position: absolute;
bottom: 15vh;
color: aliceblue;
font-style: italic;
font-size: 1.5rem;
border-radius: 100px;
padding: 5px 40px;
background: radial-gradient(#82cc50, #0a8200);
box-shadow: 2px 2px 10px #BAFFEF, -2px -2px 10px #BAFFEF, -2px 0 10px #BAFFEF, 0 -2px 10px #BAFFEF;
animation: startbtnanim 5s ease-out forwards;
}
#startbtn[disabled]{
filter: brightness(.3);
}
#login-dialog{
width: 22rem;
z-index: 99;
border-radius: 1rem;
box-shadow: 2px 2px 10px #BAFFEF, -2px -2px 10px #BAFFEF, -2px 0 10px #BAFFEF, 0 -2px 10px #BAFFEF;
background: radial-gradient(#82cc50, #0a8200);
padding: 2rem 3rem 1rem 3rem;
margin-top: -68vh;
opacity: 0;
visibility: hidden;
transition: opacity 0.5s ease;
font-size: 1.3rem;
transform: perspective(200px) rotateY(0deg) rotateX(6deg) rotateZ(0deg);
transform-style: preserve-3d;
}
#login-dialog.show {
opacity: 1;
visibility: visible;
}
#login-dialog > div.cols2{
display: grid !important;
grid-gap: 10px;
grid-template-columns: 7rem 15rem;
}
#login-dialog > div{
margin-bottom: 1rem;
}
#login-dialog input{
line-height: 2rem;
width: 15rem;
border-radius: 5px;
border: none;
font-size: 1rem;
}
#login-dialog button{
justify-self: end;
font-size: 1rem;
float: right;
}
#login-dialog div.loginerr{
background-color: #326A1E;
font-size: 1rem;
color: #FFF;
padding: .1rem .5rem;
border-radius: 5px;
text-align: center;
display:none;
}
#login-dialog div.loginerr.show{
display:block!important;
}