<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>流畅反应速度测试器</title>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Helvetica Neue', sans-serif;
}
body {
display: flex;
justify-content: center;
align-items: center;
min-height: 100vh;
background: linear-gradient(135deg, #1a2a6c, #b21f1f, #fdbb2d);
background-size: 400% 400%;
padding: 20px;
color: #fff;
overflow: auto;
}
.container {
width: 95%;
max-width: 500px;
background: rgba(255, 255, 255, 0.15);
backdrop-filter: blur(30px);
-webkit-backdrop-filter: blur(30px);
border-radius: 28px;
box-shadow: 0 20px 50px rgba(0, 0, 0, 0.3);
overflow: hidden;
border: 1px solid rgba(255, 255, 255, 0.25);
position: relative;
margin: 20px 0;
}
.container::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: linear-gradient(135deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.01));
z-index: -1;
border-radius: 28px;
}
.header {
padding: 35px 30px 25px;
text-align: center;
border-bottom: 1px solid rgba(255, 255, 255, 0.1);
background: rgba(255, 255, 255, 0.1);
backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px);
}
h1 {
font-size: 36px;
font-weight: 800;
color: #fff;
margin-bottom: 10px;
letter-spacing: -0.5px;
text-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
}
.subtitle {
font-size: 18px;
color: rgba(255, 255, 255, 0.8);
font-weight: 500;
margin-bottom: 5px;
}
.content {
padding: 30px;
}
.status-container {
display: flex;
justify-content: space-between;
margin-bottom: 30px;
background: rgba(255, 255, 255, 0.1);
backdrop-filter: blur(20px);
-webkit-backdrop-filter: blur(20px);
border-radius: 20px;
padding: 15px;
border: 1px solid rgba(255, 255, 255, 0.15);
}
.status-item {
text-align: center;
flex: 1;
}
.status-icon {
width: 60px;
height: 60px;
border-radius: 18px;
background: rgba(255, 255, 255, 0.2);
display: flex;
align-items: center;
justify-content: center;
margin: 0 auto 12px;
font-size: 24px;
color: rgba(255, 255, 255, 0.9);
backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px);
border: 1px solid rgba(255, 255, 255, 0.25);
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
transition: all 0.3s ease;
}
.status-icon.active {
background: rgba(255, 255, 255, 0.3);
color: #fff;
box-shadow: 0 5px 20px rgba(255, 255, 255, 0.2);
}
.status-text {
font-size: 15px;
font-weight: 500;
color: rgba(255, 255, 255, 0.8);
}
.reaction-box {
width: 220px;
height: 220px;
background: linear-gradient(135deg, #FF5E62, #FF9966);
margin: 0 auto 35px;
border-radius: 24px;
display: flex;
justify-content: center;
align-items: center;
cursor: pointer;
transition: background-color 0.3s ease, transform 0.1s ease;
box-shadow: 0 20px 40px rgba(255, 94, 98, 0.3);
position: relative;
overflow: hidden;
user-select: none;
backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px);
border: 1px solid rgba(255, 255, 255, 0.25);
}
.reaction-box.green {
background: linear-gradient(135deg, #0cebeb, #20e3b2, #29ffc6);
box-shadow: 0 20px 40px rgba(12, 235, 235, 0.4);
transform: scale(1.05);
}
.reaction-box:active {
transform: scale(0.98);
}
.box-text {
