New mission: revamp the portals to make them look actually tolerable to the eye. They are currently placeholders as of now.
The Gold Network: Soyworld | SNCApedia | SoyPlace


I'm not dead, just inactive for the moment. Faggot (talk) 20:16, 9 April 2026 (UTC)

Template:BibisiLauncher/style.css: Difference between revisions

From SNCApedia, the shit nobody cares about encyclopedia
Jump to navigationJump to search
No edit summary
No edit summary
 
(16 intermediate revisions by the same user not shown)
Line 1: Line 1:
/* The Button */
/* ==============================
.launcher-btn {
  BIBISI LAUNCHER CSS
     display: inline-block;
  Click-to-launch via :focus
     padding: 8px 16px;
  ============================== */
    background: #d33;
 
    color: white;
.rocket-wrapper {
    font-weight: bold;
     display: block;
    border-radius: 5px;
     position: relative;
     cursor: pointer;
     cursor: pointer;
     user-select: none;
     outline: none;
}
}
.launcher-btn:hover { background: #f44; }


/* -------------------------------------- */
.rocket {
/* THE INVISIBLE FRAME (Never moves)      */
     display: block;
/* -------------------------------------- */
.spawn-frame {
     position: fixed;
    bottom: -50px;
    left: 50%;
    margin-left: -25px; /* Centers it perfectly */
    width: 50px;
    text-align: center;
    font-size: 50px;
    z-index: 9999;
}
}


/* Hide animation elements until triggered */
.rocket-explosion {
.rocket-assembly, .smoke, .fire {
    display: flex;
    align-items: center;
    justify-content: center;
     position: absolute;
     position: absolute;
     left: 0;
     top: 0; left: 0; right: 0; bottom: 0;
     visibility: hidden;
     opacity: 0;
}
}


/* -------------------------------------- */
/* Trigger animations when clicked */
/* THE TRIGGERS                          */
.rocket-wrapper:focus .rocket,
/* -------------------------------------- */
.rocket-wrapper:active .rocket {
/* When the button is clicked, start the animations */
     /* 1. Shake for 0.6 seconds */
#mw-customcollapsible-rocket:not(.mw-collapsed) ~ .spawn-frame .rocket-assembly {
     /* 2. Then fly for 2.4 seconds (starts after a 0.6s delay) */
     visibility: visible;
     animation:  
     animation: rocket-fly 2s linear forwards;
        rocket-shake 0.6s linear,
}
        rocket-fly 2.4s ease-in 0.6s forwards;
#mw-customcollapsible-rocket:not(.mw-collapsed) ~ .spawn-frame .smoke {
     visibility: visible;
    animation: smoke-poof 0.8s ease-out forwards;
}
#mw-customcollapsible-rocket:not(.mw-collapsed) ~ .spawn-frame .fire {
    visibility: visible;
    animation: fire-burn 0.4s linear infinite;
}
}


/* -------------------------------------- */
.rocket-wrapper:focus .rocket-explosion,
/* 1. ROCKET (Moves altogether via vh)    */
.rocket-wrapper:active .rocket-explosion {
/* -------------------------------------- */
     animation: explode 1.2s ease-out forwards;
@keyframes rocket-fly {
     animation-delay: 3s; /* Triggers exactly when the 3-second flight ends */
     0%  { transform: translateY(0); }
     100% { transform: translateY(-120vh); } /* Beautiful vh trick from your acorn! */
}
}


/* -------------------------------------- */
/* The shake effect */
/* 2. FIRE (Shoots downward & loops)      */
@keyframes rocket-shake {
/* -------------------------------------- */
    0%, 100% { transform: translate(0, 0) rotate(0deg); }
.fire {
    20%     { transform: translate(-3px, 2px) rotate(-5deg); }
    top: 40px; /* Positioned slightly below the rocket */
    40%      { transform: translate(3px, -2px) rotate(5deg); }
     width: 100%;
     60%      { transform: translate(-3px, 2px) rotate(-5deg); }
     font-size: 30px;
     80%      { transform: translate(3px, -2px) rotate(5deg); }
}
}
.f1 { animation-delay: 0s; }
.f2 { animation-delay: 0.1s; }
.f3 { animation-delay: 0.2s; }


@keyframes fire-burn {
/* The flight: Solid all the way up, then instantly vanishes at the very end */
     0%   { transform: translateY(0) scale(1); opacity: 1; }
@keyframes rocket-fly {
     100% { transform: translateY(40px) scale(0); opacity: 0; }
     0%   { transform: translateY(0); opacity: 1; }
}
     99%   { transform: translateY(-110vh); opacity: 1; } /* Stays solid until the end */
 
     100%  { transform: translateY(-110vh); opacity: 0; } /* Vanishes as explosion starts */
/* -------------------------------------- */
/* 3. SMOKE (Anchored, grows & fades)     */
/* -------------------------------------- */
.smoke {
    top: 10px;
    width: 100%;
    z-index: -1; /* Keep smoke behind the rocket */
}
}
.s1 { margin-left: -15px; animation-delay: 0s; }
.s2 { margin-left: 15px;  animation-delay: 0.1s; }
.s3 { margin-top: 10px;  animation-delay: 0.2s; }


@keyframes smoke-poof {
@keyframes explode {
     0%  { transform: scale(0.5); opacity: 1; }
     0%  { transform: translateY(-110vh) scale(1); opacity: 1; }
     100% { transform: scale(3); opacity: 0; }
     100% { transform: translateY(-110vh) scale(6); opacity: 0; }
}
}

Latest revision as of 12:06, 11 April 2026

/* ==============================
   BIBISI LAUNCHER CSS
   Click-to-launch via :focus
   ============================== */

.rocket-wrapper {
    display: block;
    position: relative;
    cursor: pointer;
    outline: none;
}

.rocket {
    display: block;
}

.rocket-explosion {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    opacity: 0;
}

/* Trigger animations when clicked */
.rocket-wrapper:focus .rocket,
.rocket-wrapper:active .rocket {
    /* 1. Shake for 0.6 seconds */
    /* 2. Then fly for 2.4 seconds (starts after a 0.6s delay) */
    animation: 
        rocket-shake 0.6s linear,
        rocket-fly 2.4s ease-in 0.6s forwards;
}

.rocket-wrapper:focus .rocket-explosion,
.rocket-wrapper:active .rocket-explosion {
    animation: explode 1.2s ease-out forwards;
    animation-delay: 3s; /* Triggers exactly when the 3-second flight ends */
}

/* The shake effect */
@keyframes rocket-shake {
    0%, 100% { transform: translate(0, 0) rotate(0deg); }
    20%      { transform: translate(-3px, 2px) rotate(-5deg); }
    40%      { transform: translate(3px, -2px) rotate(5deg); }
    60%      { transform: translate(-3px, 2px) rotate(-5deg); }
    80%      { transform: translate(3px, -2px) rotate(5deg); }
}

/* The flight: Solid all the way up, then instantly vanishes at the very end */
@keyframes rocket-fly {
    0%    { transform: translateY(0); opacity: 1; }
    99%   { transform: translateY(-110vh); opacity: 1; } /* Stays solid until the end */
    100%  { transform: translateY(-110vh); opacity: 0; } /* Vanishes as explosion starts */
}

@keyframes explode {
    0%   { transform: translateY(-110vh) scale(1); opacity: 1; }
    100% { transform: translateY(-110vh) scale(6); opacity: 0; }
}