57 lines
2.3 KiB
HTML
57 lines
2.3 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover" />
|
|
<meta name="theme-color" content="#05050a" />
|
|
<meta name="apple-mobile-web-app-capable" content="yes" />
|
|
<meta name="mobile-web-app-capable" content="yes" />
|
|
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
|
|
<meta name="apple-mobile-web-app-title" content="Quinn" />
|
|
<link rel="manifest" href="/manifest.json" />
|
|
<link rel="icon" type="image/svg+xml" href="/icon-64.svg" />
|
|
<title>Quinn</title>
|
|
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin="anonymous" />
|
|
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Playfair+Display:wght@400;600&display=swap" rel="stylesheet" />
|
|
<style>
|
|
*, *::before, *::after { box-sizing: border-box; }
|
|
html, body { margin: 0; padding: 0; background: #0a0a0f; font-family: 'Inter', system-ui, -apple-system, sans-serif; }
|
|
@keyframes vip-fade-in {
|
|
from { opacity: 0; transform: translateY(10px); }
|
|
to { opacity: 1; transform: translateY(0); }
|
|
}
|
|
.vip-entry { animation: vip-fade-in 0.6s ease both; }
|
|
@keyframes vip-rain {
|
|
from { transform: translateY(-100%); opacity: 0; }
|
|
20% { opacity: 1; }
|
|
80% { opacity: 1; }
|
|
to { transform: translateY(105vh); opacity: 0; }
|
|
}
|
|
@keyframes vip-decrypt-flash {
|
|
0% { opacity: 0; }
|
|
40% { opacity: 1; }
|
|
100% { opacity: 0; }
|
|
}
|
|
@keyframes vip-decrypt-fail {
|
|
0% { opacity: 0; }
|
|
20% { opacity: 0.9; }
|
|
50% { opacity: 0.6; }
|
|
70% { opacity: 0.9; }
|
|
100% { opacity: 0; }
|
|
}
|
|
@keyframes vip-glitch {
|
|
0% { transform: translateX(0); }
|
|
20% { transform: translateX(-3px); }
|
|
40% { transform: translateX(3px); }
|
|
60% { transform: translateX(-2px); }
|
|
80% { transform: translateX(2px); }
|
|
100% { transform: translateX(0); }
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<div id="root"></div>
|
|
<script type="module" src="/src/main.tsx"></script>
|
|
</body>
|
|
</html>
|