leukemia / templates /index.html
filmm's picture
Upload 3 files
896f826 verified
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>WhiteCell.AI – AI BIO LAB INTERFACE</title>
<link href="https://fonts.googleapis.com/css2?family=Orbitron:wght@600&display=swap" rel="stylesheet">
<style>
body {
margin: 0;
font-family: 'Orbitron', sans-serif;
background: radial-gradient(ellipse at center, #050b14 0%, #000000 100%);
color: #e0f2ff;
overflow-x: hidden;
}
header {
display: flex;
justify-content: space-between;
align-items: center;
padding: 1rem 2rem;
background: rgba(2, 6, 17, 0.3); /* ใสกว่าของเดิม */
backdrop-filter: blur(10px); /* เพิ่มเบลอ */
box-shadow: 0 0 15px rgba(0, 238, 255, 0.1); /* เรืองแสงเบา ๆ */
border-bottom: 1px solid rgba(0, 255, 255, 0.05);
}
.logo {
font-size: 1.5rem;
color: #00d9ff;
display: flex;
align-items: center;
}
nav a {
color: #8eefff;
margin-left: 1.5rem;
text-decoration: none;
transition: 0.3s;
}
nav a:hover {
color: #ffffff;
text-shadow: 0 0 10px #00eaff;
}
main {
text-align: center;
padding: 6rem 2rem 4rem;
}
h1 {
font-size: 2.5rem;
margin-bottom: 1rem;
text-shadow: 0 0 20px #00eaff;
}
.btn-launch {
padding: 1rem 2rem;
border: none;
background: #00bfff;
color: white;
font-size: 1.2rem;
border-radius: 1rem;
cursor: pointer;
box-shadow: 0 0 20px #00eaff;
transition: transform 0.3s, box-shadow 0.3s;
text-decoration: none; /* ✅ สำคัญ: ลบเส้นใต้ */
display: inline-block; /* ✅ ให้ปุ่มมีขนาดตามเนื้อหา */
}
.btn-launch:hover {
transform: scale(1.05);
box-shadow: 0 0 30px #00eaff;
}
.background-animation {
position: fixed;
top: 0;
left: 0;
width: 100vw;
height: 100vh;
background: radial-gradient(circle at 30% 30%, #0a1628 0%, #020611 100%);
z-index: -1;
overflow: hidden;
}
#stars div {
position: absolute;
width: 2px;
height: 2px;
background-color: rgba(255, 255, 255, 0.8);
border-radius: 50%;
animation: twinkle 4s infinite ease-in-out;
}
nav a {
position: relative;
color: #8eefff;
margin-left: 1.5rem;
text-decoration: none;
transition: 0.3s;
}
nav a::after {
content: "";
position: absolute;
width: 0%;
height: 2px;
bottom: -4px;
left: 0;
background: #00eaff;
box-shadow: 0 0 8px #00eaff;
transition: width 0.3s ease;
}
nav a:hover::after {
width: 100%;
}
.logo:hover {
animation: glitch 0.5s infinite;
text-shadow: 0 0 5px #0ff, 0 0 10px #0ff;
}
@keyframes glitch {
0% { transform: translate(0); }
20% { transform: translate(-1px, 1px); }
40% { transform: translate(1px, -1px); }
60% { transform: translate(-1px, -1px); }
80% { transform: translate(1px, 1px); }
100% { transform: translate(0); }
}
@keyframes twinkle {
0%, 100% {
opacity: 0.2;
transform: scale(1);
}
50% {
opacity: 1;
transform: scale(1.4);
}
}
@keyframes pulse-bg {
from { background-position: 0 0; }
to { background-position: 40px 40px; }
}
.scene {
width: 300px;
height: 300px;
perspective: 1000px;
margin: 0 auto 2rem;
}
.dna {
width: 100%;
height: 100%;
position: relative;
transform-style: preserve-3d;
animation: rotate 12s linear infinite;
}
.pair {
position: absolute;
top: 50%;
left: 50%;
transform-style: preserve-3d;
}
.ball {
width: 14px;
height: 14px;
border-radius: 50%;
background: rgba(0, 255, 255, 0.9);
box-shadow: 0 0 10px rgba(0, 255, 255, 0.8);
position: absolute;
}
.connector {
width: 60px;
height: 2px;
background: linear-gradient(to right, rgba(0,255,255,0.6), rgba(255,255,255,0.2), rgba(0,255,255,0.6));
position: absolute;
top: 6px;
left: -30px;
transform-origin: center;
}
@keyframes rotate {
0% { transform: rotateY(0deg); }
100% { transform: rotateY(360deg); }
}
</style>
</head>
<body>
<!-- ✅ พื้นหลัง + จุดแสง -->
<div class="background-animation">
<div id="stars"></div>
</div>
<header>
<div class="logo">🧬 WhiteCell.AI</div>
<nav>
<a href="/upload" class="btn btn-primary">Upload</a>
<a href="#scan">Scan</a>
<a href="#results">Results</a>
<a href="#assistant">Assistant</a>
</nav>
</header>
<main>
<div class="scene">
<div class="dna" id="dna"></div>
</div>
<h1>AI-Powered Blood Cell Detection</h1>
<a href="/upload" class="btn-launch">🧬 Launch AI Scan</a>
</main>
<script>
const dna = document.getElementById('dna');
const pairs = 40;
for (let i = 0; i < pairs; i++) {
const pair = document.createElement('div');
pair.className = 'pair';
const angle = (i / pairs) * 360;
const y = (i - pairs / 2) * 8;
pair.style.transform = `rotateY(${angle}deg) translateZ(120px) translateY(${y}px)`;
const ball1 = document.createElement('div');
ball1.className = 'ball';
ball1.style.left = '-40px';
const ball2 = document.createElement('div');
ball2.className = 'ball';
ball2.style.left = '40px';
const connector = document.createElement('div');
connector.className = 'connector';
connector.style.transform = `rotate(${i % 2 === 0 ? 30 : -30}deg)`;
pair.appendChild(ball1);
pair.appendChild(ball2);
pair.appendChild(connector);
dna.appendChild(pair);
}
// ✅ จุดแสงแบบดาว
const starsContainer = document.getElementById('stars');
for (let i = 0; i < 100; i++) {
const star = document.createElement('div');
star.style.top = Math.random() * 100 + 'vh';
star.style.left = Math.random() * 100 + 'vw';
const size = (Math.random() * 1.5 + 1);
star.style.width = size + 'px';
star.style.height = size + 'px';
star.style.animationDuration = (Math.random() * 4 + 3) + 's';
starsContainer.appendChild(star);
}
</script>
</body>
</html>