Template:BibisiLauncher/style.css
From SNCApedia, the shit nobody cares about encyclopedia
/* Button styling */
.launcher-btn {
display: inline-block;
padding: 8px 16px;
background: #d33;
color: white;
font-weight: bold;
border-radius: 5px;
cursor: pointer;
user-select: none;
}
.launcher-btn:hover { background: #f44; }
/* -------------------------------------- */
/* TRIGGER ANIMATIONS VIA CUSTOM TOGGLE */
/* -------------------------------------- */
#mw-customcollapsible-rocketLaunch:not(.mw-collapsed) ~ .missile-container .missile-object {
visibility: visible;
animation: rocket-move 2s cubic-bezier(0.5, 0, 1, 0) forwards;
}
#mw-customcollapsible-rocketLaunch:not(.mw-collapsed) ~ .missile-container .smoke {
visibility: visible;
animation: smoke-anim 0.8s ease-out infinite;
}
/* Shuts off the smoke pad completely after the rocket leaves (2s) */
#mw-customcollapsible-rocketLaunch:not(.mw-collapsed) ~ .missile-container .smoke-pad {
animation: hide-pad 2s forwards;
}
#mw-customcollapsible-rocketLaunch:not(.mw-collapsed) ~ .missile-container .fire {
visibility: visible;
animation: fire-anim 0.4s linear infinite;
}
@keyframes hide-pad {
0%, 99% { opacity: 1; visibility: visible; }
100% { opacity: 0; visibility: hidden; }
}
/* -------------------------------------- */
/* THE INVISIBLE FRAME (Does not move) */
/* -------------------------------------- */
.missile-container {
position: fixed;
bottom: -60px;
left: 50%;
margin-left: -25px; /* Centers the 50px width */
width: 50px;
height: 50px;
z-index: 9999;
}
/* -------------------------------------- */
/* ROCKET & SMOKE CONTAINERS */
/* -------------------------------------- */
.missile-object, .smoke-pad {
position: absolute; /* Positions them relative to the invisible frame */
top: 0;
left: 0;
width: 100%;
height: 100%;
font-size: 50px;
line-height: 50px;
text-align: center;
visibility: hidden;
}
.smoke-pad {
z-index: 9998; /* Keeps smoke behind the rocket */
}
@keyframes rocket-move {
0% { transform: translateY(0); }
100% { transform: translateY(-1500px); }
}
/* -------------------------------------- */
/* CONTINUOUS FIRE */
/* -------------------------------------- */
.fire {
position: absolute;
left: 0;
top: 35px; /* Fixed right under the rocket */
width: 50px;
font-size: 30px;
text-align: center;
visibility: hidden;
}
.fire-1 { animation-delay: 0s; }
.fire-2 { animation-delay: 0.1s; }
.fire-3 { animation-delay: 0.2s; }
.fire-4 { animation-delay: 0.3s; }
@keyframes fire-anim {
0% { transform: translateY(0) scale(1); opacity: 1; }
100% { transform: translateY(50px) scale(0); opacity: 0; }
}
/* -------------------------------------- */
/* CONTINUOUS SMOKE */
/* -------------------------------------- */
.smoke {
position: absolute;
left: 0;
top: 10px;
width: 50px;
text-align: center;
visibility: hidden;
}
.smoke-1 { animation-delay: 0s; }
.smoke-2 { animation-delay: 0.15s; margin-left: -15px; }
.smoke-3 { animation-delay: 0.3s; margin-left: 15px; }
.smoke-4 { animation-delay: 0.45s; margin-top: 15px; }
.smoke-5 { animation-delay: 0.6s; margin-left: -5px; }
@keyframes smoke-anim {
0% { transform: scale(0.5); opacity: 1; }
100% { transform: scale(3); opacity: 0; }
}