Inhaltsverzeichnis
keine Gliederung
/* TAG SPHERE - Smooth Hover */
#tagSphere {
position: fixed;
bottom: 180px;
left: 20px;
width: 280px;
height: 280px;
z-index: 999;
cursor: move;
cursor: -webkit-grab;
cursor: -moz-grab;
opacity: 0;
visibility: hidden;
transition: opacity 0.4s ease, visibility 0.4s ease, width 0.7s cubic-bezier(0.68, -0.55, 0.265, 1.55), height 0.7s cubic-bezier(0.68, -0.55, 0.265, 1.55), bottom 0.7s ease, left 0.7s ease, z-index 0s;
background: transparent;
border: none;
}
#tagSphere.visible {
opacity: 1;
visibility: visible;
}
#tagSphere.exploded {
width: 700px;
height: 700px;
bottom: 20px;
left: 20px;
z-index: 2147483647;
}
#tagSphere.dragging {
cursor: -webkit-grabbing !important;
cursor: -moz-grabbing !important;
}
#tagSphere .close-btn {
position: absolute;
top: 20px;
right: 20px;
width: 48px;
height: 48px;
background: transparent;
color: #CC0000;
border: none;
font-size: 36px;
font-weight: bold;
line-height: 48px;
text-align: center;
cursor: pointer;
z-index: 9999;
opacity: 0;
visibility: hidden;
transition: opacity 0.3s ease, visibility 0.3s ease, color 0.2s ease;
}
#tagSphere.exploded .close-btn {
opacity: 1;
visibility: visible;
}
#tagSphere .close-btn:hover {
color: #AA0000;
}
#tagSphere .back-btn {
position: absolute;
top: 20px;
left: 20px;
width: 48px;
height: 48px;
background: transparent;
color: #0066CC;
border: none;
font-size: 36px;
font-weight: bold;
line-height: 48px;
text-align: center;
cursor: pointer;
z-index: 9999;
opacity: 0;
visibility: hidden;
transition: opacity 0.3s ease, visibility 0.3s ease, color 0.2s ease;
}
#tagSphere.mode-pages.exploded .back-btn {
opacity: 1;
visibility: visible;
}
#tagSphere .back-btn:hover {
color: #0044AA;
}
#tagSphere .tag-item {
position: absolute;
padding: 12px 20px;
white-space: nowrap;
font-size: 13px;
font-weight: 700;
text-decoration: none;
background: #FFFFFF;
border: none;
border-radius: 20px;
cursor: pointer;
min-width: 50px;
text-align: center;
box-shadow: 0 3px 10px rgba(0,0,0,0.15);
transition: box-shadow 0.2s ease, color 0.2s ease;
pointer-events: auto;
z-index: 100;
}
#tagSphere .tag-item.atom-0 { animation: float-0 4.2s ease-in-out infinite; }
#tagSphere .tag-item.atom-1 { animation: float-1 5.1s ease-in-out infinite; }
#tagSphere .tag-item.atom-2 { animation: float-2 4.7s ease-in-out infinite; }
#tagSphere .tag-item.atom-3 { animation: float-3 5.5s ease-in-out infinite; }
#tagSphere .tag-item.atom-4 { animation: float-4 4.9s ease-in-out infinite; }
#tagSphere .tag-item.atom-5 { animation: float-5 5.3s ease-in-out infinite; }
#tagSphere .tag-item.atom-6 { animation: float-6 4.5s ease-in-out infinite; }
#tagSphere .tag-item.atom-7 { animation: float-7 5.8s ease-in-out infinite; }
@keyframes float-0 {
0%, 100% { transform: translate(0, 0) rotate(0deg); }
25% { transform: translate(4px, -5px) rotate(2deg); }
50% { transform: translate(-3px, -7px) rotate(-2deg); }
75% { transform: translate(-5px, -3px) rotate(3deg); }
}
@keyframes float-1 {
0%, 100% { transform: translate(0, 0) rotate(0deg); }
25% { transform: translate(-4px, -6px) rotate(-2deg); }
50% { transform: translate(5px, -4px) rotate(2deg); }
75% { transform: translate(3px, -7px) rotate(-3deg); }
}
@keyframes float-2 {
0%, 100% { transform: translate(0, 0) rotate(0deg); }
25% { transform: translate(5px, -4px) rotate(3deg); }
50% { transform: translate(-4px, -8px) rotate(-2deg); }
75% { transform: translate(4px, -5px) rotate(2deg); }
}
@keyframes float-3 {
0%, 100% { transform: translate(0, 0) rotate(0deg); }
25% { transform: translate(-5px, -7px) rotate(-3deg); }
50% { transform: translate(4px, -5px) rotate(2deg); }
75% { transform: translate(-3px, -6px) rotate(-2deg); }
}
@keyframes float-4 {
0%, 100% { transform: translate(0, 0) rotate(0deg); }
25% { transform: translate(4px, -6px) rotate(2deg); }
50% { transform: translate(-5px, -5px) rotate(-3deg); }
75% { transform: translate(5px, -7px) rotate(3deg); }
}
@keyframes float-5 {
0%, 100% { transform: translate(0, 0) rotate(0deg); }
25% { transform: translate(-4px, -5px) rotate(-2deg); }
50% { transform: translate(5px, -7px) rotate(3deg); }
75% { transform: translate(-5px, -4px) rotate(-3deg); }
}
@keyframes float-6 {
0%, 100% { transform: translate(0, 0) rotate(0deg); }
25% { transform: translate(5px, -7px) rotate(3deg); }
50% { transform: translate(-4px, -6px) rotate(-2deg); }
75% { transform: translate(4px, -4px) rotate(2deg); }
}
@keyframes float-7 {
0%, 100% { transform: translate(0, 0) rotate(0deg); }
25% { transform: translate(-5px, -5px) rotate(-3deg); }
50% { transform: translate(4px, -7px) rotate(2deg); }
75% { transform: translate(-4px, -6px) rotate(-2deg); }
}
#tagSphere.mode-tags .tag-item {
color: #0066CC;
}
#tagSphere.mode-tags .tag-item:hover {
color: #0044AA;
box-shadow: 0 6px 20px rgba(0,102,204,0.5);
z-index: 9998 !important;
}
#tagSphere.mode-pages .tag-item {
color: #CC0000;
}
#tagSphere.mode-pages .tag-item:hover {
color: #AA0000;
box-shadow: 0 6px 20px rgba(204,0,0,0.5);
z-index: 9998 !important;
}
#tagSphere.mode-pages .tag-item.popular {
color: #FF6600;
animation: float-0 4.2s ease-in-out infinite, glow-popular 3s ease-in-out infinite;
}
@keyframes glow-popular {
0%, 100% {
box-shadow: 0 3px 10px rgba(255,102,0,0.3);
}
50% {
box-shadow: 0 6px 20px rgba(255,102,0,0.6);
}
}