:root { --primary: #1db954; --dark-bg: #121212; --text-dark: #ffffff; --aura-gradient: conic-gradient(from 0deg, rgba(173, 216, 230, 0.4), rgba(144, 238, 144, 0.712), rgba(255, 182, 193, 0.774), rgba(221, 160, 221, 0.651), rgba(173, 216, 230, 0.4)); } * { margin: 0; padding: 0; box-sizing: border-box; font-family: 'Inter', sans-serif; } html, body { scroll-behavior: smooth; overflow-x: hidden; } body { background: #a2d8d886; min-height: 100vh; display: flex; align-items: flex-start; justify-content: center; padding: 100px 20px 40px; transition: background 0.5s ease; position: relative; overflow-x: hidden; } body::before { content: ""; position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: radial-gradient(circle at 30% 30%, rgba(173, 216, 230, 0.863), transparent 10%), radial-gradient(circle at 70% 70%, rgba(255, 182, 193, 0.719), transparent 10%), linear-gradient(120deg, rgba(255, 255, 255, 0.493) 0%, rgba(255, 255, 255, 0.514) 50%, rgba(255, 255, 255, 0.719) 100%); background-blend-mode: screen; z-index: -2; animation: auraMove 12s linear infinite, gloss 6s ease-in-out infinite; filter: blur(60px); will-change: transform, opacity; } /* Gradient conic untuk efek aura tambahan */ body::after { content: ""; position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: var(--aura-gradient); background-blend-mode: screen; z-index: -1; animation: auraMove 12s linear infinite; pointer-events: none; } @keyframes auraMove { 0% { background-position: 0% 0%, 100% 100%; } 50% { background-position: 100% 0%, 0% 100%; } 100% { background-position: 0% 0%, 100% 100%; } } @keyframes gloss { 0% { background-position: -200% 0; } 50% { background-position: 200% 0; } 100% { background-position: -200% 0; } } .loader { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: white; display: flex; justify-content: center; align-items: center; z-index: 9999; animation: fadeOut 1.5s ease forwards; animation-delay: 2s; } .lottie-loader { width: 60vw; height: auto; max-width: 300px; max-height: 200px; } @keyframes fadeOut { to { opacity: 0; visibility: hidden; } } .fullscreen-icon, .toggle-btn { position: fixed; top: 20px; padding: 12px; z-index: 1000; background: white; border-radius: 50%; box-shadow: 0 2px 10px rgba(0,0,0,0.2); cursor: pointer; transition: all 0.3s ease; } .fullscreen-icon:hover, .toggle-btn:hover { box-shadow: 0 2px 10px rgba(0,0,0,0.4); } .fullscreen-icon { left: 20px; font-size: 1.5rem; color: #333; } .toggle-btn { right: 20px; width: 50px; height: 25px; background: #ccc; border-radius: 30px; } .toggle-btn::before { content: ''; position: absolute; top: 2px; left: 2px; width: 21px; height: 21px; background: white; border-radius: 50%; transition: left 0.3s ease; } .dark-mode .fullscreen-icon { background: #1a1a1a; color: white; } .dark-mode .toggle-btn { background: #666; } .dark-mode .toggle-btn::before { left: 27px; background: #ffd700; } .container-wrapper { position: relative; width: 101%; height: 118vh; max-width: 900px; z-index: 1; } .container { background: rgba(255, 255, 255, 0.8); border-radius: 20px; margin: 30px auto; box-shadow: 0 10px 40px rgba(0,0,0,0.1); padding: 20px; position: relative; z-index: 1; text-align: center; backdrop-filter: blur(10px); transition: all 0.4s ease; } .dark-mode .container { background: #121212; backdrop-filter: blur(20px) saturate(160%); box-shadow: 0 8px 30px rgba(0,0,0,0.8); color: var(--text-dark); } .avatar-wrapper { position: absolute; top: -100px; left: 50%; transform: translateX(-50%); z-index: 3; filter: drop-shadow(0 0 20px rgba(128, 204, 255, 0.486)); border-radius: 50%; overflow: hidden; padding: 8px; animation: pulseGlow 40s ease-in-out infinite; } @keyframes pulseGlow { 0% { filter: drop-shadow(0 0 20px rgba(128, 204, 255, 0.486)); } 50% { filter: drop-shadow(0 0 40px rgba(128, 204, 255, 0.486)); } 100% { filter: drop-shadow(0 0 20px rgba(128, 204, 255, 0.486)); } } .avatar { width: 169px; height: 160px; margin-top: 10px; border-radius: 50%; object-fit: cover; position: relative; border: 4px solid transparent; background: linear-gradient(to right, #ff0000, #ff8000, #ffff00, #80ff00, #00ff00, #00ff80, #00ffff, #0080ff, #0000ff, #3974f3, #f18cf1, #ff0080, #ff0000); background-size: 300% 300%; animation: colorFlow 15s linear infinite, glowPulse 3s ease-in-out infinite; box-shadow: 0 0 20px rgba(255,255,255,0.4), inset 0 0 15px rgba(255,255,255,0.3); transition: all 0.5s ease; overflow: hidden; } .avatar::before { content: ''; position: absolute; top: -50%; left: -50%; width: 200%; height: 200%; background: radial-gradient( circle at center, rgba(255,255,255,0.5) 0%, rgba(255,255,255,0.2) 30%, transparent 70% ); animation: rotateGloss 8s linear infinite; z-index: 1; pointer-events: none; } .avatar::after { content: ''; position: absolute; top: -50%; left: 0; width: 100%; height: 50px; background: linear-gradient( transparent 25%, rgba(255, 255, 255, 0.8), transparent 75% ); animation: moveGloss 3s ease-in-out infinite; z-index: 2; pointer-events: none; } /* Animasi utama */ @keyframes colorFlow { 0% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } 100% { background-position: 0% 50%; } } @keyframes glowPulse { 0%, 100% { box-shadow: 0 0 20px rgba(255,255,255,0.4), inset 0 0 15px rgba(255,255,255,0.3); } 50% { box-shadow: 0 0 30px rgba(255,255,255,0.6), inset 0 0 25px rgba(255,255,255,0.5); } } @keyframes rotateGloss { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } @keyframes moveGloss { 0% { top: -50%; } 50% { top: 50%; opacity: 1; } 100% { top: 150%; opacity: 0; } } /* Efek interaksi */ .avatar:hover { transform: scale(1.05) rotate(360deg); animation: colorFlow 8s linear infinite, glowPulse 2s ease-in-out infinite; box-shadow: 0 0 30px rgba(255,255,255,0.8), inset 0 0 30px rgba(255,255,255,0.6); } .avatar-wrapper:hover::before { animation: rotateGloss 5s linear infinite, pulseGlow 2s ease-in-out infinite; } @keyframes rotate { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } /* Teks animasi */ .animated-text2 { font-family: 'Poppins', 'Inter', sans-serif; font-size: 1.5rem; font-weight: 700; background: linear-gradient(90deg, #4facfe, #00f2fe); /* Gradient biru */ -webkit-background-clip: text; -webkit-text-fill-color: transparent; text-shadow: 0 0 5px rgba(79, 172, 254, 0.6), 0 0 10px rgba(79, 172, 254, 0.4), 0 0 20px rgba(79, 172, 254, 0.2); animation: fadeInOut 3s ease-in-out infinite, glow 2s infinite alternate; } /* Animasi muncul dan menghilang */ @keyframes fadeInOut { 0%, 100% { opacity: 0.6; transform: translateY(0); } 50% { opacity: 1; transform: translateY(-5px); } } /* Animasi glow */ @keyframes glow { 0% { text-shadow: 0 0 5px rgba(79, 172, 254, 0.6), 0 0 10px rgba(79, 172, 254, 0.4), 0 0 20px rgba(79, 172, 254, 0.2); } 50% { text-shadow: 0 0 15px rgba(79, 172, 254, 0.8), 0 0 25px rgba(79, 172, 254, 0.6), 0 0 40px rgba(79, 172, 254, 0.4); } 100% { text-shadow: 0 0 5px rgba(79, 172, 254, 0.6), 0 0 10px rgba(79, 172, 254, 0.4), 0 0 20px rgba(79, 172, 254, 0.2); } } h1 { margin-top: 90px; color: #222; } .dark-mode h1 { color: var(--text-dark); } .time { font-size: 1rem; color: #555; margin-bottom: 20px; } .dark-mode .time { color: #ccc; } .spotify-embed { border-radius: 20px; overflow: hidden; box-shadow: 0 15px 30px rgba(0,0,0,0.2); transition: transform 0.5s ease; margin-bottom: 20px; } .spotify-embed iframe { border-radius: 20px; width: 100%; height: 500px; } .spotify-embed:hover { transform: translateY(-5px); } .social-icons { display: flex; justify-content: center; gap: 1.5rem; margin-top: 25px; flex-wrap: wrap; } .social-icon { width: 45px; height: 45px; border-radius: 50%; background: var(--primary); display: flex; align-items: center; justify-content: center; color: white; font-size: 1.3rem; text-decoration: none; transition: all 0.3s ease; box-shadow: 0 5px 15px rgba(0,0,0,0.2); } .social-icon:hover { transform: scale(1.2) rotate(10deg); background: #ff1c66; } .dark-mode .social-icon { background: var(--primary-dark); box-shadow: 0 5px 15px rgba(0,0,0,0.8); } /* CSS */ .copyright { background: linear-gradient(to right, #5c7996, #3498dbda); color: white; padding: 20px; text-align: center; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; font-size: 10px; position: fixed; bottom: 0; left: 0; width: 100%; box-shadow: 0 -2px 10px rgba(15, 15, 15, 0.568); z-index: 9999; } .copyright-link { color: rgb(155, 255, 225); text-decoration: var(--aura-gradient); margin: 0 10px; transition: color 0.3s ease; } .copyright-link:hover { color: #f1c40f; } @media (max-width: 600px) { .container { padding: 20px; } .avatar { width: 110px; height: 110px; margin-top: 55px; } h1 { margin-top: 80px; } }