Vercel
tcp/443 tcp/80
.DS_Store” is an abbreviation for “Desktop Services Store”. These files are created automatically by Apples “Finder” software (which is part of their OS).
They store information about the files within a folder, including display options of folders, such as icon positions and view settings.
It may happen that .DS_Store files inadvertently leak filenames such as database backups or private administration panels.
Severity: low
Fingerprint: 5f32cf5d6962f09c026392ab026392ab181a5b7461a2bc00d1197d4d3660bb61
Found 7 files trough .DS_Store spidering: /bg1.svg /bg2.svg /bg3.svg /library-bg.png /library-bg.txt /logo.png /ribesa.favicon.ico
.DS_Store” is an abbreviation for “Desktop Services Store”. These files are created automatically by Apples “Finder” software (which is part of their OS).
They store information about the files within a folder, including display options of folders, such as icon positions and view settings.
It may happen that .DS_Store files inadvertently leak filenames such as database backups or private administration panels.
Severity: low
Fingerprint: 5f32cf5d6962f09c026392ab026392ab181a5b7461a2bc00d1197d4d61d56d07
Found 7 files trough .DS_Store spidering: /bg1.svg /bg2.svg /bg3.svg /favicon.ico /library-bg.png /library-bg.txt /logo.png
Open service 216.198.79.1:443 · arka.ribesa.pt
2026-01-10 02:14
HTTP/1.1 200 OK
Accept-Ranges: bytes
Access-Control-Allow-Origin: *
Age: 58062
Cache-Control: public, max-age=0, must-revalidate
Content-Disposition: inline
Content-Length: 18050
Content-Type: text/html; charset=utf-8
Date: Sat, 10 Jan 2026 02:14:27 GMT
Etag: "7170c3bc2265f0bab4109dc7e1e6a699"
Last-Modified: Fri, 09 Jan 2026 10:06:45 GMT
Server: Vercel
Strict-Transport-Security: max-age=63072000
X-Content-Type-Options: nosniff
X-Frame-Options: DENY
X-Vercel-Cache: HIT
X-Vercel-Id: fra1::vl2pp-1768011267196-df302c0a0d51
Connection: close
Page title: ARKA • Ribesa Advogados
<!doctype html>
<html lang="pt-PT">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>ARKA • Ribesa Advogados</title>
<!-- PWA Meta Tags -->
<meta name="description" content="Sistema de gestão jurídica - Ribesa Advogados" />
<meta name="theme-color" content="#2563eb" />
<meta name="mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="default" />
<meta name="apple-mobile-web-app-title" content="ARKA" />
<meta name="msapplication-TileColor" content="#2563eb" />
<meta name="msapplication-config" content="/browserconfig.xml" />
<!-- Icons and Manifest -->
<link rel="icon" type="image/x-icon" href="/favicon.ico" />
<link rel="manifest" href="/manifest.json" />
<link rel="apple-touch-icon" href="/icon-apple-touch.png" />
<link rel="icon" type="image/png" sizes="192x192" href="/icon-192.png" />
<link rel="icon" type="image/png" sizes="512x512" href="/icon-512.png" />
<!-- Preconnect to external services -->
<link rel="preconnect" href="https://htuzgqlxmkggjpfrohbe.supabase.co" />
<link rel="dns-prefetch" href="https://htuzgqlxmkggjpfrohbe.supabase.co" />
<style>
/* Modern Loading screen styles */
#loading-screen {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: linear-gradient(135deg, #0F172A 0%, #1E3A8A 30%, #0F172A 70%, #1E293B 100%);
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
color: white;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
z-index: 9999;
overflow: hidden;
}
/* Animated background blobs */
.loading-blob {
position: absolute;
border-radius: 50%;
filter: blur(40px);
opacity: 0.3;
animation: float 6s ease-in-out infinite;
}
.loading-blob:nth-child(1) {
width: 300px;
height: 300px;
background: rgba(59, 130, 246, 0.4);
top: 10%;
left: 10%;
animation-delay: 0s;
}
.loading-blob:nth-child(2) {
width: 200px;
height: 200px;
background: rgba(147, 51, 234, 0.4);
bottom: 10%;
right: 10%;
animation-delay: 2s;
}
.loading-blob:nth-child(3) {
width: 250px;
height: 250px;
background: rgba(6, 182, 212, 0.3);
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
animation-delay: 4s;
}
@keyframes float {
0%, 100% { transform: translateY(0px) rotate(0deg); }
33% { transform: translateY(-30px) rotate(1deg); }
66% { transform: translateY(10px) rotate(-1deg); }
}
.loading-card {
position: relative;
z-index: 10;
background: rgba(255, 255, 255, 0.1);
backdrop-filter: blur(20px);
border: 1px solid rgba(255, 255, 255, 0.2);
border-radius: 24px;
padding: 2rem;
box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
text-align: center;
max-width: 400px;
animation: fadeInUp 0.8s ease-out;
}
@keyframes fadeInUp {
from {
opacity: 0;
transform: translateY(30px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
.loading-logo {
width: 80px;
height: 80px;
margin: 0 auto 1.5rem;
background: linear-gradient(135deg, #3B82F6, #9333EA);
border-radius: 20px;
display: flex;
align-items: center;
justify-content: center;
font-size: 2rem;
position: relative;
overflow: hidden;
}
.loading-logo::after {
content: '';
position: absolute
Open service 216.198.79.1:443 · arka.ribesa.pt
2026-01-02 23:39
HTTP/1.1 200 OK
Accept-Ranges: bytes
Access-Control-Allow-Origin: *
Age: 47641
Cache-Control: public, max-age=0, must-revalidate
Content-Disposition: inline
Content-Length: 18050
Content-Type: text/html; charset=utf-8
Date: Fri, 02 Jan 2026 23:39:59 GMT
Etag: "7170c3bc2265f0bab4109dc7e1e6a699"
Last-Modified: Fri, 02 Jan 2026 10:25:58 GMT
Server: Vercel
Strict-Transport-Security: max-age=63072000
X-Content-Type-Options: nosniff
X-Frame-Options: DENY
X-Vercel-Cache: HIT
X-Vercel-Id: fra1::p48k4-1767397199734-b89631cf1c9f
Connection: close
Page title: ARKA • Ribesa Advogados
<!doctype html>
<html lang="pt-PT">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>ARKA • Ribesa Advogados</title>
<!-- PWA Meta Tags -->
<meta name="description" content="Sistema de gestão jurídica - Ribesa Advogados" />
<meta name="theme-color" content="#2563eb" />
<meta name="mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="default" />
<meta name="apple-mobile-web-app-title" content="ARKA" />
<meta name="msapplication-TileColor" content="#2563eb" />
<meta name="msapplication-config" content="/browserconfig.xml" />
<!-- Icons and Manifest -->
<link rel="icon" type="image/x-icon" href="/favicon.ico" />
<link rel="manifest" href="/manifest.json" />
<link rel="apple-touch-icon" href="/icon-apple-touch.png" />
<link rel="icon" type="image/png" sizes="192x192" href="/icon-192.png" />
<link rel="icon" type="image/png" sizes="512x512" href="/icon-512.png" />
<!-- Preconnect to external services -->
<link rel="preconnect" href="https://htuzgqlxmkggjpfrohbe.supabase.co" />
<link rel="dns-prefetch" href="https://htuzgqlxmkggjpfrohbe.supabase.co" />
<style>
/* Modern Loading screen styles */
#loading-screen {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: linear-gradient(135deg, #0F172A 0%, #1E3A8A 30%, #0F172A 70%, #1E293B 100%);
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
color: white;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
z-index: 9999;
overflow: hidden;
}
/* Animated background blobs */
.loading-blob {
position: absolute;
border-radius: 50%;
filter: blur(40px);
opacity: 0.3;
animation: float 6s ease-in-out infinite;
}
.loading-blob:nth-child(1) {
width: 300px;
height: 300px;
background: rgba(59, 130, 246, 0.4);
top: 10%;
left: 10%;
animation-delay: 0s;
}
.loading-blob:nth-child(2) {
width: 200px;
height: 200px;
background: rgba(147, 51, 234, 0.4);
bottom: 10%;
right: 10%;
animation-delay: 2s;
}
.loading-blob:nth-child(3) {
width: 250px;
height: 250px;
background: rgba(6, 182, 212, 0.3);
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
animation-delay: 4s;
}
@keyframes float {
0%, 100% { transform: translateY(0px) rotate(0deg); }
33% { transform: translateY(-30px) rotate(1deg); }
66% { transform: translateY(10px) rotate(-1deg); }
}
.loading-card {
position: relative;
z-index: 10;
background: rgba(255, 255, 255, 0.1);
backdrop-filter: blur(20px);
border: 1px solid rgba(255, 255, 255, 0.2);
border-radius: 24px;
padding: 2rem;
box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
text-align: center;
max-width: 400px;
animation: fadeInUp 0.8s ease-out;
}
@keyframes fadeInUp {
from {
opacity: 0;
transform: translateY(30px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
.loading-logo {
width: 80px;
height: 80px;
margin: 0 auto 1.5rem;
background: linear-gradient(135deg, #3B82F6, #9333EA);
border-radius: 20px;
display: flex;
align-items: center;
justify-content: center;
font-size: 2rem;
position: relative;
overflow: hidden;
}
.loading-logo::after {
content: '';
position: absolute
Open service 216.198.79.1:443 · arka.ribesa.pt
2025-12-23 10:02
HTTP/1.1 200 OK
Accept-Ranges: bytes
Access-Control-Allow-Origin: *
Age: 0
Cache-Control: public, max-age=0, must-revalidate
Content-Disposition: inline
Content-Length: 18050
Content-Type: text/html; charset=utf-8
Date: Tue, 23 Dec 2025 10:02:43 GMT
Etag: "7170c3bc2265f0bab4109dc7e1e6a699"
Last-Modified: Tue, 23 Dec 2025 10:02:42 GMT
Server: Vercel
Strict-Transport-Security: max-age=63072000
X-Content-Type-Options: nosniff
X-Frame-Options: DENY
X-Vercel-Cache: HIT
X-Vercel-Id: fra1::f85lm-1766484162986-aeb9bb98c006
Connection: close
Page title: ARKA • Ribesa Advogados
<!doctype html>
<html lang="pt-PT">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>ARKA • Ribesa Advogados</title>
<!-- PWA Meta Tags -->
<meta name="description" content="Sistema de gestão jurídica - Ribesa Advogados" />
<meta name="theme-color" content="#2563eb" />
<meta name="mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="default" />
<meta name="apple-mobile-web-app-title" content="ARKA" />
<meta name="msapplication-TileColor" content="#2563eb" />
<meta name="msapplication-config" content="/browserconfig.xml" />
<!-- Icons and Manifest -->
<link rel="icon" type="image/x-icon" href="/favicon.ico" />
<link rel="manifest" href="/manifest.json" />
<link rel="apple-touch-icon" href="/icon-apple-touch.png" />
<link rel="icon" type="image/png" sizes="192x192" href="/icon-192.png" />
<link rel="icon" type="image/png" sizes="512x512" href="/icon-512.png" />
<!-- Preconnect to external services -->
<link rel="preconnect" href="https://htuzgqlxmkggjpfrohbe.supabase.co" />
<link rel="dns-prefetch" href="https://htuzgqlxmkggjpfrohbe.supabase.co" />
<style>
/* Modern Loading screen styles */
#loading-screen {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: linear-gradient(135deg, #0F172A 0%, #1E3A8A 30%, #0F172A 70%, #1E293B 100%);
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
color: white;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
z-index: 9999;
overflow: hidden;
}
/* Animated background blobs */
.loading-blob {
position: absolute;
border-radius: 50%;
filter: blur(40px);
opacity: 0.3;
animation: float 6s ease-in-out infinite;
}
.loading-blob:nth-child(1) {
width: 300px;
height: 300px;
background: rgba(59, 130, 246, 0.4);
top: 10%;
left: 10%;
animation-delay: 0s;
}
.loading-blob:nth-child(2) {
width: 200px;
height: 200px;
background: rgba(147, 51, 234, 0.4);
bottom: 10%;
right: 10%;
animation-delay: 2s;
}
.loading-blob:nth-child(3) {
width: 250px;
height: 250px;
background: rgba(6, 182, 212, 0.3);
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
animation-delay: 4s;
}
@keyframes float {
0%, 100% { transform: translateY(0px) rotate(0deg); }
33% { transform: translateY(-30px) rotate(1deg); }
66% { transform: translateY(10px) rotate(-1deg); }
}
.loading-card {
position: relative;
z-index: 10;
background: rgba(255, 255, 255, 0.1);
backdrop-filter: blur(20px);
border: 1px solid rgba(255, 255, 255, 0.2);
border-radius: 24px;
padding: 2rem;
box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
text-align: center;
max-width: 400px;
animation: fadeInUp 0.8s ease-out;
}
@keyframes fadeInUp {
from {
opacity: 0;
transform: translateY(30px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
.loading-logo {
width: 80px;
height: 80px;
margin: 0 auto 1.5rem;
background: linear-gradient(135deg, #3B82F6, #9333EA);
border-radius: 20px;
display: flex;
align-items: center;
justify-content: center;
font-size: 2rem;
position: relative;
overflow: hidden;
}
.loading-logo::after {
content: '';
position: absolute
Open service 64.29.17.65:443 · arka.ribesa.pt
2025-12-21 12:52
HTTP/1.1 200 OK
Accept-Ranges: bytes
Access-Control-Allow-Origin: *
Age: 1879796
Cache-Control: public, max-age=0, must-revalidate
Content-Disposition: inline
Content-Length: 18050
Content-Type: text/html; charset=utf-8
Date: Sun, 21 Dec 2025 12:52:11 GMT
Etag: "7170c3bc2265f0bab4109dc7e1e6a699"
Last-Modified: Sat, 29 Nov 2025 18:42:14 GMT
Server: Vercel
Strict-Transport-Security: max-age=63072000
X-Content-Type-Options: nosniff
X-Frame-Options: DENY
X-Vercel-Cache: HIT
X-Vercel-Id: fra1::ffr9t-1766321531288-c23e9c581bea
Connection: close
Page title: ARKA • Ribesa Advogados
<!doctype html>
<html lang="pt-PT">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>ARKA • Ribesa Advogados</title>
<!-- PWA Meta Tags -->
<meta name="description" content="Sistema de gestão jurídica - Ribesa Advogados" />
<meta name="theme-color" content="#2563eb" />
<meta name="mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="default" />
<meta name="apple-mobile-web-app-title" content="ARKA" />
<meta name="msapplication-TileColor" content="#2563eb" />
<meta name="msapplication-config" content="/browserconfig.xml" />
<!-- Icons and Manifest -->
<link rel="icon" type="image/x-icon" href="/favicon.ico" />
<link rel="manifest" href="/manifest.json" />
<link rel="apple-touch-icon" href="/icon-apple-touch.png" />
<link rel="icon" type="image/png" sizes="192x192" href="/icon-192.png" />
<link rel="icon" type="image/png" sizes="512x512" href="/icon-512.png" />
<!-- Preconnect to external services -->
<link rel="preconnect" href="https://htuzgqlxmkggjpfrohbe.supabase.co" />
<link rel="dns-prefetch" href="https://htuzgqlxmkggjpfrohbe.supabase.co" />
<style>
/* Modern Loading screen styles */
#loading-screen {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: linear-gradient(135deg, #0F172A 0%, #1E3A8A 30%, #0F172A 70%, #1E293B 100%);
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
color: white;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
z-index: 9999;
overflow: hidden;
}
/* Animated background blobs */
.loading-blob {
position: absolute;
border-radius: 50%;
filter: blur(40px);
opacity: 0.3;
animation: float 6s ease-in-out infinite;
}
.loading-blob:nth-child(1) {
width: 300px;
height: 300px;
background: rgba(59, 130, 246, 0.4);
top: 10%;
left: 10%;
animation-delay: 0s;
}
.loading-blob:nth-child(2) {
width: 200px;
height: 200px;
background: rgba(147, 51, 234, 0.4);
bottom: 10%;
right: 10%;
animation-delay: 2s;
}
.loading-blob:nth-child(3) {
width: 250px;
height: 250px;
background: rgba(6, 182, 212, 0.3);
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
animation-delay: 4s;
}
@keyframes float {
0%, 100% { transform: translateY(0px) rotate(0deg); }
33% { transform: translateY(-30px) rotate(1deg); }
66% { transform: translateY(10px) rotate(-1deg); }
}
.loading-card {
position: relative;
z-index: 10;
background: rgba(255, 255, 255, 0.1);
backdrop-filter: blur(20px);
border: 1px solid rgba(255, 255, 255, 0.2);
border-radius: 24px;
padding: 2rem;
box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
text-align: center;
max-width: 400px;
animation: fadeInUp 0.8s ease-out;
}
@keyframes fadeInUp {
from {
opacity: 0;
transform: translateY(30px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
.loading-logo {
width: 80px;
height: 80px;
margin: 0 auto 1.5rem;
background: linear-gradient(135deg, #3B82F6, #9333EA);
border-radius: 20px;
display: flex;
align-items: center;
justify-content: center;
font-size: 2rem;
position: relative;
overflow: hidden;
}
.loading-logo::after {
content: '';
position: absolute
Open service 64.29.17.65:80 · arka.ribesa.pt
2025-12-21 12:52
HTTP/1.0 308 Permanent Redirect Content-Type: text/plain Location: https://arka.ribesa.pt/ Refresh: 0;url=https://arka.ribesa.pt/ server: Vercel Redirecting...
Open service 216.198.79.65:80 · arka.ribesa.pt
2025-12-21 12:52
HTTP/1.0 308 Permanent Redirect Content-Type: text/plain Location: https://arka.ribesa.pt/ Refresh: 0;url=https://arka.ribesa.pt/ server: Vercel Redirecting...
Open service 216.198.79.1:443 · arka.ribesa.pt
2025-12-21 00:22
HTTP/1.1 200 OK
Accept-Ranges: bytes
Access-Control-Allow-Origin: *
Age: 116753
Cache-Control: public, max-age=0, must-revalidate
Content-Disposition: inline
Content-Length: 18050
Content-Type: text/html; charset=utf-8
Date: Sun, 21 Dec 2025 00:22:30 GMT
Etag: "7170c3bc2265f0bab4109dc7e1e6a699"
Last-Modified: Fri, 19 Dec 2025 15:56:37 GMT
Server: Vercel
Strict-Transport-Security: max-age=63072000
X-Content-Type-Options: nosniff
X-Frame-Options: DENY
X-Vercel-Cache: HIT
X-Vercel-Id: sfo1::l5q22-1766276550525-d2a9481ef014
Connection: close
Page title: ARKA • Ribesa Advogados
<!doctype html>
<html lang="pt-PT">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>ARKA • Ribesa Advogados</title>
<!-- PWA Meta Tags -->
<meta name="description" content="Sistema de gestão jurídica - Ribesa Advogados" />
<meta name="theme-color" content="#2563eb" />
<meta name="mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="default" />
<meta name="apple-mobile-web-app-title" content="ARKA" />
<meta name="msapplication-TileColor" content="#2563eb" />
<meta name="msapplication-config" content="/browserconfig.xml" />
<!-- Icons and Manifest -->
<link rel="icon" type="image/x-icon" href="/favicon.ico" />
<link rel="manifest" href="/manifest.json" />
<link rel="apple-touch-icon" href="/icon-apple-touch.png" />
<link rel="icon" type="image/png" sizes="192x192" href="/icon-192.png" />
<link rel="icon" type="image/png" sizes="512x512" href="/icon-512.png" />
<!-- Preconnect to external services -->
<link rel="preconnect" href="https://htuzgqlxmkggjpfrohbe.supabase.co" />
<link rel="dns-prefetch" href="https://htuzgqlxmkggjpfrohbe.supabase.co" />
<style>
/* Modern Loading screen styles */
#loading-screen {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: linear-gradient(135deg, #0F172A 0%, #1E3A8A 30%, #0F172A 70%, #1E293B 100%);
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
color: white;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
z-index: 9999;
overflow: hidden;
}
/* Animated background blobs */
.loading-blob {
position: absolute;
border-radius: 50%;
filter: blur(40px);
opacity: 0.3;
animation: float 6s ease-in-out infinite;
}
.loading-blob:nth-child(1) {
width: 300px;
height: 300px;
background: rgba(59, 130, 246, 0.4);
top: 10%;
left: 10%;
animation-delay: 0s;
}
.loading-blob:nth-child(2) {
width: 200px;
height: 200px;
background: rgba(147, 51, 234, 0.4);
bottom: 10%;
right: 10%;
animation-delay: 2s;
}
.loading-blob:nth-child(3) {
width: 250px;
height: 250px;
background: rgba(6, 182, 212, 0.3);
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
animation-delay: 4s;
}
@keyframes float {
0%, 100% { transform: translateY(0px) rotate(0deg); }
33% { transform: translateY(-30px) rotate(1deg); }
66% { transform: translateY(10px) rotate(-1deg); }
}
.loading-card {
position: relative;
z-index: 10;
background: rgba(255, 255, 255, 0.1);
backdrop-filter: blur(20px);
border: 1px solid rgba(255, 255, 255, 0.2);
border-radius: 24px;
padding: 2rem;
box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
text-align: center;
max-width: 400px;
animation: fadeInUp 0.8s ease-out;
}
@keyframes fadeInUp {
from {
opacity: 0;
transform: translateY(30px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
.loading-logo {
width: 80px;
height: 80px;
margin: 0 auto 1.5rem;
background: linear-gradient(135deg, #3B82F6, #9333EA);
border-radius: 20px;
display: flex;
align-items: center;
justify-content: center;
font-size: 2rem;
position: relative;
overflow: hidden;
}
.loading-logo::after {
content: '';
position: absolute