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
 
(19 intermediate revisions by the same user not shown)
Line 1: Line 1:
/* Prevent MediaWiki from highlighting the target container (fixes the ugly frame!) */
/* ==============================
#launch-easter-egg:target {
  BIBISI LAUNCHER CSS
     background: transparent;
  Click-to-launch via :focus
  ============================== */
 
.rocket-wrapper {
    display: block;
    position: relative;
     cursor: pointer;
     outline: none;
     outline: none;
    box-shadow: none;
}
}


/* Button styling */
.rocket {
.launcher-btn {
     display: block;
     display: inline-block;
    padding: 8px 16px;
    background: #d33;
    color: white;
    font-weight: bold;
    border-radius: 5px;
    text-decoration: none;
    margin-right: 10px;
}
}
.launcher-btn:hover { background: #f44; }


.launcher-reset {
.rocket-explosion {
     background: #555;
     display: flex;
}
    align-items: center;
.launcher-reset:hover { background: #777; }
    justify-content: center;
 
     position: absolute;
/* -------------------------------------- */
     top: 0; left: 0; right: 0; bottom: 0;
/* TRIGGER ANIMATIONS ON CLICK            */
     opacity: 0;
/* -------------------------------------- */
#launch-easter-egg:target .missile-object {
     visibility: visible;
     animation: rocket-move 2s cubic-bezier(0.5, 0, 1, 0) forwards;
}
 
#launch-easter-egg:target .smoke {
    visibility: visible;
     animation: smoke-anim 0.8s ease-out infinite;  
}
}


/* Shuts off the smoke pad completely after the rocket leaves (2s) */
/* Trigger animations when clicked */
#launch-easter-egg:target .smoke-pad {
.rocket-wrapper:focus .rocket,
     animation: hide-pad 2s forwards;
.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;
}
}


#launch-easter-egg:target .fire {
.rocket-wrapper:focus .rocket-explosion,
     visibility: visible;
.rocket-wrapper:active .rocket-explosion {
     animation: fire-anim 0.4s linear infinite;
     animation: explode 1.2s ease-out forwards;
     animation-delay: 3s; /* Triggers exactly when the 3-second flight ends */
}
}


@keyframes hide-pad {
/* The shake effect */
     0%, 99% { opacity: 1; visibility: visible; }
@keyframes rocket-shake {
     100%   { opacity: 0; visibility: hidden; }
     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 */
/* ROCKET CONTAINER                      */
@keyframes rocket-fly {
/* -------------------------------------- */
     0%    { transform: translateY(0); opacity: 1; }
.missile-object, .smoke-pad {
     99%   { transform: translateY(-110vh); opacity: 1; } /* Stays solid until the end */
     position: fixed;
     100%  { transform: translateY(-110vh); opacity: 0; } /* Vanishes as explosion starts */
    bottom: -60px;
     left: 50%;
    margin-left: -25px; /* Centers the 50px width */
    width: 50px;       /* Fixed width fixes the offset corner bug! */
     height: 50px;
    font-size: 50px;
    line-height: 50px;
    text-align: center;
    visibility: hidden;
    z-index: 9999;
}
}
.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;
}
/* 4 particles spread evenly across the 0.4s animation for continuous flow */
.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;
}
/* 5 particles spread out in different directions to look like a cloud */
.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 {
@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; }
}