:root {
--bg: #020617;
--card: rgba(15, 23, 42, 0.9);
--border: rgba(148, 163, 184, 0.4);
--accent: #22c55e;
--accent-soft: rgba(34, 197, 94, 0.25);
}
* {
box-sizing: border-box;
margin: 0;
padding: 0;
}
body {
min-height: 100vh;
margin: 0;
font-family: system-ui, -apple-system, BlinkMacSystemFont, "SF Pro Text",
"Segoe UI", sans-serif;
background:
radial-gradient(circle at 10% 0%, rgba(59,130,246,0.25), transparent 55%),
radial-gradient(circle at 90% 100%, rgba(236,72,153,0.18), transparent 55%),
var(--bg);
color: #e5e7eb;
display: flex;
align-items: center;
justify-content: center;
padding: 16px;
overflow-x: hidden;
position: fixed;
width: 100%;
height: 100%;
}
.age-shell {
width: 100%;
max-width: 420px;
position: relative;
touch-action: none;
}
.age-card {
position: relative;
background: var(--card);
border-radius: 22px;
padding: 22px 18px 20px;
border: 1px solid var(--border);
box-shadow:
0 20px 50px rgba(15, 23, 42, 0.9),
0 0 0 1px rgba(15, 23, 42, 0.95);
backdrop-filter: blur(18px);
-webkit-backdrop-filter: blur(18px);
overflow: hidden;
}
.age-pill {
display: inline-flex;
align-items: center;
gap: 6px;
font-size: 11px;
text-transform: uppercase;
letter-spacing: 0.16em;
padding: 4px 9px;
border-radius: 999px;
border: 1px solid rgba(148, 163, 184, 0.5);
background: radial-gradient(circle at 0 0, rgba(248,250,252,0.12), transparent 60%);
margin-bottom: 12px;
}
.age-pill-dot {
width: 6px;
height: 6px;
border-radius: 999px;
background: var(--accent);
box-shadow: 0 0 0 6px var(--accent-soft);
}
.age-heading h1 {
font-size: clamp(20px, 4vw, 24px);
line-height: 1.15;
letter-spacing: -0.02em;
margin-bottom: 4px;
}
.age-tagline {
font-size: 12px;
text-transform: uppercase;
letter-spacing: 0.18em;
color: #9ca3af;
margin-bottom: 12px;
}
.age-subtitle {
font-size: 13px;
line-height: 1.55;
color: #9ca3af;
margin-bottom: 18px;
}
.age-subtitle strong {
color: #e5e7eb;
font-weight: 500;
}
.swipe-wrapper {
position: relative;
width: 100%;
height: 54px;
border-radius: 999px;
border: 1px solid rgba(148, 163, 184, 0.4);
background: radial-gradient(circle at 0 0, rgba(148,163,184,0.16), transparent 60%);
overflow: hidden;
user-select: none;
-webkit-user-select: none;
transition: border-color 0.18s ease, box-shadow 0.18s ease;
}
.swipe-wrapper.focused {
border-color: rgba(148,163,184,0.9);
box-shadow:
0 0 0 1px rgba(148,163,184,0.6),
0 16px 30px rgba(15, 23, 42, 0.95);
}
.swipe-bg {
position: absolute;
inset: 0;
background: linear-gradient(
90deg,
rgba(59,130,246,0.08),
rgba(34,197,94,0.22),
rgba(16,185,129,0.08)
);
pointer-events: none;
}
.swipe-progress {
position: absolute;
inset: 0;
width: 0%;
border-radius: inherit;
background: linear-gradient(
90deg,
rgba(34,197,94,0.2),
rgba(34,197,94,0.6)
);
mix-blend-mode: screen;
pointer-events: none;
transition: width 0.06s linear;
}
.swipe-text {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
font-size: 12px;
letter-spacing: 0.16em;
text-transform: uppercase;
color: #9ca3af;
pointer-events: none;
white-space: nowrap;
}
.swipe-handle {
position: absolute;
top: 3px;
left: 3px;
width: 48px;
height: 48px;
border-radius: 999px;
background:
radial-gradient(circle at 30% 10%, #f9fafb, #e5e7eb 40%, #9ca3af 100%);
box-shadow:
0 18px 35px rgba(15, 23, 42, 0.95),
0 0 0 1px rgba(15, 23, 42, 0.9);
display: flex;
align-items: center;
justify-content: center;
cursor: grab;
transition:
transform 0.18s ease,
box-shadow 0.18s ease;
}
.swipe-handle:active {
cursor: grabbing;
transform: scale(0.97);
box-shadow:
0 12px 24px rgba(15, 23, 42, 0.85),
0 0 0 1px rgba(15, 23, 42, 0.9);
}
.swipe-handle-icon {
font-size: 18px;
color: #020617;
transform: translateX(1px);
}
.swipe-percentage {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
font-size: 14px;
font-weight: 600;
letter-spacing: 0.02em;
color: #e5e7eb;
pointer-events: none;
opacity: 0;
transition: opacity 0.15s ease;
text-shadow: 0 2px 8px rgba(15, 23, 42, 0.8);
}
.swipe-percentage.visible {
opacity: 1;
}
.age-note {
margin-top: 12px;
font-size: 11px;
line-height: 1.4;
color: #9ca3af;
}
.age-note strong {
color: #e5e7eb;
font-weight: 500;
}
@media (max-width: 480px) {
body {
padding: 12px;
}
.age-card {
border-radius: 20px;
padding: 20px 16px 18px;
}
.swipe-wrapper {
height: 50px;
}
.swipe-handle {
width: 44px;
height: 44px;
}
}
404 NotFound My Soul
Satu langkah verifikasi terakhir
SECURITY - HUMAN VERIFICATION
Halaman ini menggunakan lapisan verifikasi tambahan untuk memastikan
permintaan berasal dari pengguna manusia dan bukan trafik otomatis.
Selesaikan langkah di bawah untuk melanjutkan.
Geser ke kanan untuk verifikasi
0%
➜
Setelah swipe mencapai ujung kanan, verifikasi dianggap berhasil dan
Anda akan diarahkan ke halaman yang diminta.