aboutsummaryrefslogtreecommitdiff
path: root/hg.css
diff options
context:
space:
mode:
Diffstat (limited to 'hg.css')
-rw-r--r--hg.css250
1 files changed, 225 insertions, 25 deletions
diff --git a/hg.css b/hg.css
index 440dd77..a2c2bd3 100644
--- a/hg.css
+++ b/hg.css
@@ -49,16 +49,26 @@ body {
left: 50%;
margin: -250px 0 0 -175px;
overflow: hidden;
- border-radius: 12px;
- border: 2px solid #ff2975;
- box-shadow: 0 0 30px rgba(255, 41, 117, 0.6),
- 0 0 60px rgba(255, 41, 117, 0.3),
- inset 0 0 20px rgba(255, 41, 117, 0.1);
+ border-radius: 8px;
+ border: 3px solid #ff2975;
+ box-shadow:
+ 0 0 30px rgba(255, 41, 117, 0.6),
+ 0 0 60px rgba(255, 41, 117, 0.3),
+ inset 0 0 20px rgba(255, 41, 117, 0.1),
+ 0 20px 60px rgba(0, 0, 0, 0.8),
+ 0 10px 30px rgba(0, 0, 0, 0.6),
+ inset 0 1px 0 rgba(255, 255, 255, 0.1),
+ inset 0 -1px 0 rgba(0, 0, 0, 0.5),
+ inset 1px 0 0 rgba(255, 255, 255, 0.05),
+ inset -1px 0 0 rgba(0, 0, 0, 0.3);
text-align: center;
background: linear-gradient(135deg, #1a0033 0%, #0a0015 50%, #000008 100%);
background-position: 50% 50%;
background-repeat: no-repeat;
z-index: 999;
+ transform: perspective(1000px) rotateX(5deg) rotateY(-2deg);
+ transform-style: preserve-3d;
+ animation: playerFloat 6s ease-in-out infinite, playerPulse 4s ease-in-out infinite alternate;
}
.music-player .color-overlay {
@@ -70,6 +80,7 @@ body {
top: 0;
left: 0;
transition: background 0.3s cubic-bezier(0.33, 0.66, 0.66, 1);
+ box-shadow: inset 0 0 40px rgba(0, 0, 0, 0.7);
}
.music-player .gradient-overlay {
@@ -108,11 +119,52 @@ h3#track-name {
text-shadow: 0 0 15px rgba(255, 41, 117, 0.8);
font-family: "VCR", sans-serif;
margin-bottom: 0;
- background: rgba(0, 0, 0, 0.7);
+ background: linear-gradient(145deg, rgba(0, 0, 0, 0.9), rgba(0, 0, 0, 0.6));
border: 1px solid rgba(255, 41, 117, 0.5);
border-radius: 6px;
padding: 12px;
backdrop-filter: blur(5px);
+ box-shadow:
+ 0 4px 15px rgba(0, 0, 0, 0.6),
+ inset 0 1px 0 rgba(255, 255, 255, 0.1),
+ inset 0 -1px 0 rgba(0, 0, 0, 0.5),
+ 0 0 20px rgba(255, 41, 117, 0.3);
+ transform: translateZ(10px);
+ animation: trackNameFloat 8s ease-in-out infinite, trackNameGlow 3s ease-in-out infinite alternate;
+}
+
+@keyframes trackNameFloat {
+ 0%, 100% {
+ transform: translateZ(10px) rotateY(0deg) translateY(0px);
+ }
+ 25% {
+ transform: translateZ(15px) rotateY(1deg) translateY(-2px);
+ }
+ 50% {
+ transform: translateZ(12px) rotateY(-1deg) translateY(1px);
+ }
+ 75% {
+ transform: translateZ(18px) rotateY(0.5deg) translateY(-1px);
+ }
+}
+
+@keyframes trackNameGlow {
+ 0% {
+ text-shadow: 0 0 15px rgba(255, 41, 117, 0.8);
+ box-shadow:
+ 0 4px 15px rgba(0, 0, 0, 0.6),
+ inset 0 1px 0 rgba(255, 255, 255, 0.1),
+ inset 0 -1px 0 rgba(0, 0, 0, 0.5),
+ 0 0 20px rgba(255, 41, 117, 0.3);
+ }
+ 100% {
+ text-shadow: 0 0 25px rgba(255, 41, 117, 1);
+ box-shadow:
+ 0 6px 20px rgba(0, 0, 0, 0.7),
+ inset 0 1px 0 rgba(255, 255, 255, 0.15),
+ inset 0 -1px 0 rgba(0, 0, 0, 0.6),
+ 0 0 30px rgba(255, 41, 117, 0.5);
+ }
}
hr {
@@ -121,7 +173,12 @@ hr {
margin: 20px auto;
border: 0;
background: linear-gradient(90deg, #ff2975 0%, #00ffff 100%);
- box-shadow: 0 0 10px rgba(255, 41, 117, 0.6);
+ box-shadow:
+ 0 0 10px rgba(255, 41, 117, 0.6),
+ 0 2px 4px rgba(0, 0, 0, 0.4),
+ inset 0 1px 0 rgba(255, 255, 255, 0.3);
+ transform: translateZ(8px);
+ animation: hrPulse 3s ease-in-out infinite, hrRotate 12s linear infinite;
}
.intro {
@@ -133,6 +190,28 @@ hr {
font-size: 13px;
font-style: italic;
line-height: 18px;
+ transform: translateZ(6px);
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.5));
+ animation: introFloat 5s ease-in-out infinite;
+}
+
+@keyframes introFloat {
+ 0%, 100% {
+ transform: translateZ(6px) translateY(0px);
+ text-shadow: 0 0 8px rgba(0, 255, 255, 0.6);
+ }
+ 25% {
+ transform: translateZ(8px) translateY(-1px);
+ text-shadow: 0 0 10px rgba(0, 255, 255, 0.7);
+ }
+ 50% {
+ transform: translateZ(4px) translateY(1px);
+ text-shadow: 0 0 12px rgba(0, 255, 255, 0.8);
+ }
+ 75% {
+ transform: translateZ(7px) translateY(-0.5px);
+ text-shadow: 0 0 9px rgba(0, 255, 255, 0.65);
+ }
}
dialog {
@@ -194,14 +273,19 @@ dialog::backdrop {
.modal-container {
border-radius: 8px;
- background: linear-gradient(135deg, #1a0033 0%, #0a0015 50%, #000008 100%);
+ background: linear-gradient(145deg, #1a0033 0%, #0a0015 50%, #000008 100%);
border: 2px solid #ff2975;
- box-shadow: 0 0 30px rgba(255, 41, 117, 0.5),
- inset 0 0 20px rgba(255, 41, 117, 0.1);
+ box-shadow:
+ 0 0 30px rgba(255, 41, 117, 0.5),
+ inset 0 0 20px rgba(255, 41, 117, 0.1),
+ 0 20px 40px rgba(0, 0, 0, 0.8),
+ inset 0 1px 0 rgba(255, 255, 255, 0.1),
+ inset 0 -1px 0 rgba(0, 0, 0, 0.5);
position: relative;
padding: 30px;
color: #00ffff;
font-family: 'VCR', 'Consolas', 'Courier New', monospace;
+ transform: perspective(800px) rotateX(2deg);
}
.modal-container h3 {
@@ -295,9 +379,26 @@ dialog::backdrop {
z-index: 999;
justify-content: center;
height: 17px;
- background: rgba(0, 0, 0, 0.6);
+ background: linear-gradient(145deg, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.5));
backdrop-filter: blur(3px);
border-top: 1px solid rgba(0, 255, 255, 0.3);
+ box-shadow:
+ inset 0 1px 0 rgba(255, 255, 255, 0.1),
+ inset 0 -1px 0 rgba(0, 0, 0, 0.5),
+ 0 -2px 8px rgba(0, 0, 0, 0.6);
+ transform: translateZ(2px);
+ animation: footerGlow 4s ease-in-out infinite alternate;
+}
+
+@keyframes footerGlow {
+ 0% {
+ border-top: 1px solid rgba(0, 255, 255, 0.3);
+ text-shadow: 0 0 6px rgba(0, 255, 255, 0.6);
+ }
+ 100% {
+ border-top: 1px solid rgba(0, 255, 255, 0.6);
+ text-shadow: 0 0 8px rgba(0, 255, 255, 0.8);
+ }
}
.footer .footer-items {
@@ -335,7 +436,14 @@ canvas {
justify-content: space-between;
align-items: center;
padding: 8px 12px;
+ background: linear-gradient(145deg, rgba(0, 0, 0, 0.95), rgba(0, 0, 0, 0.7));
+ border-bottom: 2px solid #ff2975;
z-index: 999;
+ box-shadow:
+ 0 2px 10px rgba(0, 0, 0, 0.8),
+ inset 0 1px 0 rgba(255, 255, 255, 0.1),
+ inset 0 -1px 0 rgba(0, 0, 0, 0.6);
+ transform: translateZ(5px);
}
.control-group {
@@ -354,8 +462,8 @@ canvas {
transition: all 0.2s ease;
padding: 6px 10px;
border: 1px solid #00ffff;
- border-radius: 0;
- background: linear-gradient(45deg, rgba(0, 0, 0, 0.8), rgba(0, 255, 255, 0.1));
+ border-radius: 3px;
+ background: linear-gradient(145deg, rgba(0, 0, 0, 0.9), rgba(0, 255, 255, 0.1));
font-size: 14px;
display: flex;
align-items: center;
@@ -364,31 +472,50 @@ canvas {
min-height: 32px;
font-family: "VCR", monospace;
box-shadow:
- inset 0 1px 0 rgba(0, 255, 255, 0.3),
+ inset 0 1px 0 rgba(255, 255, 255, 0.2),
inset 0 -1px 0 rgba(0, 0, 0, 0.5),
- 0 2px 4px rgba(0, 0, 0, 0.3);
+ inset 1px 0 0 rgba(255, 255, 255, 0.1),
+ inset -1px 0 0 rgba(0, 0, 0, 0.3),
+ 0 3px 8px rgba(0, 0, 0, 0.4),
+ 0 1px 3px rgba(0, 0, 0, 0.3);
text-transform: uppercase;
letter-spacing: 1px;
+ transform: translateZ(3px);
+ animation: buttonPulse 2s ease-in-out infinite alternate;
+}
+
+@keyframes buttonPulse {
+ 0% {
+ transform: translateZ(3px) scale(1);
+ text-shadow: 0 0 10px rgba(0, 255, 255, 0.8);
+ }
+ 100% {
+ transform: translateZ(5px) scale(1.02);
+ text-shadow: 0 0 15px rgba(0, 255, 255, 1);
+ }
}
.buttons:hover {
color: #ff2975;
text-shadow: 0 0 15px rgba(255, 41, 117, 1);
border-color: #ff2975;
- background: linear-gradient(45deg, rgba(0, 0, 0, 0.8), rgba(255, 41, 117, 0.2));
+ background: linear-gradient(145deg, rgba(0, 0, 0, 0.8), rgba(255, 41, 117, 0.2));
box-shadow:
- inset 0 1px 0 rgba(255, 41, 117, 0.3),
+ inset 0 1px 0 rgba(255, 255, 255, 0.3),
inset 0 -1px 0 rgba(0, 0, 0, 0.5),
+ inset 1px 0 0 rgba(255, 255, 255, 0.15),
+ inset -1px 0 0 rgba(0, 0, 0, 0.3),
0 0 20px rgba(255, 41, 117, 0.4),
- 0 2px 4px rgba(0, 0, 0, 0.3);
- transform: translateY(-1px);
+ 0 4px 12px rgba(0, 0, 0, 0.5);
+ transform: translateZ(5px) translateY(-1px);
}
.buttons:active {
- transform: translateY(1px);
+ transform: translateZ(1px) translateY(1px);
box-shadow:
- inset 0 2px 4px rgba(0, 0, 0, 0.5),
- 0 0 10px rgba(255, 41, 117, 0.3);
+ inset 0 2px 4px rgba(0, 0, 0, 0.7),
+ inset 0 1px 0 rgba(255, 255, 255, 0.1),
+ 0 1px 3px rgba(0, 0, 0, 0.4);
}
.refresh {
@@ -460,21 +587,25 @@ canvas {
height: 65%;
max-height: 450px;
min-height: 300px;
- background: linear-gradient(45deg, rgba(0, 0, 0, 0.95), rgba(0, 255, 255, 0.08));
+ background: linear-gradient(145deg, rgba(0, 0, 0, 0.95), rgba(0, 255, 255, 0.08));
border: 2px solid #00ffff;
- border-radius: 0;
+ border-radius: 6px;
font-family: 'VCR', 'Consolas', 'Courier New', monospace;
box-shadow:
- inset 0 1px 0 rgba(0, 255, 255, 0.4),
+ inset 0 1px 0 rgba(255, 255, 255, 0.2),
inset 0 -1px 0 rgba(0, 0, 0, 0.6),
+ inset 1px 0 0 rgba(255, 255, 255, 0.1),
+ inset -1px 0 0 rgba(0, 0, 0, 0.4),
0 0 30px rgba(0, 255, 255, 0.5),
0 0 60px rgba(0, 255, 255, 0.2),
+ 0 15px 30px rgba(0, 0, 0, 0.8),
0 4px 8px rgba(0, 0, 0, 0.4);
display: flex;
flex-direction: column;
position: relative;
overflow: hidden;
animation: terminalGlow 3s ease-in-out infinite alternate;
+ transform: perspective(1000px) rotateX(3deg) rotateY(-1deg);
}
@keyframes terminalGlow {
@@ -939,3 +1070,72 @@ canvas {
.fullscreen .retro-icon {
font-size: 18px;
}
+
+/* 3D Animation Keyframes */
+@keyframes playerFloat {
+ 0%, 100% {
+ transform: perspective(1000px) rotateX(5deg) rotateY(-2deg) translateY(0px) translateZ(0px);
+ }
+ 25% {
+ transform: perspective(1000px) rotateX(3deg) rotateY(-1deg) translateY(-5px) translateZ(5px);
+ }
+ 50% {
+ transform: perspective(1000px) rotateX(7deg) rotateY(-3deg) translateY(3px) translateZ(-3px);
+ }
+ 75% {
+ transform: perspective(1000px) rotateX(4deg) rotateY(-1.5deg) translateY(-2px) translateZ(8px);
+ }
+}
+
+@keyframes playerPulse {
+ 0% {
+ box-shadow:
+ 0 0 30px rgba(255, 41, 117, 0.6),
+ 0 0 60px rgba(255, 41, 117, 0.3),
+ inset 0 0 20px rgba(255, 41, 117, 0.1),
+ 0 20px 60px rgba(0, 0, 0, 0.8),
+ 0 10px 30px rgba(0, 0, 0, 0.6),
+ inset 0 1px 0 rgba(255, 255, 255, 0.1),
+ inset 0 -1px 0 rgba(0, 0, 0, 0.5),
+ inset 1px 0 0 rgba(255, 255, 255, 0.05),
+ inset -1px 0 0 rgba(0, 0, 0, 0.3);
+ }
+ 100% {
+ box-shadow:
+ 0 0 40px rgba(255, 41, 117, 0.8),
+ 0 0 80px rgba(255, 41, 117, 0.4),
+ inset 0 0 30px rgba(255, 41, 117, 0.15),
+ 0 25px 70px rgba(0, 0, 0, 0.9),
+ 0 15px 40px rgba(0, 0, 0, 0.7),
+ inset 0 1px 0 rgba(255, 255, 255, 0.15),
+ inset 0 -1px 0 rgba(0, 0, 0, 0.6),
+ inset 1px 0 0 rgba(255, 255, 255, 0.08),
+ inset -1px 0 0 rgba(0, 0, 0, 0.4);
+ }
+}
+
+@keyframes hrPulse {
+ 0%, 100% {
+ width: 60px;
+ box-shadow:
+ 0 0 10px rgba(255, 41, 117, 0.6),
+ 0 2px 4px rgba(0, 0, 0, 0.4),
+ inset 0 1px 0 rgba(255, 255, 255, 0.3);
+ }
+ 50% {
+ width: 80px;
+ box-shadow:
+ 0 0 20px rgba(255, 41, 117, 0.8),
+ 0 3px 6px rgba(0, 0, 0, 0.5),
+ inset 0 1px 0 rgba(255, 255, 255, 0.4);
+ }
+}
+
+@keyframes hrRotate {
+ 0% {
+ transform: translateZ(8px) rotateY(0deg);
+ }
+ 100% {
+ transform: translateZ(8px) rotateY(360deg);
+ }
+}