svg+css实现鼠标指针变成飞虫经过变色龙壁虎附近被吃代码
代码语言:html
所属分类:其他
代码描述:svg+css实现鼠标指针变成飞虫经过变色龙壁虎附近被吃代码
代码标签: svg css 鼠标 指针 变成 飞虫 经过 变色龙 壁虎 附近 被吃 代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html>
<html lang="en" class="g_html">
<head>
<meta charset="UTF-8">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Lato&display=swap" rel="stylesheet">
<style>
.g_html {
background: black;
}
.g_html body {
display: none;
}
</style>
<style>
@charset "UTF-8";
/* ------------------------------------------------------------ */
/* ------------------------ Global Vars ----------------------- */
/* ------------------------------------------------------------ */
/* 3 * 33, to near 100% */
/* ------------------------------------------------------------ */
/* -------------------------- Main UI ------------------------- */
/* ------------------------------------------------------------ */
body {
background: black;
position: relative;
margin: 0;
min-height: 100dvh;
overflow: hidden;
--gecko-transition-delay: 0s;
--gecko-transition-duration: 0.125s;
cursor: none;
}
.svg-defs {
width: 0;
height: 0;
position: fixed;
}
.fullscreen {
position: absolute;
inset: 0 0 0 0;
overflow: hidden;
width: 100%;
height: 100dvh;
}
/* ---------------------------- SCREENS -------------------------- */
.start-screen {
z-index: 999;
background: black;
animation: start-screen-fade-out 3s ease-out forwards;
}
@keyframes start-screen-fade-out {
0% {
scale: 10;
opacity: 1;
color: black;
}
66.67% {
scale: 1;
opacity: 1;
}
100% {
opacity: 0;
scale: 1;
color: white;
}
}
.welcome-screen {
margin: auto;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
text-align: center;
opacity: 0;
transform: scale(1.025);
animation: enter-text 0.5s ease-out forwards 1s;
z-index: 999999999;
/* ---------------- input-device-specific word choice ---------------- */
}
@keyframes enter-text {
to {
opacity: 1;
transform: scale(1);
}
}
.welcome-screen h1,
.welcome-screen h2 {
margin: 1vmin;
text-shadow: 0 0 2vmin #125d19, 0 0 0.75vmin #072a17;
color: white;
}
.welcome-screen h1 {
font-size: min(5dvmin, 2rem);
}
.welcome-screen h2 {
font-size: min(10dvmin, 4rem);
font-weight: 900;
}
.welcome-screen h2::before {
content: "⧼";
}
.welcome-screen h2::after {
content: "⧽";
margin-left: 0.25rem;
}
.welcome-screen .touch,
.welcome-screen .hover,
.welcome-screen .tab-only {
display: none;
}
@media (hover: none) and (pointer: coarse) {
.welcome-screen {
/* Styles for touch devices */
}
.welcome-screen .touch {
display: block;
}
}
@media (hover: hover) and (pointer: fine) {
.welcome-screen {
/* Styles for devices with accurate pointing devices like a mouse or stylus */
}
.welcome-screen .hover {
display: block;
}
}
@media (hover: none) and (pointer: none) {
.welcome-screen {
/* Styles for devices that might rely on tab-only navigation */
}
.welcome-screen .tab-only {
display: block;
}
}
body:hover .welcome-screen {
display: none;
}
/* ------------------------ MAIN UI: Tip component ------------------------ */
.tip-wrapper {
left: 50%;
z-index: 9999999;
background: #ffd994;
position: fixed;
bottom: 2.5dvh;
padding: 0;
margin: 0;
font-size: 1em;
box-sizing: border-box;
border: none;
border-radius: 4px;
box-shadow: 0 0.75em 1em rgba(0, 0, 0, 0.25);
opacity: 0;
transition: all 0.125s ease-out, opacity 0.0625s ease-out, bottom 0.125s ease-out 0.125s;
transform-origin: 50% 33%;
transform: translate(-50%, 25%);
animation: tip__fade-in 0.5s ease-out forwards 3s;
cursor: pointer;
}
body:not(:hover) .tip-wrapper {
display: none;
}
.tip-wrapper .hidden-checkbox {
display: none;
}
body:has(.tip-wrapper:hover) :is(.fly__wrapper, .gecko__placement) {
--x: 48;
--y: 93;
}
.tip-wrapper:active {
scale: 0.95;
opacity: 0;
animation: none;
}
.tip-wrapper:has(.hidden-checkbox:checked) {
bottom: -7.5dvh;
opacity: 0;
animation: none;
}
.tip-wrapper .tip {
display: flex;
align-items: stretch;
}
.tip-wrapper .tip::before {
content: "✕";
border-radius: 50%;
border: 2px solid orange;
color: orange;
position: absolute;
top: -0.75em;
right: -0.75em;
z-index: 1;
width: 1.25em;
height: 1.25em;
display: flex;
justify-content: center;
align-items: center;
font-weight: bold;
background: black;
}
.tip-wrapper .tip span {
display: block;
display: flex;
align-items: center;
height: 2.5em;
padding: 0 0.75em;
white-space: nowrap;
}
.tip-wrapper .tip span:first-child {
background: orange;
color: white;
border-radius: 4px 0 0 4px;
}
@keyframes tip__fade-in {
to {
opacity: 1;
transform: translate(-50%, 0);
}
}
/* ------------------------------------------------------------------- */
/* ----------------------- Position Aware Grid ----------------------- */
/* ------------------------------------------------------------------- */
:root {
--x-axis: 33;
--y-axis: 33;
font-family: Lato, Helvetica, Arial, sans-serif;
}
.position-aware-container {
background: radial-gradient(circle at center, rgba(86, 135, 8, 0.625) 25%, rgba(10, 96, 16, 0.625) 60%, rgba(1, 29, 29, 0.75) 92.5%);
}
.position-aware-grid {
margin: 0;
padding: 0;
display: grid;
grid-template-rows: repeat(var(--y-axis), 1fr);
grid-template-columns: 1fr;
grid-gap: 0;
z-index: 99999;
transition: all 0.5s ease-out;
}
tr {
width: 100dvw;
height: calc(100dvh / var(--y-axis));
display: grid;
grid-template-columns: repeat(var(--x-axis), 1fr);
}
td {
position: relative;
}
td .gecko-attack-area {
display: none;
position: absolute;
width: 100%;
height: 100%;
opacity: 0;
}
.position-aware-container:has(tr:nth-child(1):hover) :is(.fly__wrapper, .gecko__placement) {
--y: 0;
}
.position-aware-container:has(td:nth-child(1):hover) :is(.fly__wrapper, .gecko__placement) {
--x: 0;
}
.position-aware-container:has(tr:nth-child(2):hover) :is(.fly__wrapper, .gecko__placement) {
--y: 3;
}
.position-aware-container:has(td:nth-child(2):hover) :is(.fly__wrapper, .gecko__placement) {
--x: 3;
}
.position-aware-container:has(tr:nth-child(3):hover) :is(.fly__wrapper, .gecko__placement) {
--y: 6;
}
.position-aware-container:has(td:nth-child(3):hover) :is(.fly__wrapper, .gecko__placement) {
--x: 6;
}
.position-aware-container:has(tr:nth-child(4):hover) :is(.fly__wrapper, .gecko__placement) {
--y: 9;
}
.position-aware-container:has(td:nth-child(4):hover) :is(.fly__wrapper, .gecko__placement) {
--x: 9;
}
.position-aware-container:has(tr:nth-child(5):hover) :is(.fly__wrapper, .gecko__placement) {
--y: 12;
}
.position-aware-container:has(td:nth-child(5):hover) :is(.fly__wrapper, .gecko__placement) {
--x: 12;
}
.position-aware-container:has(tr:nth-child(6):hover) :is(.fly__wrapper, .gecko__placement) {
--y: 15;
}
.position-aware-container:has(td:nth-child(6):hover) :is(.fly__wrapper, .gecko__placement) {
--x: 15;
}
.position-aware-container:has(tr:nth-child(7):hover) :is(.fly__wrapper, .gecko__placement) {
--y: 18;
}
.position-aware-container:has(td:nth-child(7):hover) :is(.fly__wrapper, .gecko__placement) {
--x: 18;
}
.position-aware-container:has(tr:nth-child(8):hover) :is(.fly__wrapper, .gecko__placement) {
--y: 21;
}
.position-aware-container:has(td:nth-child(8):hover) :is(.fly__wrapper, .gecko__placement) {
--x: 21;
}
.position-aware-container:has(tr:nth-child(9):hover) :is(.fly__wrapper, .gecko__placement) {
--y: 24;
}
.position-aware-container:has(td:nth-child(9):hover) :is(.fly__wrapper, .gecko__placement) {
--x: 24;
}
.position-aware-container:has(tr:nth-child(10):hover) :is(.fly__wrapper, .gecko__placement) {
--y: 27;
}
.position-aware-container:has(td:nth-child(10):hover) :is(.fly__wrapper, .gecko__placement) {
--x: 27;
}
.position-aware-container:has(tr:nth-child(11):hover) :is(.fly__wrapper, .gecko__placement) {
--y: 30;
}
.position-aware-container:has(td:nth-child(11):hover) :is(.fly__wrapper, .gecko__placement) {
--x: 30;
}
.position-aware-container:has(tr:nth-child(12):hover) :is(.fly__wrapper, .gecko__placement) {
--y: 33;
}
.position-aware-container:has(td:nth-child(12):hover) :is(.fly__wrapper, .gecko__placement) {
--x: 33;
}
.position-aware-container:has(tr:nth-child(13):hover) :is(.fly__wrapper, .gecko__placement) {
--y: 36;
}
.position-aware-container:has(td:nth-child(13):hover) :is(.fly__wrapper, .gecko__placement) {
--x: 36;
}
.position-aware-container:has(tr:nth-child(14):hover) :is(.fly__wrapper, .gecko__placement) {
--y: 39;
}
.position-aware-container:has(td:nth-child(14):hover) :is(.fly__wrapper, .gecko__placement) {
--x: 39;
}
.position-aware-container:has(tr:nth-child(15):hover) :is(.fly__wrapper, .gecko__placement) {
--y: 42;
}
.position-aware-container:has(td:nth-child(15):hover) :is(.fly__wrapper, .gecko__placement) {
--x: 42;
}
.position-aware-container:has(tr:nth-child(16):hover) :is(.fly__wrapper, .gecko__placement) {
--y: 45;
}
.position-aware-container:has(td:nth-child(16):hover) :is(.fly__wrapper, .gecko__placement) {
--x: 45;
}
.position-aware-container:has(tr:nth-child(17):hover) :is(.fly__wrapper, .gecko__placement) {
--y: 48;
}
.position-aware-container:has(td:nth-child(17):hover) :is(.fly__wrapper, .gecko__placement) {
--x: 48;
}
.position-aware-container:has(tr:nth-child(18):hover) :is(.fly__wrapper, .gecko__placement) {
--y: 51;
}
.position-aware-container:has(td:nth-child(18):hover) :is(.fly__wrapper, .gecko__placement) {
--x: 51;
}
.position-aware-container:has(tr:nth-child(19):hover) :is(.fly__wrapper, .gecko__placement) {
--y: 54;
}
.position-aware-container:has(td:nth-child(19):hover) :is(.fly__wrapper, .gecko__placement) {
--x: 54;
}
.position-aware-container:has(tr:nth-child(20):hover) :is(.fly__wrapper, .gecko__placement) {
--y: 57;
}
.position-aware-container:has(td:nth-child(20):hover) :is(.fly__wrapper, .gecko__placement) {
--x: 57;
}
.position-aware-container:has(tr:nth-child(21):hover) :is(.fly__wrapper, .gecko__placement) {
--y: 60;
}
.position-aware-container:has(td:nth-child(21):hover) :is(.fly__wrapper, .gecko__placement) {
--x: 60;
}
.position-aware-container:has(tr:nth-child(22):hover) :is(.fly__wrapper, .gecko__placement) {
--y: 63;
}
.position-aware-container:has(td:nth-child(22):hover) :is(.fly__wrapper, .gecko__placement) {
--x: 63;
}
.position-aware-container:has(tr:nth-child(23):hover) :is(.fly__wrapper, .gecko__placement) {
--y: 66;
}
.position-aware-container:has(td:nth-child(23):hover) :is(.fly__wrapper, .gecko__placement) {
--x: 66;
}
.position-aware-container:has(tr:nth-child(24):hover) :is(.fly__wrapper, .gecko__placement) {
--y: 69;
}
.position-aware-container:has(td:nth-child(24):hover) :is(.fly__wrapper, .gecko__placement) {
--x: 69;
}
.position-aware-container:has(tr:nth-child(25):hover) :is(.fly__wrapper, .gecko__placement) {
--y: 72;
}
.position-aware-container:has(td:nth-child(25):hover) :is(.fly__wrapper, .gecko__placement) {
--x: 72;
}
.position-aware-container:has(tr:nth-child(26):hover) :is(.fly__wrapper, .gecko__placement) {
--y: 75;
}
.position-aware-container:has(td:nth-child(26):hover) :is(.fly__wrapper, .gecko__placement) {
--x: 75;
}
.position-aware-container:has(tr:nth-child(27):hover) :is(.fly__wrapper, .gecko__placement) {
--y: 78;
}
.position-aware-container:has(td:nth-child(27):hover) :is(.fly__wrapper, .gecko__placement) {
--x: 78;
}
.position-aware-container:has(tr:nth-child(28):hover) :is(.fly__wrapper, .gecko__placement) {
--y: 81;
}
.position-aware-container:has(td:nth-child(28):hover) :is(.fly__wrapper, .gecko__placement) {
--x: 81;
}
.position-aware-container:has(tr:nth-child(29):hover) :is(.fly__wrapper, .gecko__placement) {
--y: 84;
}
.position-aware-container:has(td:nth-child(29):hover) :is(.fly__wrapper, .gecko__placement) {
--x: 84;
}
.position-aware-container:has(tr:nth-child(30):hover) :is(.fly__wrapper, .gecko__placement) {
--y: 87;
}
.position-aware-container:has(td:nth-child(30):hover) :is(.fly__wrapper, .gecko__placement) {
--x: 87;
}
.position-aware-container:has(tr:nth-child(31):hover) :is(.fly__wrapper, .gecko__placement) {
--y: 90;
}
.position-aware-container:has(td:nth-child(31):hover) :is(.fly__wrapper, .gecko__placement) {
--x: 90;
}
.position-aware-container:has(tr:nth-child(32):hover) :is(.fly__wrapper, .gecko__placement) {
--y: 93;
}
.position-aware-container:has(td:nth-child(32):hover) :is(.fly__wrapper, .gecko__placement) {
--x: 93;
}
.position-aware-container:has(tr:nth-child(33):hover) :is(.fly__wrapper, .gecko__placement) {
--y: 96;
}
.position-aware-container:has(td:nth-child(33):hover) :is(.fly__wrapper, .gecko__placement) {
--x: 96;
}
/* ----------------------------------------------------------- */
/* ------------------------ Creatures ------------------------ */
/* ----------------------------------------------------------- */
/* --------------------------- FLY --------------------------- */
/* ----------- FLY: position aware flight mechanics ---------- */
.fly__wrapper {
--x: 80;
--y: 130;
--wing-speed: 10;
--extra-rotation: 30deg;
position: absolute;
--fly-wrapper-width: calc(100 * var(--creature-unit) / var(--x-axis));
--fly-wrapper-height: calc(100 * var(--creature-unit) / var(--y-axis));
width: var(--fly-wrapper-width);
height: var(--fly-wrapper-height);
will-change: left, top, transform;
left: calc( 100dvw / (var(--x-axis) * 3) * var(--x) + 50dvw / var(--x-axis) - calc(var(--fly-wrapper-width) / 2) );
top: calc( 100dvh / (var(--y-axis) * 3) * var(--y) + 50dvh / var(--y-axis) - calc(var(--fly-wrapper-height) / 2) );
transform: rotate3d(0, 0, 1, calc( atan2(calc(var(--x) * 0.33 - 16), calc(16 - var(--y) * 0.33)) + var(--extra-rotation) ));
/* Math.floor(33/2) = 16 */
transform-origin: 50% 50%;
transition: all 0.25s ease-out;
pointer-events: none;
z-index: 4;
filter: drop-shadow(0 2px calc(var(--creature-unit) / 2.5) rgba(0, 0, 0, 0.25));
}
/* ----------------------- FLY: styles ----------------------- */
.fly {
--fly-width: calc(var(--creature-unit) * 1.5);
--fly-height: calc(var(--creature-unit) * 3);
--fly-color: #145156;
--fly-shadow: 0 0.125vmin 0.5vmin rgba(30, 85, 85, 0.5),
0 0 2vmin rgba(30, 85, 85, 0.25);
position: relative;
width: var(--fly-width);
height: var(--fly-height);
margin: auto;
}
.fly__head {
position: relative;
width: 100%;
height: 30%;
border-radius: 50%;
border-top-left-radius: 70% 100%;
border-top-right-radius: 70% 100%;
background: linear-gradient(90deg, #ddd, transparent 15%, transparent 30%, #111, transparent 70%, transparent 85%, #ddd), radial-gradient(ellipse 65% 65%, var(--fly-color) 35%, #ddd 45%, dodgerblue 65%, red 80%);
background-size: 100% 100%, 100% 300%;
background-position: 0% 0%, 0% 300%;
box-shadow: var(--fly-shadow);
}
.fly__head::before {
content: "";
position: absolute;
width: 100%;
height: 100%;
background-image: radial-gradient(ellipse 200% 200%, transparent, transparent 24%, black 25%);
background-size: 15% 30%;
background-position: 22.5% 0;
border-radius: inherit;
}
.fly__body {
background: radial-gradient(ellipse 100% 100%, var(--fly-color) 15%, #060b0a 35%, #373633 50%);
background-size: 140% 120%;
background-position: 50% -50%;
width: 100%;
height: 60%;
border-radius: 30%;
border-bottom-left-radius: 60% 100%;
border-bottom-right-radius: 60% 100%;
box-shadow: var(--fly-shadow);
}
.fly__wing {
position: absolute;
top: 30%;
height: 65%;
width: 100%;
background: #cae5fc;
opacity: 0.625;
}
.fly__wing--left {
left: -62.5%;
border-radius: 100% 10% 60% 20%;
transform-origin: 100% 0;
animation: flap-left calc(var(--wing-speed) * 1ms) infinite alternate;
}
.fly__wing--right {
right: -62.5%;
border-radius: 10% 100% 20% 60%;
transform-origin: 0 0;
animation: flap-right calc(var(--wing-speed) * 1ms) infinite alternate;
}
/* ------------------------ FLY: animation ------------------------ */
@keyframes flap-left {
from {
rotate: 60deg;
}
to {
rotate: -10deg;
}
}
@keyframes flap-right {
from {
rotate: -60deg;
}
to {
rotate: 10deg;
}
}
@media (hover: hover) {
.fly__wrapper {
transition: transform 0.5s ease-out;
}
td span:hover {
transition: none;
}
}
/* ---------------------------- GECKO ---------------------------- */
:root {
--members-scale: 0.875;
}
/* --------------- GECKO: position aware FLY tracking mechanics ----------------- */
.gecko__placement {
position: absolute;
left: calc(var(--head-x, 0) * 1dvw);
top: calc(var(--head-y, 0) * 1dvh);
rotate: calc(var(--head-initial-rotation, 0) * 1deg);
z-index: -1;
--abs-angle-over-90: calc(
1 - 2 * var(--is-x-flipped, 0) * 1 - 2 * var(--is-y-flipped, 0)
);
scale: calc(1 - 2 * var(--is-x-flipped, 0)) calc(1 - 2 * var(--is-y-flipped, 0));
/* default placement */
--x: 48;
--y: 45;
/* Relative coordinates */
--dx: calc(
var(--abs-angle-over-90) *
min(
var(--x, 0) - var(--head-x, 0),
var(--x, 0) - var(--head-x, 0) + var(--head-x-offset, 0)
)
);
--dy: calc(
max(
calc(var(--head-initial-rotation, 0) - 90),
min(
var(--y, 0) - var(--head-y, 0),
var(--y, 0) - var(--head-y, 0) + var(--head-y-offset, 0)
)
)
);
/* Angle calculation using atan2 */
--head-angle: max(
var(--min-head-angle),
min(
var(--max-head-angle),
calc(
(atan2(var(--dy), var(--dx)) * var(--head-angle-intensity, 1)) -
calc(
(
var(--head-initial-rotation, 0) * var(--head-angle-intensity, 1) *
1deg
) + var(--head-angle-correction, 0deg)
)
)
)
);
}
/* --------------------- GECKO: shared styles --------------------- */
.gecko {
--gecko-viewport-width: 2000;
--gecko-width: calc(100 * var(--creature-unit));
--gecko-height: calc(100 * var(--creature-unit));
--gecko-proportionate-size: calc(
var(--gecko-width) / var(--gecko-viewport-width)
);
position: absolute;
--gecko-placement-x: calc(-49.25 + var(--x-offset, 0));
--gecko-placement-y: calc(-57.5 + var(--y-offset, 0));
top: calc(var(--gecko-placement-y) * var(--creature-unit));
left: calc(var(--gecko-placement-x) * var(--creature-unit));
width: var(--gecko-width);
height: var(--gecko-height);
aspect-ratio: 1/1;
color: #666;
transition: all var(--gecko-transition-duration, 0.5s) ease;
}
.gecko__body-part {
--translate-x-member: 0;
--translate-y-member: 0;
position: absolute;
width: 100%;
height: 100%;
transition: all var(--gecko-transition-duration, 0.5s) ease;
width: calc(var(--width) * var(--gecko-proportionate-size));
height: calc(var(--height) * var(--gecko-proportionate-size));
left: calc(var(--left) * var(--gecko-proportionate-size));
top: calc(var(--top) * var(--gecko-proportionate-size));
transform-origin: var(--transform-origin-x) var(--transform-origin-y);
transform: translate3d(var(--translate-x-member, 0px), var(--translate-y-member, 0px), 0) scale(var(--scale-member, 1)) rotate3d(0, 0, 1, calc(var(--rotate-member, 0) * 1deg));
opacity: var(--opacity);
}
.gecko__body-part svg {
position: absolute;
width: 100%;
height: 100%;
}
.gecko__shoulders {
--left: 904;
--top: 433;
--transform-origin-x: 50%;
--transform-origin-y: 78%;
--transform-origin-opacity: 1;
--rotate-member: 63;
--top: 1000;
--torso: 1;
}
.gecko__shoulders .gecko__thorax {
--left: -1;
--top: -17;
--transform-origin-x: 50%;
--transform-origin-y: 60%;
--transform-origin-opacity: 1;
--rotate-member: calc(var(--torso) * 35);
}
.gecko__shoulders .gecko__arm--left {
--left: -91;
--top: 54;
--transform-origin-x: 80%;
--transform-origin-y: 35%;
--transform-origin-opacity: 1;
--scale-member: var(--members-scale);
--rotate-member: -45;
}
.gecko__shoulders .gecko__forearm--left {
--left: -65;
--top: 40;
--transform-origin-x: 80%;
--transform-origin-y: 67%;
--transform-origin-opacity: 1;
--rotate-member: 60;
}
.gecko__shoulders .gecko__hand--left {
--left: -84;
--top: -71;
--transform-origin-x: 79%;
--transform-origin-y: 70%;
--transform-origin-opacity: 1;
--rotate-member: -25;
}
.gecko__shoulders .gecko__arm--right {
--left: 137;
--top: 53;
--transform-origin-x: 20%;
--transform-origin-y: 35%;
--transform-origin-opacity: 1;
--scale-member: var(--members-scale);
--rotate-member: -30;
}
.gecko__shoulders .gecko__forearm--right {
--left: 91;
--top: 30;
--transform-origin-x: 26%;
--transform-origin-y: 62%;
--transform-origin-opacity: 1;
--rotate-member: 5;
}
.gecko__shoulders .gecko__hand--right {
--left: 74;
--top: -79;
--transform-origin-x: 13%;
--transform-origin-y: 59%;
--transform-origin-opacity: 1;
--rotate-member: -40;
}
.gecko__shoulders .gecko__ribs {
--left: 5;
--top: 48;
--transform-origin-x: 50%;
--transform-origin-y: 21%;
--transform-origin-opacity: 1;
--rotate-member: calc(
-1 * var(--torso) * 30
);
}
.gecko__shoulders .gecko__back {
--left: -14;
--top: 43;
--transform-origin-x: 35%;
--transform-origin-y: 41%;
--transform-origin-opacity: 1;
--rotate-member: calc(
-1 * var(--torso) * 16
);
}
.gecko__shoulders .gecko__hips {
--hip-rotation: -1;
--left: 27;
--top: 426;
--transform-origin-x: 50%;
--transform-origin-y: 14%;
--transform-origin-opacity: 1;
--rotate-member: calc(var(--hip-rotation) * var(--torso) * 37);
}
.gecko__shoulders .gecko__tail--0 {
--left: 9;
--top: 96;
--transform-origin-x: 50%;
--transform-origin-y: 26%;
--transform-origin-opacity: 1;
--rotate-member: calc(var(--hip-rotation) * 15);
}
.gecko__shoulders .gecko__tail--1 {
--left: -1;
--top: 165;
--transform-origin-x: 50%;
--transform-origin-y: 26%;
--transform-origin-opacity: 1;
--rotate-member: calc(var(--hip-rotation) * 20);
}
.gecko__shoulders .gecko__tail--2 {
--left: 10;
--top: 105;
--transform-origin-x: 50%;
--transform-origin-y: 26%;
--transform-origin-opacity: 1;
--rotate-member: calc(var(--hip-rotation) * 20);
}
.gecko__shoulders .gecko__tail--3 {
--left: 9;
--top: 92;
--transform-origin-x: 50%;
--transform-origin-y: 26%;
--transform-origin-opacity: 1;
--rotate-member: calc(var(--hip-rotation) * 20);
}
.gecko__shoulders .gecko__tail--4 {
--left: 11;
--top: 108;
--transform-origin-x: 50%;
--transform-origin-y: 26%;
--transform-origin-opacity: 1;
--rotate-member: calc(var(--hip-rotation) * 20);
}
.gecko__shoulders .gecko__tail--5 {
--left: 11;
--top: 85;
--transform-origin-x: 50%;
--transform-origin-y: 26%;
--transform-origin-opacity: 1;
--rotate-member: calc(var(--hip-rotation) * 20);
}
.gecko__shoulders .gecko__tail--6 {
--left: 9;
--top: 73;
--transform-origin-x: 50%;
--transform-origin-y: 26%;
--transform-origin-opacity: 1;
--rotate-member: calc(var(--hip-rotation) * 20);
}
.gecko__shoulders .gecko__tail--7 {
--left: 5;
--top: 53;
--transform-origin-x: 50%;
--transform-origin-y: 26%;
--transform-origin-opacity: 1;
--rotate-member: calc(var(--hip-rotation) * 20);
}
.gecko__shoulders .gecko__tail--8 {
--left: 8;
--top: 52;
--transform-origin-x: 50%;
--transform-origin-y: 26%;
--transform-origin-opacity: 1;
--rotate-member: calc(var(--hip-rotation) * 20);
}
.gecko__shoulders .gecko__tail--9 {
--left: 4;
--top: 42;
--transform-origin-x: 50%;
--transform-origin-y: 15%;
--transform-origin-opacity: 1;
--rotate-member: calc(var(--hip-rotation) * 20);
}
.gecko__shoulders .gecko__tail--10 {
--left: 5;
--top: 55;
--transform-origin-x: 50%;
--transform-origin-y: 19%;
--transform-origin-opacity: 1;
--rotate-member: calc(var(--hip-rotation) * 15);
z-index: -1;
}
.gecko__shoulders .gecko__leg--left {
--left: -124;
--top: 49;
--transform-origin-x: 90%;
--transform-origin-y: 55%;
--transform-origin-opacity: 1;
--scale-member: var(--members-scale);
--rotate-member: -30;
}
.gecko__shoulders .gecko__shin--left {
--left: -76;
--top: 10;
--transform-origin-x: 87%;
--transform-origin-y: 22%;
--transform-origin-opacity: 1;
--rotate-member: -15;
}
.gecko__shoulders .gecko__foot--left {
--left: -105;
--top: 25;
--transform-origin-x: 82%;
--transform-origin-y: 42%;
--transform-origin-opacity: 1;
--rotate-member: -15;
}
.gecko__shoulders .gecko__leg--right {
--left: 89;
--top: 48;
--transform-origin-x: 10%;
--transform-origin-y: 55%;
--transform-origin-opacity: 1;
--scale-member: var(--members-scale);
--rotate-member: -20;
}
.gecko__shoulders .gecko__shin--right {
--left: 160;
--top: 4;
--transform-origin-x: 10%;
--transform-origin-y: 29%;
--transform-origin-opacity: 1;
--rotate-member: 50;
}
.gecko__shoulders .gecko__foot--right {
--left: 58;
--top: 0;
--transform-origin-x: 15%;
--transform-origin-y: 45%;
--transform-origin-opacity: 1;
--rotate-member: 5;
}
.gecko__shoulders .gecko__neck__body {
--left: -15;
--top: -60;
--transform-origin-x: 50%;
--transform-origin-y: 90%;
--transform-origin-opacity: 1;
--rotate-member: calc(var(--head-angle) * 1 / 6);
}
.gecko__shoulders .gecko__neck__head {
--left: -5;
--top: -54;
--transform-origin-x: 50%;
--transform-origin-y: 66%;
--transform-origin-opacity: 1;
--rotate-member: calc(var(--head-angle) * 1 / 3);
}
.gecko__shoulders .gecko__head {
--left: -104;
--top: -169;
--transform-origin-x: 50%;
--transform-origin-y: 65%;
--transform-origin-opacity: 1;
--rotate-member: calc(var(--head-angle) * 1 / 2);
}
/* ----------------- GECKO: unique body styles ------------------ */
.gecko__placement--1 {
--head-x: var(--gecko-1-x);
--head-y: var(--gecko-1-y);
z-index: var(--gecko-1-z);
filter: drop-shadow(calc(var(--creature-unit) / -2.5) 0 calc(var(--creature-unit) / 2) rgba(0, 0, 0, 0.25));
}
.gecko__placement--1 .gecko__shoulders {
--rotate-member: 80;
}
.gecko__placement--1 .gecko__thorax {
--rotate-member: 0;
}
.gecko__placement--1 .gecko__arm--right {
--rotate-member: 30;
--transform-origin-x: 0%;
--transform-origin-y: 45%;
}
.gecko__placement--1 .gecko__forearm--right {
--rotate-member: -50;
}
.gecko__placement--1 .gecko__hand--right {
--rotate-member: 0;
}
.gecko__placement--1 .gecko__neck__body {
--top: -62.5;
--transform-origin-x: 50%;
--transform-origin-y: 95%;
}
.gecko__placement--1 .gecko__neck__head {
--transform-origin-x: 45%;
}
.gecko__placement--2 {
--head-x: var(--gecko-2-x);
--head-y: var(--gecko-2-y);
--head-initial-rotation: 90;
z-index: var(--gecko-2-z);
filter: drop-shadow(calc(var(--creature-unit) / -2.5) 0 calc(var(--creature-unit) / 2) rgba(0, 0, 0, 0.25));
}
.gecko__placement--2 .gecko {
--x-offset: 3;
--y-offset: 0;
}
.gecko__placement--2 .gecko__hips {
--hip-rotation: -0.5;
}
.gecko__placement--2 .gecko__tail--0 {
--rotate-member: -4;
}
.gecko__placement--2 .gecko__tail--1,
.gecko__placement--2 .gecko__tail--2,
.gecko__placement--2 .gecko__tail--3,
.gecko__placement--2 .gecko__tail--4,
.gecko__placement--2 .gecko__tail--5,
.gecko__placement--2 .gecko__tail--6,
.gecko__placement--2 .gecko__tail--7 {
--rotate-member: -5;
}
.gecko__placement--2 .gecko__tail--8 {
--rotate-member: -4;
}
.gecko__placement--2 .gecko__tail--9 {
--rotate-member: -3;
}
.gecko__placement--2 .gecko__tail--10 {
--rotate-member: -2;
}
.gecko__placement--2 .gecko__arm--left {
--rotate-member: 30;
}
.gecko__placement--2 .gecko__forearm--left {
--rotate-member: 20;
}
.gecko__placement--2 .gecko__arm--right {
--rotate-member: -10;
}
.gecko__placement--2 .gecko__forearm--right {
--rotate-member: -50;
}
.gecko__placement--2 .gecko__hand--right {
--rotate-member: 0;
}
.gecko__placement--2 .gecko__leg--left {
--rotate-member: -20;
}
.gecko__placement--2 .gecko__leg--right {
--rotate-member: -35;
}
.gecko__placement--2 .gecko__shin--right {
--rotate-member: 70;
}
.gecko__placement--2 .gecko__foot--right {
--rotate-member: -10;
}
.gecko__placement--3 {
--head-x: var(--gecko-3-x);
--head-y: var(--gecko-3-y);
--is-x-flipped: 1;
filter: drop-shadow(calc(var(--creature-unit) / -2.5) 0 calc(var(--creature-unit) / 2) rgba(0, 0, 0, 0.25));
z-index: var(--gecko-3-z);
}
.gecko__placement--3 .gecko {
--x-offset: 3;
--y-offset: 0;
}
.gecko__placement--3 .gecko__shoulders {
--rotate-member: 70;
}
.gecko__placement--3 .gecko__hips {
--rotate-member: -40;
}
.gecko__placement--3 .gecko__tail--0 {
--rotate-member: -15;
}
.gecko__placement--3 .gecko__tail--1 {
--rotate-member: -20;
}
.gecko__placement--3 .gecko__tail--2 {
--rotate-member: -25;
}
.gecko__placement--3 .gecko__tail--3,
.gecko__placement--3 .gecko__tail--4 {
--rotate-member: -15;
}
.gecko__placement--3 .gecko__tail--7 {
--hip-rotation: 1;
--rotate-member: 0;
}
.gecko__placement--3 .gecko__tail--8,
.gecko__placement--3 .gecko__tail--9,
.gecko__placement--3 .gecko__tail--10 {
--rotate-member: 12;
}
.gecko__neck__body,
.gecko__neck__head,
.gecko__head {
will-change: transform;
transform: translate3d(var(--translate-x-member, 0px), var(--translate-y-member, 0px), 0) rotate3d(0, 0, 1, var(--rotate-member));
transition: transform var(--gecko-transition-duration, 0.125s) ease-in var(--gecko-transition-delay, 0s);
}
.gecko__neck__body {
transform: translate3d(var(--translate-x-member, 0px), var(--translate-y-member, 0px), 0) rotate3d(0, 0, 1, calc(var(--body-neck-offset, 30deg) + var(--rotate-member)));
}
/* ---------------------------------------------------------------------- */
/* ------------------------- EXTRA INTERACTIONS ------------------------- */
/* ---------------------------------------------------------------------- */
/* ------------------------ GECKO: tail animation ----------------------- */
.gecko__placement--1 {
--offset-delay: 3.375s;
--multiplier: 0.0875;
}
.gecko__placement--2 {
--offset-delay: 3s;
--multiplier: 0.1;
}
.gecko__placement--3 {
--offset-delay: 2s;
--multiplier: 0.075;
}
.gecko__body-part[class*=gecko__tail] {
will-change: transform;
transform-style: preserve-3d;
animation: inherit;
animation-delay: calc(var(--offset-delay) + var(--delay, 1) * 1s);
}
.gecko__hips > .gecko__body-part[class*=gecko__tail] {
--delay: calc(var(--multiplier) * 1);
animation: flinch 0.75s ease-out forwards;
animation-delay: calc(var(--offset-delay) + var(--delay, 1) * 1s);
}
.gecko__hips > .gecko__body-part[class*=gecko__tail] > .gecko__body-part[class*=gecko__tail] {
--delay: calc(var(--multiplier) * 2);
}
.gecko__hips > .gecko__body-part[class*=gecko__tail] > * > .gecko__body-part[class*=gecko__tail] {
--delay: calc(var(--multiplier) * 3);
}
.gecko__hips > .gecko__body-part[class*=gecko__tail] > * > * > .gecko__body-part[class*=gecko__tail] {
--delay: calc(var(--multiplier) * 4);
}
.gecko__hips > .gecko__body-part[class*=gecko__tail] > * > * > * > .gecko__body-part[class*=gecko__tail] {
--delay: calc(var(--multiplier) * 5);
}
.gecko__hips > .gecko__body-part[class*=gecko__tail] > * > * > * > * > .gecko__body-part[class*=gecko__tail] {
--delay: calc(var(--multiplier) * 6);
}
.gecko__hips > .gecko__body-part[class*=gecko__tail] > * > * > * > * > * > .gecko__body-part[class*=gecko__tail] {
--delay: calc(var(--multiplier) * 7);
}
.gecko__hips > .gecko__body-part[class*=gecko__tail] > * > * > * > * > * > * > .gecko__body-part[class*=gecko__tail] {
--delay: calc(var(--multiplier) * 8);
}
.gecko__hips > .gecko__body-part[class*=gecko__tail] > * > * > * > * > * > * > * > .gecko__body-part[class*=gecko__tail] {
--delay: calc(var(--multiplier) * 9);
}
.gecko__hips > .gecko__body-part[class*=gecko__tail] > * > * > * > * > * > * > * > * > .gecko__body-part[class*=gecko__tail] {
--delay: calc(var(--multiplier) * 10);
}
.gecko__hips > .gecko__body-part[class*=gecko__tail] > * > * > * > * > * > * > * > * > * > .gecko__body-part[class*=gecko__tail] {
--delay: calc(var(--multiplier) * 11);
}
@keyframes flinch {
0% {
transform: translate3d(var(--translate-x-member, 0px), var(--translate-y-member, 0px), 0) scale3d(var(--scale-member, 1), 1, 1) rotate3d(0, 0, 1, calc(var(--rotate-member, 0) * 1deg));
}
50% {
transform: translate3d(var(--translate-x-member, 0px), var(--translate-y-member, 0px), 0) scale3d(var(--scale-member, 1), 1, 1) rotate3d(0, 0, 1, calc( max(var(--rotate-member, 0), -1 * var(--rotate-member, 0)) * 2.5deg * var(--delay) ));
}
100% {
transform: translate3d(var(--translate-x-member, 0px), var(--translate-y-member, 0px), 0) scale3d(var(--scale-member, 1), 1, 1) rotate3d(0, 0, 1, calc(var(--rotate-member, 0) * 1deg));
}
}
/* ------------- GECKO: attack body placement and motion limitation ------------ */
:root {
--creature-unit-percentage: 12%;
--creature-unit: 1.75vh;
--gecko-1-x: 1;
--gecko-1-y: 40;
--gecko-1-z: 3;
--gecko-2-x: 70;
--gecko-2-y: 0;
--gecko-2-z: 2;
--gecko-3-x: 100;
--gecko-3-y: 15;
--gecko-3-z: 3;
}
:root .gecko__placement--1 {
--min-head-angle: -80deg;
--max-head-angle: 45deg;
--head-x-offset: 21;
--head-y-offset: -6;
}
:root .gecko__placement--2 {
--min-head-angle: -55deg;
--max-head-angle: 70deg;
--head-angle-intensity: 1.25;
--head-x-offset: 0;
--head-y-offset: -15;
}
:root .gecko__placement--3 {
--min-head-angle: -65deg;
--max-head-angle: 60deg;
--head-x-offset: 3;
--head-y-offset: 9;
}
:root [class*=gecko-trap-] > .gecko-attack-area {
display: none;
}
:root [class*=_base] > .gecko-attack-area {
display: block;
}
@media screen and (min-width: 200vh) {
:root {
--creature-unit: min(1.875vh, 0.625vw);
--gecko-1-x: 9;
--gecko-1-y: 42.5;
--gecko-2-x: 70;
--gecko-2-y: 0;
--gecko-3-x: 97.5;
--gecko-3-y: 30;
}
:root .gecko__placement--1 .gecko__arm--left {
--left: -75;
--top: 15;
--rotate-member: 5;
--transform-origin-x: 50%;
--transform-origin-y: 40%;
}
:root .gecko__placement--1 .gecko__forearm--left {
--rotate-member: 50;
}
:root .gecko__placement--1 .gecko__hand--left {
--rotate-member: -35;
--transform-origin-x: 75%;
}
:root .gecko__placement--2 {
--head-angle-intensity: 1;
--head-y-offset: -21;
}
:root [class*=gecko-trap-] > .gecko-attack-area {
display: none;
}
:root [class*=_min200] > .gecko-attack-area {
display: block;
}
}
@media screen and (min-width: 250vh) {
:root {
--creature-unit: max(1.75vh, 0.5vw);
}
:root .gecko__placement--1 {
--head-angle-correction: 5deg;
}
:root .gecko__placement--2 {
--head-angle-intensity: 1.25;
--head-angle-correction: 5deg;
}
:root .gecko__placement--3 {
--head-angle-correction: 5deg;
}
:root [class*=gecko-trap-] > .gecko-attack-area {
display: none;
}
:root [class*=_min250] > .gecko-attack-area {
display: block;
}
}
@media screen and (min-width: 300vh) {
:root .gecko__placement--1 {
--head-angle-intensity: 0.875;
--head-angle-correction: 5deg;
}
:root .gecko__placement--2 {
--head-angle-intensity: 1.5;
}
:root [class*=gecko-trap-] > .gecko-attack-area {
display: none;
}
:root [class*=_min300] > .gecko-attack-area {
display: block;
}
}
@media screen and (min-width: 350vh) {
:root .gecko__placement--1 {
--head-angle-correction: 0deg;
}
:root .gecko__placement--2 {
--head-angle-correction: 5deg;
--head-x-offset: 12;
--head-y-offset: -24;
}
:root .gecko__placement--3 {
--head-angle-correction: 0deg;
}
:root [class*=gecko-trap-] > .gecko-attack-area {
display: none;
}
:root [class*=_min350] > .gecko-attack-area {
display: block;
}
}
@media screen and (min-width: 450vh) {
:root {
--creature-unit: max(2dvh, calc(100dvw / 33 * 0.15));
}
:root [class*=gecko-trap-] > .gecko-attack-area {
display: none;
}
:root [class*=_min450] > .gecko-attack-area {
display: block;
}
}
@media screen and (max-width: 166vh) {
:root {
--gecko-1-x: 1.25;
--gecko-1-y: 45;
--gecko-1-z: 1;
--gecko-2-x: 65.75;
--gecko-2-y: 0;
--gecko-3-x: 100;
--gecko-3-y: 17.5;
}
:root .gecko__placement--1 .gecko__arm--left {
--left: -75;
--top: 15;
--rotate-member: 5;
--transform-origin-x: 50%;
--transform-origin-y: 40%;
}
:root .gecko__placement--1 .gecko__forearm--left {
--rotate-member: 50;
}
:root .gecko__placement--1 .gecko__hand--left {
--rotate-member: -35;
--transform-origin-x: 75%;
}
:root [class*=gecko-trap-] > .gecko-attack-area {
display: none;
}
:root [class*=_max166] > .gecko-attack-area {
display: block;
}
}
@media screen and (max-width: 150vh) {
:root {
--creature-unit: 1.625vh;
--gecko-1-x: 2.5;
--gecko-1-y: 45;
--gecko-2-x: 61.5;
--gecko-2-y: 0;
--gecko-3-x: 100;
--gecko-3-y: 20;
}
:root [class*=gecko-trap-] > .gecko-attack-area {
display: none;
}
:root [class*=_max150] > .gecko-attack-area {
display: block;
}
}
@media screen and (max-width: 125vh) {
:root {
--creature-unit: 1.5vh;
--gecko-1-x: 3.75;
--gecko-1-y: 45;
--gecko-2-x: 80;
--gecko-2-y: 0;
--gecko-3-x: 100;
--gecko-3-y: 55;
--gecko-3-z: 1;
}
:root .gecko__placement--1 {
--head-x-offset: 0;
--head-y-offset: -9;
}
:root .gecko__placement--3 {
--head-x-offset: 21;
--head-y-offset: 6;
}
:root [class*=gecko-trap-] > .gecko-attack-area {
display: none;
}
:root [class*=_max125] > .gecko-attack-area {
display: block;
}
}
@media screen and (max-width: 100vh) {
:root {
--creature-unit: 1.33vh;
--gecko-1-x: 5;
--gecko-1-y: 30;
--gecko-1-z: 3;
--gecko-2-x: 75;
--gecko-2-y: 0;
--gecko-3-x: 100;
--gecko-3-y: 55;
}
:root .gecko__placement--1 {
--head-x-offset: -9;
}
:root .gecko__placement--2 {
--head-x-offset: 6;
--head-y-offset: -12;
}
:root .gecko__placement--3 {
--head-x-offset: 24;
--head-y-offset: -4;
}
:root [class*=gecko-trap-] > .gecko-attack-area {
display: none;
}
:root [class*=_max100] > .gecko-attack-area {
display: block;
}
}
@media screen and (max-width: 75vh) {
:root {
--gecko-1-x: 5;
--gecko-1-y: 25;
--gecko-1-z: 3;
--gecko-2-x: 80;
--gecko-2-y: 0;
--gecko-3-x: 100;
--gecko-3-y: 62.5;
}
:root [class*=gecko-trap-] > .gecko-attack-area {
display: none;
}
:root [class*=_max75] > .gecko-attack-area {
display: block;
}
}
@media screen and (max-width: 66.6vh) {
:root {
--creature-unit: 1.25vh;
--gecko-1-x: 5;
--gecko-1-y: 62.5;
--gecko-1-z: 3;
--gecko-2-x: 70;
--gecko-2-y: 0;
--gecko-3-x: 100;
--gecko-3-y: 40;
}
:root .gecko__placement--1 {
--head-x-offset: -15;
--head-y-offset: -5;
}
:root .gecko__placement--2 {
--head-angle-correction: 10deg;
--head-x-offset: 0;
--head-y-offset: -6;
}
:root .gecko__placement--3 {
--head-angle-intensity: 2;
--head-x-offset: 6;
--head-y-offset: 3;
}
:root [class*=gecko-trap-] > .gecko-attack-area {
display: none;
}
:root [class*=_max66] > .gecko-attack-area {
display: block;
}
}
@media screen and (max-width: 50vh) {
:root {
--creature-unit: 1vh;
--gecko-1-x: 5;
--gecko-1-y: 30;
--gecko-1-z: 3;
--gecko-2-x: 65;
--gecko-2-y: 0;
--gecko-3-x: 103.5;
--gecko-3-y: 67.5;
}
:root .gecko__placement--1 {
--head-angle-intensity: 1.5;
}
:root .gecko__placement--2 {
--head-angle-correction: 0deg;
--head-x-offset: 18;
--head-y-offset: -3;
}
:root .gecko__placement--3 {
--head-angle-intensity: 3;
}
:root [class*=gecko-trap-] > .gecko-attack-area {
display: none;
}
:root [class*=_max50] > .gecko-attack-area {
display: block;
}
}
/* --------------- GECKO & FLY: (restart) attack animation -------------- */
body:has(:is(.gecko-trap-1_base,
.gecko-trap-1_min200,
.gecko-trap-1_min250,
.gecko-trap-1_min300,
.gecko-trap-1_min350,
.gecko-trap-1_min450,
.gecko-trap-1_max166,
.gecko-trap-1_max150,
.gecko-trap-1_max125,
.gecko-trap-1_max100,
.gecko-trap-1_max75,
.gecko-trap-1_max66,
.gecko-trap-1_max50) span:hover) {
--gecko-transition-duration: 0.075s;
}
body:has(:is(.gecko-trap-1_base,
.gecko-trap-1_min200,
.gecko-trap-1_min250,
.gecko-trap-1_min300,
.gecko-trap-1_min350,
.gecko-trap-1_min450,
.gecko-trap-1_max166,
.gecko-trap-1_max150,
.gecko-trap-1_max125,
.gecko-trap-1_max100,
.gecko-trap-1_max75,
.gecko-trap-1_max66,
.gecko-trap-1_max50) span:hover) td:hover {
position: absolute;
top: 0;
left: 0;
width: 200vmax;
height: 200vmax;
transform: translate(-50%, -50%);
z-index: 1000000;
}
body:has(:is(.gecko-trap-1_base,
.gecko-trap-1_min200,
.gecko-trap-1_min250,
.gecko-trap-1_min300,
.gecko-trap-1_min350,
.gecko-trap-1_min450,
.gecko-trap-1_max166,
.gecko-trap-1_max150,
.gecko-trap-1_max125,
.gecko-trap-1_max100,
.gecko-trap-1_max75,
.gecko-trap-1_max66,
.gecko-trap-1_max50) span:hover) .fly {
--wing-speed: 0s;
}
body:has(:is(.gecko-trap-1_base,
.gecko-trap-1_min200,
.gecko-trap-1_min250,
.gecko-trap-1_min300,
.gecko-trap-1_min350,
.gecko-trap-1_min450,
.gecko-trap-1_max166,
.gecko-trap-1_max150,
.gecko-trap-1_max125,
.gecko-trap-1_max100,
.gecko-trap-1_max75,
.gecko-trap-1_max66,
.gecko-trap-1_max50) span:hover) .gecko__placement--1 {
--head-angle-correction: -10deg;
--head-x-offset: 12;
--head-y-offset: 0;
/* reset tail animation */
}
@media screen and (min-width: 200vh) {
body:has(:is(.gecko-trap-1_base,
.gecko-trap-1_min200,
.gecko-trap-1_min250,
.gecko-trap-1_min300,
.gecko-trap-1_min350,
.gecko-trap-1_min450,
.gecko-trap-1_max166,
.gecko-trap-1_max150,
.gecko-trap-1_max125,
.gecko-trap-1_max100,
.gecko-trap-1_max75,
.gecko-trap-1_max66,
.gecko-trap-1_max50) span:hover) .gecko__placement--1 {
--head-angle-correction: -15deg;
}
}
@media screen and (min-width: 250vh) {
body:has(:is(.gecko-trap-1_base,
.gecko-trap-1_min200,
.gecko-trap-1_min250,
.gecko-trap-1_min300,
.gecko-trap-1_min350,
.gecko-trap-1_min450,
.gecko-trap-1_max166,
.gecko-trap-1_max150,
.gecko-trap-1_max125,
.gecko-trap-1_max100,
.gecko-trap-1_max75,
.gecko-trap-1_max66,
.gecko-trap-1_max50) span:hover) .gecko__placement--1 {
--head-x-offset: 6;
--head-angle-intensity: 0.875;
}
}
@media screen and (min-width: 300vh) {
body:has(:is(.gecko-trap-1_base,
.gecko-trap-1_min200,
.gecko-trap-1_min250,
.gecko-trap-1_min300,
.gecko-trap-1_min350,
.gecko-trap-1_min450,
.gecko-trap-1_max166,
.gecko-trap-1_max150,
.gecko-trap-1_max125,
.gecko-trap-1_max100,
.gecko-trap-1_max75,
.gecko-trap-1_max66,
.gecko-trap-1_max50) span:hover) .gecko__placement--1 {
--head-angle-correction: -10deg;
--head-angle-intensity: 0.625;
--head-x-offset: 24;
--head-y-offset: 9;
}
}
@media screen and (max-width: 150vh) {
body:has(:is(.gecko-trap-1_base,
.gecko-trap-1_min200,
.gecko-trap-1_min250,
.gecko-trap-1_min300,
.gecko-trap-1_min350,
.gecko-trap-1_min450,
.gecko-trap-1_max166,
.gecko-trap-1_max150,
.gecko-trap-1_max125,
.gecko-trap-1_max100,
.gecko-trap-1_max75,
.gecko-trap-1_max66,
.gecko-trap-1_max50) span:hover) .gecko__placement--1 {
--head-angle-correction: -10deg;
--head-angle-intensity: 1.1;
--head-x-offset: 12;
--head-y-offset: 9;
}
}
@media screen and (max-width: 125vh) {
body:has(:is(.gecko-trap-1_base,
.gecko-trap-1_min200,
.gecko-trap-1_min250,
.gecko-trap-1_min300,
.gecko-trap-1_min350,
.gecko-trap-1_min450,
.gecko-trap-1_max166,
.gecko-trap-1_max150,
.gecko-trap-1_max125,
.gecko-trap-1_max100,
.gecko-trap-1_max75,
.gecko-trap-1_max66,
.gecko-trap-1_max50) span:hover) .gecko__placement--1 {
--head-angle-intensity: 1.25;
}
}
@media screen and (max-width: 100vh) {
body:has(:is(.gecko-trap-1_base,
.gecko-trap-1_min200,
.gecko-trap-1_min250,
.gecko-trap-1_min300,
.gecko-trap-1_min350,
.gecko-trap-1_min450,
.gecko-trap-1_max166,
.gecko-trap-1_max150,
.gecko-trap-1_max125,
.gecko-trap-1_max100,
.gecko-trap-1_max75,
.gecko-trap-1_max66,
.gecko-trap-1_max50) span:hover) .gecko__placement--1 {
--head-angle-intensity: 1.5;
--head-x-offset: 30;
--head-y-offset: 15;
}
}
@media screen and (max-width: 75vh) {
body:has(:is(.gecko-trap-1_base,
.gecko-trap-1_min200,
.gecko-trap-1_min250,
.gecko-trap-1_min300,
.gecko-trap-1_min350,
.gecko-trap-1_min450,
.gecko-trap-1_max166,
.gecko-trap-1_max150,
.gecko-trap-1_max125,
.gecko-trap-1_max100,
.gecko-trap-1_max75,
.gecko-trap-1_max66,
.gecko-trap-1_max50) span:hover) .gecko__placement--1 {
--head-angle-correction: -10deg;
--head-angle-intensity: 1.75;
--head-x-offset: 36;
}
}
@media screen and (max-width: 66.6vh) {
body:has(:is(.gecko-trap-1_base,
.gecko-trap-1_min200,
.gecko-trap-1_min250,
.gecko-trap-1_min300,
.gecko-trap-1_min350,
.gecko-trap-1_min450,
.gecko-trap-1_max166,
.gecko-trap-1_max150,
.gecko-trap-1_max125,
.gecko-trap-1_max100,
.gecko-trap-1_max75,
.gecko-trap-1_max66,
.gecko-trap-1_max50) span:hover) .gecko__placement--1 {
--head-angle-intensity: 2;
}
}
@media screen and (max-width: 50vh) {
body:has(:is(.gecko-trap-1_base,
.gecko-trap-1_min200,
.gecko-trap-1_min250,
.gecko-trap-1_min300,
.gecko-trap-1_min350,
.gecko-trap-1_min450,
.gecko-trap-1_max166,
.gecko-trap-1_max150,
.gecko-trap-1_max125,
.gecko-trap-1_max100,
.gecko-trap-1_max75,
.gecko-trap-1_max66,
.gecko-trap-1_max50) span:hover) .gecko__placement--1 {
--head-x-offset: 42;
--head-angle-intensity: 2.375;
--head-angle-correction: -10deg;
}
}
body:has(:is(.gecko-trap-1_base,
.gecko-trap-1_min200,
.gecko-trap-1_min250,
.gecko-trap-1_min300,
.gecko-trap-1_min350,
.gecko-trap-1_min450,
.gecko-trap-1_max166,
.gecko-trap-1_max150,
.gecko-trap-1_max125,
.gecko-trap-1_max100,
.gecko-trap-1_max75,
.gecko-trap-1_max66,
.gecko-trap-1_max50) span:hover) .gecko__placement--1 .gecko__shoulders {
--translate-x-member: calc(var(--creature-unit-percentage) * 2.5);
--translate-y-member: calc(var(--creature-unit-percentage) * -1.667);
}
body:has(:is(.gecko-trap-1_base,
.gecko-trap-1_min200,
.gecko-trap-1_min250,
.gecko-trap-1_min300,
.gecko-trap-1_min350,
.gecko-trap-1_min450,
.gecko-trap-1_max166,
.gecko-trap-1_max150,
.gecko-trap-1_max125,
.gecko-trap-1_max100,
.gecko-trap-1_max75,
.gecko-trap-1_max66,
.gecko-trap-1_max50) span:hover) .gecko__placement--1 .gecko__shoulders > svg {
animation: eat__shoulders 0.125s ease-in-out forwards 0.25s;
animation-iteration-count: 2;
}
body:has(:is(.gecko-trap-1_base,
.gecko-trap-1_min200,
.gecko-trap-1_min250,
.gecko-trap-1_min300,
.gecko-trap-1_min350,
.gecko-trap-1_min450,
.gecko-trap-1_max166,
.gecko-trap-1_max150,
.gecko-trap-1_max125,
.gecko-trap-1_max100,
.gecko-trap-1_max75,
.gecko-trap-1_max66,
.gecko-trap-1_max50) span:hover) .gecko__placement--1 .gecko__ribs {
--rotate-member: calc(-1 * var(--torso) * 25);
}
body:has(:is(.gecko-trap-1_base,
.gecko-trap-1_min200,
.gecko-trap-1_min250,
.gecko-trap-1_min300,
.gecko-trap-1_min350,
.gecko-trap-1_min450,
.gecko-trap-1_max166,
.gecko-trap-1_max150,
.gecko-trap-1_max125,
.gecko-trap-1_max100,
.gecko-trap-1_max75,
.gecko-trap-1_max66,
.gecko-trap-1_max50) span:hover) .gecko__placement--1 .gecko__back {
--rotate-member: calc(-1 * var(--torso) * 14);
}
body:has(:is(.gecko-trap-1_base,
.gecko-trap-1_min200,
.gecko-trap-1_min250,
.gecko-trap-1_min300,
.gecko-trap-1_min350,
.gecko-trap-1_min450,
.gecko-trap-1_max166,
.gecko-trap-1_max150,
.gecko-trap-1_max125,
.gecko-trap-1_max100,
.gecko-trap-1_max75,
.gecko-trap-1_max66,
.gecko-trap-1_max50) span:hover) .gecko__placement--1 .gecko__hips {
--rotate-member: calc(var(--hip-rotation) * var(--torso) * 30);
}
body:has(:is(.gecko-trap-1_base,
.gecko-trap-1_min200,
.gecko-trap-1_min250,
.gecko-trap-1_min300,
.gecko-trap-1_min350,
.gecko-trap-1_min450,
.gecko-trap-1_max166,
.gecko-trap-1_max150,
.gecko-trap-1_max125,
.gecko-trap-1_max100,
.gecko-trap-1_max75,
.gecko-trap-1_max66,
.gecko-trap-1_max50) span:hover) .gecko__placement--1 .gecko__arm--left {
--rotate-member: -62;
}
body:has(:is(.gecko-trap-1_base,
.gecko-trap-1_min200,
.gecko-trap-1_min250,
.gecko-trap-1_min300,
.gecko-trap-1_min350,
.gecko-trap-1_min450,
.gecko-trap-1_max166,
.gecko-trap-1_max150,
.gecko-trap-1_max125,
.gecko-trap-1_max100,
.gecko-trap-1_max75,
.gecko-trap-1_max66,
.gecko-trap-1_max50) span:hover) .gecko__placement--1 .gecko__forearm--left {
--rotate-member: 15;
}
body:has(:is(.gecko-trap-1_base,
.gecko-trap-1_min200,
.gecko-trap-1_min250,
.gecko-trap-1_min300,
.gecko-trap-1_min350,
.gecko-trap-1_min450,
.gecko-trap-1_max166,
.gecko-trap-1_max150,
.gecko-trap-1_max125,
.gecko-trap-1_max100,
.gecko-trap-1_max75,
.gecko-trap-1_max66,
.gecko-trap-1_max50) span:hover) .gecko__placement--1 .gecko__hand--left {
--rotate-member: 42;
--translate-x-member: calc(var(--creature-unit-percentage) * -0.25);
--translate-y-member: calc(var(--creature-unit-percentage) * 0.5);
}
body:has(:is(.gecko-trap-1_base,
.gecko-trap-1_min200,
.gecko-trap-1_min250,
.gecko-trap-1_min300,
.gecko-trap-1_min350,
.gecko-trap-1_min450,
.gecko-trap-1_max166,
.gecko-trap-1_max150,
.gecko-trap-1_max125,
.gecko-trap-1_max100,
.gecko-trap-1_max75,
.gecko-trap-1_max66,
.gecko-trap-1_max50) span:hover) .gecko__placement--1 .gecko__arm--right {
--rotate-member: 16;
}
body:has(:is(.gecko-trap-1_base,
.gecko-trap-1_min200,
.gecko-trap-1_min250,
.gecko-trap-1_min300,
.gecko-trap-1_min350,
.gecko-trap-1_min450,
.gecko-trap-1_max166,
.gecko-trap-1_max150,
.gecko-trap-1_max125,
.gecko-trap-1_max100,
.gecko-trap-1_max75,
.gecko-trap-1_max66,
.gecko-trap-1_max50) span:hover) .gecko__placement--1 .gecko__forearm--right {
--rotate-member: 43;
}
body:has(:is(.gecko-trap-1_base,
.gecko-trap-1_min200,
.gecko-trap-1_min250,
.gecko-trap-1_min300,
.gecko-trap-1_min350,
.gecko-trap-1_min450,
.gecko-trap-1_max166,
.gecko-trap-1_max150,
.gecko-trap-1_max125,
.gecko-trap-1_max100,
.gecko-trap-1_max75,
.gecko-trap-1_max66,
.gecko-trap-1_max50) span:hover) .gecko__placement--1 .gecko__hand--right {
--rotate-member: -72;
}
body:has(:is(.gecko-trap-1_base,
.gecko-trap-1_min200,
.gecko-trap-1_min250,
.gecko-trap-1_min300,
.gecko-trap-1_min350,
.gecko-trap-1_min450,
.gecko-trap-1_max166,
.gecko-trap-1_max150,
.gecko-trap-1_max125,
.gecko-trap-1_max100,
.gecko-trap-1_max75,
.gecko-trap-1_max66,
.gecko-trap-1_max50) span:hover) .gecko__placement--1 .gecko__leg--left {
--rotate-member: -76;
--translate-x-member: calc(var(--creature-unit-percentage) * -1.25);
--translate-y-member: calc(var(--creature-unit-percentage) * -0.25);
z-index: -1;
}
body:has(:is(.gecko-trap-1_base,
.gecko-trap-1_min200,
.gecko-trap-1_min250,
.gecko-trap-1_min300,
.gecko-trap-1_min350,
.gecko-trap-1_min450,
.gecko-trap-1_max166,
.gecko-trap-1_max150,
.gecko-trap-1_max125,
.gecko-trap-1_max100,
.gecko-trap-1_max75,
.gecko-trap-1_max66,
.gecko-trap-1_max50) span:hover) .gecko__placement--1 .gecko__shin--left {
--rotate-member: 26;
--translate-x-member: calc(var(--creature-unit-percentage) * -1.25);
--translate-y-member: calc(var(--creature-unit-percentage) * 0.25);
}
body:has(:is(.gecko-trap-1_base,
.gecko-trap-1_min200,
.gecko-trap-1_min250,
.gecko-trap-1_min300,
.gecko-trap-1_min350,
.gecko-trap-1_min450,
.gecko-trap-1_max166,
.gecko-trap-1_max150,
.gecko-trap-1_max125,
.gecko-trap-1_max100,
.gecko-trap-1_max75,
.gecko-trap-1_max66,
.gecko-trap-1_max50) span:hover) .gecko__placement--1 .gecko__foot--left {
--rotate-member: -23;
}
body:has(:is(.gecko-trap-1_base,
.gecko-trap-1_min200,
.gecko-trap-1_min250,
.gecko-trap-1_min300,
.gecko-trap-1_min350,
.gecko-trap-1_min450,
.gecko-trap-1_max166,
.gecko-trap-1_max150,
.gecko-trap-1_max125,
.gecko-trap-1_max100,
.gecko-trap-1_max75,
.gecko-trap-1_max66,
.gecko-trap-1_max50) span:hover) .gecko__placement--1 .gecko__leg--right {
--rotate-member: -10;
}
body:has(:is(.gecko-trap-1_base,
.gecko-trap-1_min200,
.gecko-trap-1_min250,
.gecko-trap-1_min300,
.gecko-trap-1_min350,
.gecko-trap-1_min450,
.gecko-trap-1_max166,
.gecko-trap-1_max150,
.gecko-trap-1_max125,
.gecko-trap-1_max100,
.gecko-trap-1_max75,
.gecko-trap-1_max66,
.gecko-trap-1_max50) span:hover) .gecko__placement--1 .gecko__shin--right {
--rotate-member: 35;
}
body:has(:is(.gecko-trap-1_base,
.gecko-trap-1_min200,
.gecko-trap-1_min250,
.gecko-trap-1_min300,
.gecko-trap-1_min350,
.gecko-trap-1_min450,
.gecko-trap-1_max166,
.gecko-trap-1_max150,
.gecko-trap-1_max125,
.gecko-trap-1_max100,
.gecko-trap-1_max75,
.gecko-trap-1_max66,
.gecko-trap-1_max50) span:hover) .gecko__placement--1 .gecko__foot--right {
--rotate-member: -3;
}
body:has(:is(.gecko-trap-1_base,
.gecko-trap-1_min200,
.gecko-trap-1_min250,
.gecko-trap-1_min300,
.gecko-trap-1_min350,
.gecko-trap-1_min450,
.gecko-trap-1_max166,
.gecko-trap-1_max150,
.gecko-trap-1_max125,
.gecko-trap-1_max100,
.gecko-trap-1_max75,
.gecko-trap-1_max66,
.gecko-trap-1_max50) span:hover) .gecko__placement--1 :is(.gecko__tail--3, .gecko__tail--4, .gecko__tail--5) {
--rotate-member: -22.5;
}
body:has(:is(.gecko-trap-1_base,
.gecko-trap-1_min200,
.gecko-trap-1_min250,
.gecko-trap-1_min300,
.gecko-trap-1_min350,
.gecko-trap-1_min450,
.gecko-trap-1_max166,
.gecko-trap-1_max150,
.gecko-trap-1_max125,
.gecko-trap-1_max100,
.gecko-trap-1_max75,
.gecko-trap-1_max66,
.gecko-trap-1_max50) span:hover) .gecko__placement--1 :is(.gecko__tail--6, .gecko__tail--7, .gecko__tail--8, .gecko__tail--9) {
--rotate-member: -15;
}
body:has(:is(.gecko-trap-1_base,
.gecko-trap-1_min200,
.gecko-trap-1_min250,
.gecko-trap-1_min300,
.gecko-trap-1_min350,
.gecko-trap-1_min450,
.gecko-trap-1_max166,
.gecko-trap-1_max150,
.gecko-trap-1_max125,
.gecko-trap-1_max100,
.gecko-trap-1_max75,
.gecko-trap-1_max66,
.gecko-trap-1_max50) span:hover) .gecko__placement--1 .gecko__tail--10 {
--rotate-member: -15;
}
body:has(:is(.gecko-trap-1_base,
.gecko-trap-1_min200,
.gecko-trap-1_min250,
.gecko-trap-1_min300,
.gecko-trap-1_min350,
.gecko-trap-1_min450,
.gecko-trap-1_max166,
.gecko-trap-1_max150,
.gecko-trap-1_max125,
.gecko-trap-1_max100,
.gecko-trap-1_max75,
.gecko-trap-1_max66,
.gecko-trap-1_max50) span:hover) .gecko__placement--1 .gecko__neck__body {
--body-neck-offset: 15deg;
--translate-x-member: calc(var(--creature-unit-percentage) * 0.625);
--translate-y-member: calc(var(--creature-unit-percentage) * -0.25);
--transform-origin-x: 50%;
--transform-origin-y: 80%;
--rotate-member: calc(var(--head-angle) * 1 / 2);
animation: eat__neck__body 0.125s ease-in-out backwards 0.2s;
}
body:has(:is(.gecko-trap-1_base,
.gecko-trap-1_min200,
.gecko-trap-1_min250,
.gecko-trap-1_min300,
.gecko-trap-1_min350,
.gecko-trap-1_min450,
.gecko-trap-1_max166,
.gecko-trap-1_max150,
.gecko-trap-1_max125,
.gecko-trap-1_max100,
.gecko-trap-1_max75,
.gecko-trap-1_max66,
.gecko-trap-1_max50) span:hover) .gecko__placement--1 .gecko__neck__head {
--rotate-member: calc(var(--head-angle) * 1 / 3);
animation: eat__neck__head 0.125s ease-in-out backwards 0.2s;
}
body:has(:is(.gecko-trap-1_base,
.gecko-trap-1_min200,
.gecko-trap-1_min250,
.gecko-trap-1_min300,
.gecko-trap-1_min350,
.gecko-trap-1_min450,
.gecko-trap-1_max166,
.gecko-trap-1_max150,
.gecko-trap-1_max125,
.gecko-trap-1_max100,
.gecko-trap-1_max75,
.gecko-trap-1_max66,
.gecko-trap-1_max50) span:hover) .gecko__placement--1 .gecko__head {
--translate-y-member: calc(var(--creature-unit-percentage) * 0.25);
--rotate-member: calc(var(--head-angle) * 1 / 6);
animation: eat__head 0.125s ease-in-out backwards 0.2s;
}
body:has(:is(.gecko-trap-1_base,
.gecko-trap-1_min200,
.gecko-trap-1_min250,
.gecko-trap-1_min300,
.gecko-trap-1_min350,
.gecko-trap-1_min450,
.gecko-trap-1_max166,
.gecko-trap-1_max150,
.gecko-trap-1_max125,
.gecko-trap-1_max100,
.gecko-trap-1_max75,
.gecko-trap-1_max66,
.gecko-trap-1_max50) span:hover) .gecko__placement--1 .gecko__body-part[class*=gecko__tail] {
animation: none;
}
body:has(:is(.gecko-trap-1_base,
.gecko-trap-1_min200,
.gecko-trap-1_min250,
.gecko-trap-1_min300,
.gecko-trap-1_min350,
.gecko-trap-1_min450,
.gecko-trap-1_max166,
.gecko-trap-1_max150,
.gecko-trap-1_max125,
.gecko-trap-1_max100,
.gecko-trap-1_max75,
.gecko-trap-1_max66,
.gecko-trap-1_max50) span:hover) .restart-screen {
animation: finish__use-restart-screen 1ms linear forwards 0.625s;
}
body:has(:is(.gecko-trap-1_base,
.gecko-trap-1_min200,
.gecko-trap-1_min250,
.gecko-trap-1_min300,
.gecko-trap-1_min350,
.gecko-trap-1_min450,
.gecko-trap-1_max166,
.gecko-trap-1_max150,
.gecko-trap-1_max125,
.gecko-trap-1_max100,
.gecko-trap-1_max75,
.gecko-trap-1_max66,
.gecko-trap-1_max50) span:hover) .fly__wrapper {
z-index: 0;
animation: eat__fly 0.0625s ease-in-out forwards 0.2s, reset-fly 1ms linear forwards 0.625s;
transition: none;
}
body:has(:is(.gecko-trap-1_base,
.gecko-trap-1_min200,
.gecko-trap-1_min250,
.gecko-trap-1_min300,
.gecko-trap-1_min350,
.gecko-trap-1_min450,
.gecko-trap-1_max166,
.gecko-trap-1_max150,
.gecko-trap-1_max125,
.gecko-trap-1_max100,
.gecko-trap-1_max75,
.gecko-trap-1_max66,
.gecko-trap-1_max50) span:hover) .gecko__placement {
animation: reset-gecko 1ms linear forwards 0.625s;
}
@media screen and (min-width: 200vh) {
body:has(:is(.gecko-trap-1_base,
.gecko-trap-1_min200,
.gecko-trap-1_min250,
.gecko-trap-1_min300,
.gecko-trap-1_min350,
.gecko-trap-1_min450,
.gecko-trap-1_max166,
.gecko-trap-1_max150,
.gecko-trap-1_max125,
.gecko-trap-1_max100,
.gecko-trap-1_max75,
.gecko-trap-1_max66,
.gecko-trap-1_max50) span:hover) .gecko__placement--1 .gecko__arm--left {
--rotate-member: -40;
--translate-x-member: calc(var(--creature-unit-percentage) * 0.5);
--translate-y-member: calc(var(--creature-unit-percentage) * 2.5);
}
body:has(:is(.gecko-trap-1_base,
.gecko-trap-1_min200,
.gecko-trap-1_min250,
.gecko-trap-1_min300,
.gecko-trap-1_min350,
.gecko-trap-1_min450,
.gecko-trap-1_max166,
.gecko-trap-1_max150,
.gecko-trap-1_max125,
.gecko-trap-1_max100,
.gecko-trap-1_max75,
.gecko-trap-1_max66,
.gecko-trap-1_max50) span:hover) .gecko__placement--1 .gecko__forearm--left {
--rotate-member: 79;
}
body:has(:is(.gecko-trap-1_base,
.gecko-trap-1_min200,
.gecko-trap-1_min250,
.gecko-trap-1_min300,
.gecko-trap-1_min350,
.gecko-trap-1_min450,
.gecko-trap-1_max166,
.gecko-trap-1_max150,
.gecko-trap-1_max125,
.gecko-trap-1_max100,
.gecko-trap-1_max75,
.gecko-trap-1_max66,
.gecko-trap-1_max50) span:hover) .gecko__placement--1 .gecko__hand--left {
--rotate-member: -17;
--transform-origin-x: 50%;
}
}
@media screen and (max-width: 166vh) {
body:has(:is(.gecko-trap-1_base,
.gecko-trap-1_min200,
.gecko-trap-1_min250,
.gecko-trap-1_min300,
.gecko-trap-1_min350,
.gecko-trap-1_min450,
.gecko-trap-1_max166,
.gecko-trap-1_max150,
.gecko-trap-1_max125,
.gecko-trap-1_max100,
.gecko-trap-1_max75,
.gecko-trap-1_max66,
.gecko-trap-1_max50) span:hover) .gecko__placement--1 .gecko__arm--left {
--rotate-member: -40;
--translate-x-member: calc(var(--creature-unit-percentage) * 0.5);
--translate-y-member: calc(var(--creature-unit-percentage) * 2.5);
}
body:has(:is(.gecko-trap-1_base,
.gecko-trap-1_min200,
.gecko-trap-1_min250,
.gecko-trap-1_min300,
.gecko-trap-1_min350,
.gecko-trap-1_min450,
.gecko-trap-1_max166,
.gecko-trap-1_max150,
.gecko-trap-1_max125,
.gecko-trap-1_max100,
.gecko-trap-1_max75,
.gecko-trap-1_max66,
.gecko-trap-1_max50) span:hover) .gecko__placement--1 .gecko__forearm--left {
--rotate-member: 79;
}
body:has(:is(.gecko-trap-1_base,
.gecko-trap-1_min200,
.gecko-trap-1_min250,
.gecko-trap-1_min300,
.gecko-trap-1_min350,
.gecko-trap-1_min450,
.gecko-trap-1_max166,
.gecko-trap-1_max150,
.gecko-trap-1_max125,
.gecko-trap-1_max100,
.gecko-trap-1_max75,
.gecko-trap-1_max66,
.gecko-trap-1_max50) span:hover) .gecko__placement--1 .gecko__hand--left {
--rotate-member: -17;
--transform-origin-x: 50%;
}
}
body:has(:is(.gecko-trap-2_base,
.gecko-trap-2_min200,
.gecko-trap-2_min250,
.gecko-trap-2_min300,
.gecko-trap-2_min350,
.gecko-trap-2_min450,
.gecko-trap-2_max166,
.gecko-trap-2_max150,
.gecko-trap-2_max125,
.gecko-trap-2_max100,
.gecko-trap-2_max75,
.gecko-trap-2_max66,
.gecko-trap-2_max50) span:hover) {
--gecko-transition-duration: 0.075s;
}
body:has(:is(.gecko-trap-2_base,
.gecko-trap-2_min200,
.gecko-trap-2_min250,
.gecko-trap-2_min300,
.gecko-trap-2_min350,
.gecko-trap-2_min450,
.gecko-trap-2_max166,
.gecko-trap-2_max150,
.gecko-trap-2_max125,
.gecko-trap-2_max100,
.gecko-trap-2_max75,
.gecko-trap-2_max66,
.gecko-trap-2_max50) span:hover) td:hover {
position: absolute;
top: 0;
left: 0;
width: 200vmax;
height: 200vmax;
transform: translate(-50%, -50%);
z-index: 1000000;
}
body:has(:is(.gecko-trap-2_base,
.gecko-trap-2_min200,
.gecko-trap-2_min250,
.gecko-trap-2_min300,
.gecko-trap-2_min350,
.gecko-trap-2_min450,
.gecko-trap-2_max166,
.gecko-trap-2_max150,
.gecko-trap-2_max125,
.gecko-trap-2_max100,
.gecko-trap-2_max75,
.gecko-trap-2_max66,
.gecko-trap-2_max50) span:hover) .fly {
--wing-speed: 0s;
}
body:has(:is(.gecko-trap-2_base,
.gecko-trap-2_min200,
.gecko-trap-2_min250,
.gecko-trap-2_min300,
.gecko-trap-2_min350,
.gecko-trap-2_min450,
.gecko-trap-2_max166,
.gecko-trap-2_max150,
.gecko-trap-2_max125,
.gecko-trap-2_max100,
.gecko-trap-2_max75,
.gecko-trap-2_max66,
.gecko-trap-2_max50) span:hover) .gecko__placement--2 {
--head-x-offset: 15;
--head-y-offset: -24;
--head-angle-intensity: 1.1;
--head-angle-correction: -5deg;
/* reset tail animation */
}
@media screen and (min-width: 250vh) {
body:has(:is(.gecko-trap-2_base,
.gecko-trap-2_min200,
.gecko-trap-2_min250,
.gecko-trap-2_min300,
.gecko-trap-2_min350,
.gecko-trap-2_min450,
.gecko-trap-2_max166,
.gecko-trap-2_max150,
.gecko-trap-2_max125,
.gecko-trap-2_max100,
.gecko-trap-2_max75,
.gecko-trap-2_max66,
.gecko-trap-2_max50) span:hover) .gecko__placement--2 {
--head-y-offset: -30;
--head-angle-intensity: 1;
}
}
@media screen and (min-width: 300vh) {
body:has(:is(.gecko-trap-2_base,
.gecko-trap-2_min200,
.gecko-trap-2_min250,
.gecko-trap-2_min300,
.gecko-trap-2_min350,
.gecko-trap-2_min450,
.gecko-trap-2_max166,
.gecko-trap-2_max150,
.gecko-trap-2_max125,
.gecko-trap-2_max100,
.gecko-trap-2_max75,
.gecko-trap-2_max66,
.gecko-trap-2_max50) span:hover) .gecko__placement--2 {
--head-angle-intensity: 0.875;
}
}
@media screen and (max-width: 150vh) {
body:has(:is(.gecko-trap-2_base,
.gecko-trap-2_min200,
.gecko-trap-2_min250,
.gecko-trap-2_min300,
.gecko-trap-2_min350,
.gecko-trap-2_min450,
.gecko-trap-2_max166,
.gecko-trap-2_max150,
.gecko-trap-2_max125,
.gecko-trap-2_max100,
.gecko-trap-2_max75,
.gecko-trap-2_max66,
.gecko-trap-2_max50) span:hover) .gecko__placement--2 {
--head-angle-intensity: 1;
}
}
@media screen and (max-width: 125vh) {
body:has(:is(.gecko-trap-2_base,
.gecko-trap-2_min200,
.gecko-trap-2_min250,
.gecko-trap-2_min300,
.gecko-trap-2_min350,
.gecko-trap-2_min450,
.gecko-trap-2_max166,
.gecko-trap-2_max150,
.gecko-trap-2_max125,
.gecko-trap-2_max100,
.gecko-trap-2_max75,
.gecko-trap-2_max66,
.gecko-trap-2_max50) span:hover) .gecko__placement--2 {
--head-x-offset: 24;
--head-angle-intensity: 0.75;
--head-angle-correction: -10deg;
}
}
@media screen and (max-width: 100vh) {
body:has(:is(.gecko-trap-2_base,
.gecko-trap-2_min200,
.gecko-trap-2_min250,
.gecko-trap-2_min300,
.gecko-trap-2_min350,
.gecko-trap-2_min450,
.gecko-trap-2_max166,
.gecko-trap-2_max150,
.gecko-trap-2_max125,
.gecko-trap-2_max100,
.gecko-trap-2_max75,
.gecko-trap-2_max66,
.gecko-trap-2_max50) span:hover) .gecko__placement--2 {
--head-x-offset: 12;
--head-y-offset: -6;
--head-angle-intensity: 1.25;
}
}
@media screen and (max-width: 75vh) {
body:has(:is(.gecko-trap-2_base,
.gecko-trap-2_min200,
.gecko-trap-2_min250,
.gecko-trap-2_min300,
.gecko-trap-2_min350,
.gecko-trap-2_min450,
.gecko-trap-2_max166,
.gecko-trap-2_max150,
.gecko-trap-2_max125,
.gecko-trap-2_max100,
.gecko-trap-2_max75,
.gecko-trap-2_max66,
.gecko-trap-2_max50) span:hover) .gecko__placement--2 {
--head-x-offset: 15;
--head-angle-intensity: 1.125;
}
}
@media screen and (max-width: 66.6vh) {
body:has(:is(.gecko-trap-2_base,
.gecko-trap-2_min200,
.gecko-trap-2_min250,
.gecko-trap-2_min300,
.gecko-trap-2_min350,
.gecko-trap-2_min450,
.gecko-trap-2_max166,
.gecko-trap-2_max150,
.gecko-trap-2_max125,
.gecko-trap-2_max100,
.gecko-trap-2_max75,
.gecko-trap-2_max66,
.gecko-trap-2_max50) span:hover) .gecko__placement--2 {
--head-x-offset: 21;
--head-angle-correction: -10deg;
}
}
@media screen and (max-width: 50vh) {
body:has(:is(.gecko-trap-2_base,
.gecko-trap-2_min200,
.gecko-trap-2_min250,
.gecko-trap-2_min300,
.gecko-trap-2_min350,
.gecko-trap-2_min450,
.gecko-trap-2_max166,
.gecko-trap-2_max150,
.gecko-trap-2_max125,
.gecko-trap-2_max100,
.gecko-trap-2_max75,
.gecko-trap-2_max66,
.gecko-trap-2_max50) span:hover) .gecko__placement--2 {
--head-x-offset: 15;
--head-angle-intensity: 0.75;
}
}
body:has(:is(.gecko-trap-2_base,
.gecko-trap-2_min200,
.gecko-trap-2_min250,
.gecko-trap-2_min300,
.gecko-trap-2_min350,
.gecko-trap-2_min450,
.gecko-trap-2_max166,
.gecko-trap-2_max150,
.gecko-trap-2_max125,
.gecko-trap-2_max100,
.gecko-trap-2_max75,
.gecko-trap-2_max66,
.gecko-trap-2_max50) span:hover) .gecko__placement--2 .gecko__shoulders {
--rotate-member: 65;
--translate-x-member: calc(var(--creature-unit-percentage) * 3);
--translate-y-member: calc(var(--creature-unit-percentage) * 0.667);
}
body:has(:is(.gecko-trap-2_base,
.gecko-trap-2_min200,
.gecko-trap-2_min250,
.gecko-trap-2_min300,
.gecko-trap-2_min350,
.gecko-trap-2_min450,
.gecko-trap-2_max166,
.gecko-trap-2_max150,
.gecko-trap-2_max125,
.gecko-trap-2_max100,
.gecko-trap-2_max75,
.gecko-trap-2_max66,
.gecko-trap-2_max50) span:hover) .gecko__placement--2 .gecko__shoulders > svg {
animation: eat__shoulders 0.125s ease-in-out forwards 0.25s;
animation-iteration-count: 2;
}
body:has(:is(.gecko-trap-2_base,
.gecko-trap-2_min200,
.gecko-trap-2_min250,
.gecko-trap-2_min300,
.gecko-trap-2_min350,
.gecko-trap-2_min450,
.gecko-trap-2_max166,
.gecko-trap-2_max150,
.gecko-trap-2_max125,
.gecko-trap-2_max100,
.gecko-trap-2_max75,
.gecko-trap-2_max66,
.gecko-trap-2_max50) span:hover) .gecko__placement--2 .gecko__ribs {
--rotate-member: calc(-1 * var(--torso) * 25);
}
body:has(:is(.gecko-trap-2_base,
.gecko-trap-2_min200,
.gecko-trap-2_min250,
.gecko-trap-2_min300,
.gecko-trap-2_min350,
.gecko-trap-2_min450,
.gecko-trap-2_max166,
.gecko-trap-2_max150,
.gecko-trap-2_max125,
.gecko-trap-2_max100,
.gecko-trap-2_max75,
.gecko-trap-2_max66,
.gecko-trap-2_max50) span:hover) .gecko__placement--2 .gecko__back {
--rotate-member: calc(-1 * var(--torso) * 14);
}
body:has(:is(.gecko-trap-2_base,
.gecko-trap-2_min200,
.gecko-trap-2_min250,
.gecko-trap-2_min300,
.gecko-trap-2_min350,
.gecko-trap-2_min450,
.gecko-trap-2_max166,
.gecko-trap-2_max150,
.gecko-trap-2_max125,
.gecko-trap-2_max100,
.gecko-trap-2_max75,
.gecko-trap-2_max66,
.gecko-trap-2_max50) span:hover) .gecko__placement--2 .gecko__hips {
--rotate-member: calc(var(--hip-rotation) * var(--torso) * 30);
}
body:has(:is(.gecko-trap-2_base,
.gecko-trap-2_min200,
.gecko-trap-2_min250,
.gecko-trap-2_min300,
.gecko-trap-2_min350,
.gecko-trap-2_min450,
.gecko-trap-2_max166,
.gecko-trap-2_max150,
.gecko-trap-2_max125,
.gecko-trap-2_max100,
.gecko-trap-2_max75,
.gecko-trap-2_max66,
.gecko-trap-2_max50) span:hover) .gecko__placement--2 .gecko__arm--left {
--rotate-member: -5;
}
body:has(:is(.gecko-trap-2_base,
.gecko-trap-2_min200,
.gecko-trap-2_min250,
.gecko-trap-2_min300,
.gecko-trap-2_min350,
.gecko-trap-2_min450,
.gecko-trap-2_max166,
.gecko-trap-2_max150,
.gecko-trap-2_max125,
.gecko-trap-2_max100,
.gecko-trap-2_max75,
.gecko-trap-2_max66,
.gecko-trap-2_max50) span:hover) .gecko__placement--2 .gecko__forearm--left {
--rotate-member: 25;
}
body:has(:is(.gecko-trap-2_base,
.gecko-trap-2_min200,
.gecko-trap-2_min250,
.gecko-trap-2_min300,
.gecko-trap-2_min350,
.gecko-trap-2_min450,
.gecko-trap-2_max166,
.gecko-trap-2_max150,
.gecko-trap-2_max125,
.gecko-trap-2_max100,
.gecko-trap-2_max75,
.gecko-trap-2_max66,
.gecko-trap-2_max50) span:hover) .gecko__placement--2 .gecko__hand--left {
--rotate-member: 5;
--translate-x-member: calc(var(--creature-unit-percentage) * -0.25);
--translate-y-member: calc(var(--creature-unit-percentage) * 0.25);
}
body:has(:is(.gecko-trap-2_base,
.gecko-trap-2_min200,
.gecko-trap-2_min250,
.gecko-trap-2_min300,
.gecko-trap-2_min350,
.gecko-trap-2_min450,
.gecko-trap-2_max166,
.gecko-trap-2_max150,
.gecko-trap-2_max125,
.gecko-trap-2_max100,
.gecko-trap-2_max75,
.gecko-trap-2_max66,
.gecko-trap-2_max50) span:hover) .gecko__placement--2 .gecko__arm--right {
--rotate-member: 29.5;
}
body:has(:is(.gecko-trap-2_base,
.gecko-trap-2_min200,
.gecko-trap-2_min250,
.gecko-trap-2_min300,
.gecko-trap-2_min350,
.gecko-trap-2_min450,
.gecko-trap-2_max166,
.gecko-trap-2_max150,
.gecko-trap-2_max125,
.gecko-trap-2_max100,
.gecko-trap-2_max75,
.gecko-trap-2_max66,
.gecko-trap-2_max50) span:hover) .gecko__placement--2 .gecko__forearm--right {
--rotate-member: -63;
}
body:has(:is(.gecko-trap-2_base,
.gecko-trap-2_min200,
.gecko-trap-2_min250,
.gecko-trap-2_min300,
.gecko-trap-2_min350,
.gecko-trap-2_min450,
.gecko-trap-2_max166,
.gecko-trap-2_max150,
.gecko-trap-2_max125,
.gecko-trap-2_max100,
.gecko-trap-2_max75,
.gecko-trap-2_max66,
.gecko-trap-2_max50) span:hover) .gecko__placement--2 .gecko__hand--right {
--rotate-member: -29;
}
body:has(:is(.gecko-trap-2_base,
.gecko-trap-2_min200,
.gecko-trap-2_min250,
.gecko-trap-2_min300,
.gecko-trap-2_min350,
.gecko-trap-2_min450,
.gecko-trap-2_max166,
.gecko-trap-2_max150,
.gecko-trap-2_max125,
.gecko-trap-2_max100,
.gecko-trap-2_max75,
.gecko-trap-2_max66,
.gecko-trap-2_max50) span:hover) .gecko__placement--2 .gecko__leg--left {
--rotate-member: -42;
z-index: -1;
}
body:has(:is(.gecko-trap-2_base,
.gecko-trap-2_min200,
.gecko-trap-2_min250,
.gecko-trap-2_min300,
.gecko-trap-2_min350,
.gecko-trap-2_min450,
.gecko-trap-2_max166,
.gecko-trap-2_max150,
.gecko-trap-2_max125,
.gecko-trap-2_max100,
.gecko-trap-2_max75,
.gecko-trap-2_max66,
.gecko-trap-2_max50) span:hover) .gecko__placement--2 .gecko__shin--left {
--rotate-member: -10;
}
body:has(:is(.gecko-trap-2_base,
.gecko-trap-2_min200,
.gecko-trap-2_min250,
.gecko-trap-2_min300,
.gecko-trap-2_min350,
.gecko-trap-2_min450,
.gecko-trap-2_max166,
.gecko-trap-2_max150,
.gecko-trap-2_max125,
.gecko-trap-2_max100,
.gecko-trap-2_max75,
.gecko-trap-2_max66,
.gecko-trap-2_max50) span:hover) .gecko__placement--2 .gecko__foot--left {
--rotate-member: -10;
}
body:has(:is(.gecko-trap-2_base,
.gecko-trap-2_min200,
.gecko-trap-2_min250,
.gecko-trap-2_min300,
.gecko-trap-2_min350,
.gecko-trap-2_min450,
.gecko-trap-2_max166,
.gecko-trap-2_max150,
.gecko-trap-2_max125,
.gecko-trap-2_max100,
.gecko-trap-2_max75,
.gecko-trap-2_max66,
.gecko-trap-2_max50) span:hover) .gecko__placement--2 .gecko__leg--right {
--rotate-member: -45;
}
body:has(:is(.gecko-trap-2_base,
.gecko-trap-2_min200,
.gecko-trap-2_min250,
.gecko-trap-2_min300,
.gecko-trap-2_min350,
.gecko-trap-2_min450,
.gecko-trap-2_max166,
.gecko-trap-2_max150,
.gecko-trap-2_max125,
.gecko-trap-2_max100,
.gecko-trap-2_max75,
.gecko-trap-2_max66,
.gecko-trap-2_max50) span:hover) .gecko__placement--2 .gecko__shin--right {
--rotate-member: 60;
}
body:has(:is(.gecko-trap-2_base,
.gecko-trap-2_min200,
.gecko-trap-2_min250,
.gecko-trap-2_min300,
.gecko-trap-2_min350,
.gecko-trap-2_min450,
.gecko-trap-2_max166,
.gecko-trap-2_max150,
.gecko-trap-2_max125,
.gecko-trap-2_max100,
.gecko-trap-2_max75,
.gecko-trap-2_max66,
.gecko-trap-2_max50) span:hover) .gecko__placement--2 .gecko__foot--right {
--rotate-member: 0;
}
body:has(:is(.gecko-trap-2_base,
.gecko-trap-2_min200,
.gecko-trap-2_min250,
.gecko-trap-2_min300,
.gecko-trap-2_min350,
.gecko-trap-2_min450,
.gecko-trap-2_max166,
.gecko-trap-2_max150,
.gecko-trap-2_max125,
.gecko-trap-2_max100,
.gecko-trap-2_max75,
.gecko-trap-2_max66,
.gecko-trap-2_max50) span:hover) .gecko__placement--2 :is(.gecko__tail--1,
.gecko__tail--2,
.gecko__tail--3,
.gecko__tail--4,
.gecko__tail--5,
.gecko__tail--6) {
--rotate-member: -7.5;
}
body:has(:is(.gecko-trap-2_base,
.gecko-trap-2_min200,
.gecko-trap-2_min250,
.gecko-trap-2_min300,
.gecko-trap-2_min350,
.gecko-trap-2_min450,
.gecko-trap-2_max166,
.gecko-trap-2_max150,
.gecko-trap-2_max125,
.gecko-trap-2_max100,
.gecko-trap-2_max75,
.gecko-trap-2_max66,
.gecko-trap-2_max50) span:hover) .gecko__placement--2 .gecko__tail--7 {
--rotate-member: -5;
}
body:has(:is(.gecko-trap-2_base,
.gecko-trap-2_min200,
.gecko-trap-2_min250,
.gecko-trap-2_min300,
.gecko-trap-2_min350,
.gecko-trap-2_min450,
.gecko-trap-2_max166,
.gecko-trap-2_max150,
.gecko-trap-2_max125,
.gecko-trap-2_max100,
.gecko-trap-2_max75,
.gecko-trap-2_max66,
.gecko-trap-2_max50) span:hover) .gecko__placement--2 .gecko__tail--8 {
--rotate-member: -3.75;
}
body:has(:is(.gecko-trap-2_base,
.gecko-trap-2_min200,
.gecko-trap-2_min250,
.gecko-trap-2_min300,
.gecko-trap-2_min350,
.gecko-trap-2_min450,
.gecko-trap-2_max166,
.gecko-trap-2_max150,
.gecko-trap-2_max125,
.gecko-trap-2_max100,
.gecko-trap-2_max75,
.gecko-trap-2_max66,
.gecko-trap-2_max50) span:hover) .gecko__placement--2 .gecko__tail--9,
body:has(:is(.gecko-trap-2_base,
.gecko-trap-2_min200,
.gecko-trap-2_min250,
.gecko-trap-2_min300,
.gecko-trap-2_min350,
.gecko-trap-2_min450,
.gecko-trap-2_max166,
.gecko-trap-2_max150,
.gecko-trap-2_max125,
.gecko-trap-2_max100,
.gecko-trap-2_max75,
.gecko-trap-2_max66,
.gecko-trap-2_max50) span:hover) .gecko__placement--2 .gecko__tail--10 {
--rotate-member: -2.5;
}
body:has(:is(.gecko-trap-2_base,
.gecko-trap-2_min200,
.gecko-trap-2_min250,
.gecko-trap-2_min300,
.gecko-trap-2_min350,
.gecko-trap-2_min450,
.gecko-trap-2_max166,
.gecko-trap-2_max150,
.gecko-trap-2_max125,
.gecko-trap-2_max100,
.gecko-trap-2_max75,
.gecko-trap-2_max66,
.gecko-trap-2_max50) span:hover) .gecko__placement--2 .gecko__neck__body {
--body-neck-offset: 15deg;
--translate-x-member: calc(var(--creature-unit-percentage) * 0.625);
--translate-y-member: calc(var(--creature-unit-percentage) * -0.25);
--transform-origin-x: 50%;
--transform-origin-y: 80%;
--rotate-member: calc(var(--head-angle) * 1 / 2);
animation: eat__neck__body 0.125s ease-in-out backwards 0.2s;
}
body:has(:is(.gecko-trap-2_base,
.gecko-trap-2_min200,
.gecko-trap-2_min250,
.gecko-trap-2_min300,
.gecko-trap-2_min350,
.gecko-trap-2_min450,
.gecko-trap-2_max166,
.gecko-trap-2_max150,
.gecko-trap-2_max125,
.gecko-trap-2_max100,
.gecko-trap-2_max75,
.gecko-trap-2_max66,
.gecko-trap-2_max50) span:hover) .gecko__placement--2 .gecko__neck__head {
--rotate-member: calc(var(--head-angle) * 1 / 3);
animation: eat__neck__head 0.125s ease-in-out backwards 0.2s;
}
body:has(:is(.gecko-trap-2_base,
.gecko-trap-2_min200,
.gecko-trap-2_min250,
.gecko-trap-2_min300,
.gecko-trap-2_min350,
.gecko-trap-2_min450,
.gecko-trap-2_max166,
.gecko-trap-2_max150,
.gecko-trap-2_max125,
.gecko-trap-2_max100,
.gecko-trap-2_max75,
.gecko-trap-2_max66,
.gecko-trap-2_max50) span:hover) .gecko__placement--2 .gecko__head {
--translate-y-member: calc(var(--creature-unit-percentage) * 0.25);
--rotate-member: calc(var(--head-angle) * 1 / 6);
animation: eat__head 0.125s ease-in-out backwards 0.2s;
}
body:has(:is(.gecko-trap-2_base,
.gecko-trap-2_min200,
.gecko-trap-2_min250,
.gecko-trap-2_min300,
.gecko-trap-2_min350,
.gecko-trap-2_min450,
.gecko-trap-2_max166,
.gecko-trap-2_max150,
.gecko-trap-2_max125,
.gecko-trap-2_max100,
.gecko-trap-2_max75,
.gecko-trap-2_max66,
.gecko-trap-2_max50) span:hover) .gecko__placement--2 .gecko__body-part[class*=gecko__tail] {
animation: none;
}
body:has(:is(.gecko-trap-2_base,
.gecko-trap-2_min200,
.gecko-trap-2_min250,
.gecko-trap-2_min300,
.gecko-trap-2_min350,
.gecko-trap-2_min450,
.gecko-trap-2_max166,
.gecko-trap-2_max150,
.gecko-trap-2_max125,
.gecko-trap-2_max100,
.gecko-trap-2_max75,
.gecko-trap-2_max66,
.gecko-trap-2_max50) span:hover) .restart-screen {
animation: finish__use-restart-screen 1ms linear forwards 0.625s;
}
body:has(:is(.gecko-trap-2_base,
.gecko-trap-2_min200,
.gecko-trap-2_min250,
.gecko-trap-2_min300,
.gecko-trap-2_min350,
.gecko-trap-2_min450,
.gecko-trap-2_max166,
.gecko-trap-2_max150,
.gecko-trap-2_max125,
.gecko-trap-2_max100,
.gecko-trap-2_max75,
.gecko-trap-2_max66,
.gecko-trap-2_max50) span:hover) .fly__wrapper {
z-index: 0;
animation: eat__fly 0.125s ease-in-out forwards 0.2s, reset-fly 1ms linear forwards 0.625s;
transition: none;
}
body:has(:is(.gecko-trap-2_base,
.gecko-trap-2_min200,
.gecko-trap-2_min250,
.gecko-trap-2_min300,
.gecko-trap-2_min350,
.gecko-trap-2_min450,
.gecko-trap-2_max166,
.gecko-trap-2_max150,
.gecko-trap-2_max125,
.gecko-trap-2_max100,
.gecko-trap-2_max75,
.gecko-trap-2_max66,
.gecko-trap-2_max50) span:hover) .gecko__placement {
animation: reset-gecko 1ms linear forwards 0.625s;
}
body:has(:is(.gecko-trap-3_base,
.gecko-trap-3_min200,
.gecko-trap-3_min250,
.gecko-trap-3_min300,
.gecko-trap-3_min350,
.gecko-trap-3_min450,
.gecko-trap-3_max166,
.gecko-trap-3_max150,
.gecko-trap-3_max125,
.gecko-trap-3_max100,
.gecko-trap-3_max75,
.gecko-trap-3_max66,
.gecko-trap-3_max50) span:hover) {
--gecko-transition-duration: 0.075s;
}
body:has(:is(.gecko-trap-3_base,
.gecko-trap-3_min200,
.gecko-trap-3_min250,
.gecko-trap-3_min300,
.gecko-trap-3_min350,
.gecko-trap-3_min450,
.gecko-trap-3_max166,
.gecko-trap-3_max150,
.gecko-trap-3_max125,
.gecko-trap-3_max100,
.gecko-trap-3_max75,
.gecko-trap-3_max66,
.gecko-trap-3_max50) span:hover) td:hover {
position: absolute;
top: 0;
left: 0;
width: 200vmax;
height: 200vmax;
transform: translate(-50%, -50%);
z-index: 1000000;
}
body:has(:is(.gecko-trap-3_base,
.gecko-trap-3_min200,
.gecko-trap-3_min250,
.gecko-trap-3_min300,
.gecko-trap-3_min350,
.gecko-trap-3_min450,
.gecko-trap-3_max166,
.gecko-trap-3_max150,
.gecko-trap-3_max125,
.gecko-trap-3_max100,
.gecko-trap-3_max75,
.gecko-trap-3_max66,
.gecko-trap-3_max50) span:hover) .fly {
--wing-speed: 0s;
}
body:has(:is(.gecko-trap-3_base,
.gecko-trap-3_min200,
.gecko-trap-3_min250,
.gecko-trap-3_min300,
.gecko-trap-3_min350,
.gecko-trap-3_min450,
.gecko-trap-3_max166,
.gecko-trap-3_max150,
.gecko-trap-3_max125,
.gecko-trap-3_max100,
.gecko-trap-3_max75,
.gecko-trap-3_max66,
.gecko-trap-3_max50) span:hover) .gecko__placement--3 {
--head-angle-intensity: 1.1;
--head-angle-correction: -15deg;
/* reset tail animation */
}
@media screen and (min-width: 250vh) {
body:has(:is(.gecko-trap-3_base,
.gecko-trap-3_min200,
.gecko-trap-3_min250,
.gecko-trap-3_min300,
.gecko-trap-3_min350,
.gecko-trap-3_min450,
.gecko-trap-3_max166,
.gecko-trap-3_max150,
.gecko-trap-3_max125,
.gecko-trap-3_max100,
.gecko-trap-3_max75,
.gecko-trap-3_max66,
.gecko-trap-3_max50) span:hover) .gecko__placement--3 {
--head-angle-intensity: 1;
}
}
@media screen and (min-width: 300vh) {
body:has(:is(.gecko-trap-3_base,
.gecko-trap-3_min200,
.gecko-trap-3_min250,
.gecko-trap-3_min300,
.gecko-trap-3_min350,
.gecko-trap-3_min450,
.gecko-trap-3_max166,
.gecko-trap-3_max150,
.gecko-trap-3_max125,
.gecko-trap-3_max100,
.gecko-trap-3_max75,
.gecko-trap-3_max66,
.gecko-trap-3_max50) span:hover) .gecko__placement--3 {
--head-angle-intensity: 0.875;
}
}
@media screen and (max-width: 150vh) {
body:has(:is(.gecko-trap-3_base,
.gecko-trap-3_min200,
.gecko-trap-3_min250,
.gecko-trap-3_min300,
.gecko-trap-3_min350,
.gecko-trap-3_min450,
.gecko-trap-3_max166,
.gecko-trap-3_max150,
.gecko-trap-3_max125,
.gecko-trap-3_max100,
.gecko-trap-3_max75,
.gecko-trap-3_max66,
.gecko-trap-3_max50) span:hover) .gecko__placement--3 {
--head-angle-intensity: 1.25;
--head-angle-correction: -15deg;
}
}
@media screen and (max-width: 125vh) {
body:has(:is(.gecko-trap-3_base,
.gecko-trap-3_min200,
.gecko-trap-3_min250,
.gecko-trap-3_min300,
.gecko-trap-3_min350,
.gecko-trap-3_min450,
.gecko-trap-3_max166,
.gecko-trap-3_max150,
.gecko-trap-3_max125,
.gecko-trap-3_max100,
.gecko-trap-3_max75,
.gecko-trap-3_max66,
.gecko-trap-3_max50) span:hover) .gecko__placement--3 {
--head-angle-intensity: 1.625;
}
}
@media screen and (max-width: 100vh) {
body:has(:is(.gecko-trap-3_base,
.gecko-trap-3_min200,
.gecko-trap-3_min250,
.gecko-trap-3_min300,
.gecko-trap-3_min350,
.gecko-trap-3_min450,
.gecko-trap-3_max166,
.gecko-trap-3_max150,
.gecko-trap-3_max125,
.gecko-trap-3_max100,
.gecko-trap-3_max75,
.gecko-trap-3_max66,
.gecko-trap-3_max50) span:hover) .gecko__placement--3 {
--head-angle-intensity: 2.125;
--head-angle-correction: -30deg;
}
}
@media screen and (max-width: 75vh) {
body:has(:is(.gecko-trap-3_base,
.gecko-trap-3_min200,
.gecko-trap-3_min250,
.gecko-trap-3_min300,
.gecko-trap-3_min350,
.gecko-trap-3_min450,
.gecko-trap-3_max166,
.gecko-trap-3_max150,
.gecko-trap-3_max125,
.gecko-trap-3_max100,
.gecko-trap-3_max75,
.gecko-trap-3_max66,
.gecko-trap-3_max50) span:hover) .gecko__placement--3 {
--head-angle-intensity: 2.5;
}
}
@media screen and (max-width: 66.6vh) {
body:has(:is(.gecko-trap-3_base,
.gecko-trap-3_min200,
.gecko-trap-3_min250,
.gecko-trap-3_min300,
.gecko-trap-3_min350,
.gecko-trap-3_min450,
.gecko-trap-3_max166,
.gecko-trap-3_max150,
.gecko-trap-3_max125,
.gecko-trap-3_max100,
.gecko-trap-3_max75,
.gecko-trap-3_max66,
.gecko-trap-3_max50) span:hover) .gecko__placement--3 {
--head-angle-intensity: 2.625;
--head-angle-correction: -25deg;
--head-y-offset: -3;
}
}
@media screen and (max-width: 50vh) {
body:has(:is(.gecko-trap-3_base,
.gecko-trap-3_min200,
.gecko-trap-3_min250,
.gecko-trap-3_min300,
.gecko-trap-3_min350,
.gecko-trap-3_min450,
.gecko-trap-3_max166,
.gecko-trap-3_max150,
.gecko-trap-3_max125,
.gecko-trap-3_max100,
.gecko-trap-3_max75,
.gecko-trap-3_max66,
.gecko-trap-3_max50) span:hover) .gecko__placement--3 {
--head-angle-intensity: 3.5;
--head-angle-correction: -27.5deg;
}
}
body:has(:is(.gecko-trap-3_base,
.gecko-trap-3_min200,
.gecko-trap-3_min250,
.gecko-trap-3_min300,
.gecko-trap-3_min350,
.gecko-trap-3_min450,
.gecko-trap-3_max166,
.gecko-trap-3_max150,
.gecko-trap-3_max125,
.gecko-trap-3_max100,
.gecko-trap-3_max75,
.gecko-trap-3_max66,
.gecko-trap-3_max50) span:hover) .gecko__placement--3 .gecko__shoulders {
--translate-x-member: calc(var(--creature-unit-percentage) * 4);
}
body:has(:is(.gecko-trap-3_base,
.gecko-trap-3_min200,
.gecko-trap-3_min250,
.gecko-trap-3_min300,
.gecko-trap-3_min350,
.gecko-trap-3_min450,
.gecko-trap-3_max166,
.gecko-trap-3_max150,
.gecko-trap-3_max125,
.gecko-trap-3_max100,
.gecko-trap-3_max75,
.gecko-trap-3_max66,
.gecko-trap-3_max50) span:hover) .gecko__placement--3 .gecko__shoulders > svg {
animation: eat__shoulders 0.125s ease-in-out forwards 0.25s;
animation-iteration-count: 2;
}
body:has(:is(.gecko-trap-3_base,
.gecko-trap-3_min200,
.gecko-trap-3_min250,
.gecko-trap-3_min300,
.gecko-trap-3_min350,
.gecko-trap-3_min450,
.gecko-trap-3_max166,
.gecko-trap-3_max150,
.gecko-trap-3_max125,
.gecko-trap-3_max100,
.gecko-trap-3_max75,
.gecko-trap-3_max66,
.gecko-trap-3_max50) span:hover) .gecko__placement--3 .gecko__ribs {
--rotate-member: calc(-1 * var(--torso) * 25);
}
body:has(:is(.gecko-trap-3_base,
.gecko-trap-3_min200,
.gecko-trap-3_min250,
.gecko-trap-3_min300,
.gecko-trap-3_min350,
.gecko-trap-3_min450,
.gecko-trap-3_max166,
.gecko-trap-3_max150,
.gecko-trap-3_max125,
.gecko-trap-3_max100,
.gecko-trap-3_max75,
.gecko-trap-3_max66,
.gecko-trap-3_max50) span:hover) .gecko__placement--3 .gecko__back {
--rotate-member: calc(-1 * var(--torso) * 14);
}
body:has(:is(.gecko-trap-3_base,
.gecko-trap-3_min200,
.gecko-trap-3_min250,
.gecko-trap-3_min300,
.gecko-trap-3_min350,
.gecko-trap-3_min450,
.gecko-trap-3_max166,
.gecko-trap-3_max150,
.gecko-trap-3_max125,
.gecko-trap-3_max100,
.gecko-trap-3_max75,
.gecko-trap-3_max66,
.gecko-trap-3_max50) span:hover) .gecko__placement--3 .gecko__hips {
--rotate-member: calc(var(--hip-rotation) * var(--torso) * 30);
}
body:has(:is(.gecko-trap-3_base,
.gecko-trap-3_min200,
.gecko-trap-3_min250,
.gecko-trap-3_min300,
.gecko-trap-3_min350,
.gecko-trap-3_min450,
.gecko-trap-3_max166,
.gecko-trap-3_max150,
.gecko-trap-3_max125,
.gecko-trap-3_max100,
.gecko-trap-3_max75,
.gecko-trap-3_max66,
.gecko-trap-3_max50) span:hover) .gecko__placement--3 .gecko__arm--left {
--rotate-member: -61;
--translate-y-member: calc(var(--creature-unit-percentage) * 1.25);
}
body:has(:is(.gecko-trap-3_base,
.gecko-trap-3_min200,
.gecko-trap-3_min250,
.gecko-trap-3_min300,
.gecko-trap-3_min350,
.gecko-trap-3_min450,
.gecko-trap-3_max166,
.gecko-trap-3_max150,
.gecko-trap-3_max125,
.gecko-trap-3_max100,
.gecko-trap-3_max75,
.gecko-trap-3_max66,
.gecko-trap-3_max50) span:hover) .gecko__placement--3 .gecko__forearm--left {
--rotate-member: 15;
}
body:has(:is(.gecko-trap-3_base,
.gecko-trap-3_min200,
.gecko-trap-3_min250,
.gecko-trap-3_min300,
.gecko-trap-3_min350,
.gecko-trap-3_min450,
.gecko-trap-3_max166,
.gecko-trap-3_max150,
.gecko-trap-3_max125,
.gecko-trap-3_max100,
.gecko-trap-3_max75,
.gecko-trap-3_max66,
.gecko-trap-3_max50) span:hover) .gecko__placement--3 .gecko__hand--left {
--rotate-member: 34;
--translate-x-member: calc(var(--creature-unit-percentage) * -0.25);
--translate-y-member: calc(var(--creature-unit-percentage) * 0.25);
}
body:has(:is(.gecko-trap-3_base,
.gecko-trap-3_min200,
.gecko-trap-3_min250,
.gecko-trap-3_min300,
.gecko-trap-3_min350,
.gecko-trap-3_min450,
.gecko-trap-3_max166,
.gecko-trap-3_max150,
.gecko-trap-3_max125,
.gecko-trap-3_max100,
.gecko-trap-3_max75,
.gecko-trap-3_max66,
.gecko-trap-3_max50) span:hover) .gecko__placement--3 .gecko__arm--right {
--rotate-member: -10;
--translate-x-member: calc(var(--creature-unit-percentage) * -0.25);
--translate-y-member: calc(var(--creature-unit-percentage) * -0.5);
}
body:has(:is(.gecko-trap-3_base,
.gecko-trap-3_min200,
.gecko-trap-3_min250,
.gecko-trap-3_min300,
.gecko-trap-3_min350,
.gecko-trap-3_min450,
.gecko-trap-3_max166,
.gecko-trap-3_max150,
.gecko-trap-3_max125,
.gecko-trap-3_max100,
.gecko-trap-3_max75,
.gecko-trap-3_max66,
.gecko-trap-3_max50) span:hover) .gecko__placement--3 .gecko__forearm--right {
--rotate-member: 41;
--translate-x-member: calc(var(--creature-unit-percentage) * 0.25);
--translate-y-member: calc(var(--creature-unit-percentage) * 0.25);
}
body:has(:is(.gecko-trap-3_base,
.gecko-trap-3_min200,
.gecko-trap-3_min250,
.gecko-trap-3_min300,
.gecko-trap-3_min350,
.gecko-trap-3_min450,
.gecko-trap-3_max166,
.gecko-trap-3_max150,
.gecko-trap-3_max125,
.gecko-trap-3_max100,
.gecko-trap-3_max75,
.gecko-trap-3_max66,
.gecko-trap-3_max50) span:hover) .gecko__placement--3 .gecko__hand--right {
--rotate-member: -95;
}
body:has(:is(.gecko-trap-3_base,
.gecko-trap-3_min200,
.gecko-trap-3_min250,
.gecko-trap-3_min300,
.gecko-trap-3_min350,
.gecko-trap-3_min450,
.gecko-trap-3_max166,
.gecko-trap-3_max150,
.gecko-trap-3_max125,
.gecko-trap-3_max100,
.gecko-trap-3_max75,
.gecko-trap-3_max66,
.gecko-trap-3_max50) span:hover) .gecko__placement--3 .gecko__leg--left {
--rotate-member: -65;
--translate-x-member: calc(var(--creature-unit-percentage) * -0.5);
z-index: -1;
}
body:has(:is(.gecko-trap-3_base,
.gecko-trap-3_min200,
.gecko-trap-3_min250,
.gecko-trap-3_min300,
.gecko-trap-3_min350,
.gecko-trap-3_min450,
.gecko-trap-3_max166,
.gecko-trap-3_max150,
.gecko-trap-3_max125,
.gecko-trap-3_max100,
.gecko-trap-3_max75,
.gecko-trap-3_max66,
.gecko-trap-3_max50) span:hover) .gecko__placement--3 .gecko__shin--left {
--rotate-member: 25;
}
body:has(:is(.gecko-trap-3_base,
.gecko-trap-3_min200,
.gecko-trap-3_min250,
.gecko-trap-3_min300,
.gecko-trap-3_min350,
.gecko-trap-3_min450,
.gecko-trap-3_max166,
.gecko-trap-3_max150,
.gecko-trap-3_max125,
.gecko-trap-3_max100,
.gecko-trap-3_max75,
.gecko-trap-3_max66,
.gecko-trap-3_max50) span:hover) .gecko__placement--3 .gecko__foot--left {
--rotate-member: -37.5;
}
body:has(:is(.gecko-trap-3_base,
.gecko-trap-3_min200,
.gecko-trap-3_min250,
.gecko-trap-3_min300,
.gecko-trap-3_min350,
.gecko-trap-3_min450,
.gecko-trap-3_max166,
.gecko-trap-3_max150,
.gecko-trap-3_max125,
.gecko-trap-3_max100,
.gecko-trap-3_max75,
.gecko-trap-3_max66,
.gecko-trap-3_max50) span:hover) .gecko__placement--3 .gecko__leg--right {
--rotate-member: -35;
}
body:has(:is(.gecko-trap-3_base,
.gecko-trap-3_min200,
.gecko-trap-3_min250,
.gecko-trap-3_min300,
.gecko-trap-3_min350,
.gecko-trap-3_min450,
.gecko-trap-3_max166,
.gecko-trap-3_max150,
.gecko-trap-3_max125,
.gecko-trap-3_max100,
.gecko-trap-3_max75,
.gecko-trap-3_max66,
.gecko-trap-3_max50) span:hover) .gecko__placement--3 .gecko__shin--right {
--rotate-member: 65;
}
body:has(:is(.gecko-trap-3_base,
.gecko-trap-3_min200,
.gecko-trap-3_min250,
.gecko-trap-3_min300,
.gecko-trap-3_min350,
.gecko-trap-3_min450,
.gecko-trap-3_max166,
.gecko-trap-3_max150,
.gecko-trap-3_max125,
.gecko-trap-3_max100,
.gecko-trap-3_max75,
.gecko-trap-3_max66,
.gecko-trap-3_max50) span:hover) .gecko__placement--3 .gecko__foot--right {
--rotate-member: -10;
}
body:has(:is(.gecko-trap-3_base,
.gecko-trap-3_min200,
.gecko-trap-3_min250,
.gecko-trap-3_min300,
.gecko-trap-3_min350,
.gecko-trap-3_min450,
.gecko-trap-3_max166,
.gecko-trap-3_max150,
.gecko-trap-3_max125,
.gecko-trap-3_max100,
.gecko-trap-3_max75,
.gecko-trap-3_max66,
.gecko-trap-3_max50) span:hover) .gecko__placement--3 :is(.gecko__tail--1,
.gecko__tail--2,
.gecko__tail--3,
.gecko__tail--4,
.gecko__tail--5) {
--rotate-member: -15;
}
body:has(.........完整代码请登录后点击上方下载按钮下载查看
网友评论0