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
 
(22 intermediate revisions by the same user not shown)
Line 1: Line 1:
/* Button styling */
/* ==============================
.launcher-btn {
  BIBISI LAUNCHER CSS
    display: inline-block;
  Click-to-launch via :focus
    padding: 8px 16px;
  ============================== */
    background: #d33;
    color: white;
    font-weight: bold;
    border-radius: 5px;
    text-decoration: none;
}
.launcher-btn:hover { background: #f44; }


/* -------------------------------------- */
.rocket-wrapper {
/* TRIGGER ANIMATIONS ON CLICK            */
    display: block;
/* -------------------------------------- */
    position: relative;
#launch-easter-egg:target .missile-object {
     cursor: pointer;
     visibility: visible;
     outline: none;
     animation: rocket-move 2s cubic-bezier(0.5, 0, 1, 0) forwards;
}
}


#launch-easter-egg:target .smoke {
.rocket {
     visibility: visible;
     display: block;
    animation: smoke-anim 1.5s ease-out forwards;
}
}


#launch-easter-egg:target .fire {
.rocket-explosion {
     visibility: visible;
     display: flex;
     /* Infinite loop so it constantly shoots fire while flying */
     align-items: center;
    animation: fire-anim 0.4s linear infinite;
     justify-content: center;
}
     position: absolute;
 
     top: 0; left: 0; right: 0; bottom: 0;
/* -------------------------------------- */
     opacity: 0;
/* ROCKET (Moves up)                      */
/* -------------------------------------- */
.missile-object {
    position: fixed;
     bottom: -50px;
    left: 50%;
     margin-left: -25px; /* Centers the rocket */
     font-size: 50px;
    visibility: hidden;
    z-index: 9999;
}
 
@keyframes rocket-move {
    0%  { transform: translateY(0); }
     100% { transform: translateY(-1500px); }
}
}


/* -------------------------------------- */
/* Trigger animations when clicked */
/* FIRE (Welded to rocket, shoots down)  */
.rocket-wrapper:focus .rocket,
/* -------------------------------------- */
.rocket-wrapper:active .rocket {
.fire {
     /* 1. Shake for 0.6 seconds */
     position: absolute;
     /* 2. Then fly for 2.4 seconds (starts after a 0.6s delay) */
    left: 10px; /* Centers under the rocket emoji */
     animation:
     top: 40px;  /* Offsets down from the rocket */
        rocket-shake 0.6s linear,
     font-size: 30px;
        rocket-fly 2.4s ease-in 0.6s forwards;
    visibility: hidden;
}
}


/* Fire particles offset their start times so it looks like a continuous stream */
.rocket-wrapper:focus .rocket-explosion,
.fire-1 { animation-delay: 0s; }
.rocket-wrapper:active .rocket-explosion {
.fire-2 { animation-delay: 0.2s; }
    animation: explode 1.2s ease-out forwards;
 
    animation-delay: 3s; /* Triggers exactly when the 3-second flight ends */
@keyframes fire-anim {
    /* Starts at normal size, then moves down the Y axis, shrinks, and fades out */
    0%  { transform: translateY(0) scale(1); opacity: 1; }
    100% { transform: translateY(50px) scale(0); opacity: 0; }
}
}


/* -------------------------------------- */
/* The shake effect */
/* SMOKE (Anchored at spawn, gets huge)  */
@keyframes rocket-shake {
/* -------------------------------------- */
     0%, 100% { transform: translate(0, 0) rotate(0deg); }
.smoke-pad {
     20%      { transform: translate(-3px, 2px) rotate(-5deg); }
     position: fixed;
     40%      { transform: translate(3px, -2px) rotate(5deg); }
     bottom: -50px;
     60%      { transform: translate(-3px, 2px) rotate(-5deg); }
     left: 50%;
     80%      { transform: translate(3px, -2px) rotate(5deg); }
     margin-left: -25px; /* Exact same position as the rocket start */
     font-size: 50px;
    z-index: 9998; /* Spawns behind the rocket */
}
}


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


/* Spread the smoke out slightly */
@keyframes explode {
.smoke-1 { transform: translateX(-20px); }
     0%  { transform: translateY(-110vh) scale(1); opacity: 1; }
.smoke-2 { transform: translateX(20px); animation-delay: 0.1s; }
     100% { transform: translateY(-110vh) scale(6); opacity: 0; }
.smoke-3 { transform: translateY(10px); animation-delay: 0.2s; }
 
@keyframes smoke-anim {
    /* Starts normal size, blows up to 5x size, and fades away completely */
     0%  { transform: scale(0.5); opacity: 1; }
     100% { transform: scale(5); 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; }
}