← back to Model Arena
data/artifacts/145b5d1ed01f/qwen3-14b.html
250 lines
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Design Lookbook</title>
<style>
:root {
--bg: #0d0d0f;
--surface: #17171c;
--text: #f5f2ea;
--muted: #8a8578;
--accent: #c9a961;
--glow-accent: #c9a961;
--card-radius: 14px;
--card-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
--hover-shadow: 0 16px 48px rgba(0, 0, 0, 0.18);
--glow: 0 0 24px rgba(var(--accent), 0.35);
--spacing: 4px 8px 12px 16px 24px 32px 48px 64px 96px 128px;
--font-display: 'Playfair Display', Georgia, serif;
--font-body: -apple-system, 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;
--h1: 67px;
--h2: 50px;
--h3: 38px;
--lead: 21px;
--body: 16px;
--caption: 12px;
}
* {
box-sizing: border-box;
}
body {
margin: 0;
padding: 0;
font-family: var(--font-body);
background: var(--bg);
color: var(--text);
line-height: 1.6;
overflow-x: hidden;
}
.top-bar {
position: fixed;
top: 0;
left: 0;
right: 0;
height: 64px;
background: var(--surface);
display: flex;
align-items: center;
padding-left: 32px;
font-family: var(--font-display);
font-size: var(--h3);
letter-spacing: 0.18em;
text-transform: uppercase;
color: var(--text);
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.carousel {
position: relative;
height: 100vh;
max-height: 100vh;
overflow: hidden;
display: flex;
align-items: center;
justify-content: center;
padding-top: 64px;
}
.slide {
display: none;
flex-direction: column;
align-items: center;
justify-content: center;
width: 100%;
height: 100%;
background: var(--surface);
text-align: center;
padding: 64px 32px;
font-family: var(--font-body);
transition: all 0.3s ease;
}
.slide.active {
display: flex;
}
.slide h1 {
font-size: var(--h1);
font-family: var(--font-display);
margin-bottom: 32px;
letter-spacing: 0.15em;
text-transform: uppercase;
color: var(--text);
text-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
}
.slide .pattern {
width: 200px;
height: 100px;
background: repeating-linear-gradient(
45deg,
var(--accent),
var(--accent) 20px,
var(--muted) 20px,
var(--muted) 40px
);
margin-bottom: 32px;
border: 1px solid rgba(255, 255, 255, 0.05);
box-shadow: var(--card-shadow);
border-radius: var(--card-radius);
}
.slide .room {
width: 100%;
max-width: 600px;
height: 300px;
background: url('https://source.unsplash.com/600x300/?interior,design') no-repeat center center;
background-size: cover;
margin-bottom: 24px;
border: 1px solid rgba(255, 255, 255, 0.05);
box-shadow: var(--card-shadow);
border-radius: var(--card-radius);
}
.slide .note {
font-size: var(--body);
color: var(--muted);
margin-bottom: 48px;
}
.slide .cta {
font-size: var(--h2);
font-family: var(--font-display);
margin-top: 32px;
text-transform: uppercase;
letter-spacing: 0.15em;
color: var(--accent);
text-shadow: var(--glow);
transition: transform 0.2s ease;
}
.slide .cta:hover {
transform: scale(1.05);
}
.dots {
position: absolute;
bottom: 32px;
left: 50%;
transform: translateX(-50%);
display: flex;
gap: 16px;
}
.dot {
width: 12px;
height: 12px;
background: var(--muted);
border-radius: 50%;
cursor: pointer;
transition: background 0.2s ease;
}
.dot.active {
background: var(--accent);
}
@keyframes fadeUp {
from {
opacity: 0;
transform: translateY(28px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
.fade-up {
animation: fadeUp 0.7s cubic-bezier(0.22, 1, 0.36, 1) both;
}
</style>
</head>
<body>
<div class="top-bar">DESIGNER WALLCOVERINGS</div>
<div class="carousel" id="carousel">
<div class="slide active fade-up">
<h1>GRANDMILLIONAIRE</h1>
<div class="pattern"></div>
<div class="room"></div>
<div class="note">Opulent textures meet refined restraint.</div>
</div>
<div class="slide fade-up">
<div class="pattern" style="background: repeating-linear-gradient(45deg, #c9a961, #c9a961 20px, #8a8578 20px, #8a8578 40px)"></div>
<div class="room" style="background: url('https://source.unsplash.com/600x300/?antique,design') no-repeat center center;"></div>
<div class="note">A blend of heirloom craftsmanship and modern minimalism.</div>
</div>
<div class="slide fade-up">
<div class="pattern" style="background: repeating-linear-gradient(45deg, #c9a961, #c9a961 20px, #8a8578 20px, #8a8578 40px)"></div>
<div class="room" style="background: url('https://source.unsplash.com/600x300/?luxury,interior') no-repeat center center;"></div>
<div class="note">Statement fabrics in a timeless, elegant palette.</div>
</div>
<div class="slide fade-up">
<div class="cta">EXPLORE MORE</div>
</div>
</div>
<div class="dots" id="dots">
<div class="dot active" data-index="0"></div>
<div class="dot" data-index="1"></div>
<div class="dot" data-index="2"></div>
<div class="dot" data-index="3"></div>
</div>
<script>
const slides = document.querySelectorAll('.slide');
const dots = document.querySelectorAll('.dot');
let currentSlide = 0;
function updateSlides(index) {
slides.forEach((slide, i) => {
slide.classList.remove('active');
if (i === index) {
slide.classList.add('active');
}
});
dots.forEach((dot, i) => {
dot.classList.toggle('active', i === index);
});
}
dots.forEach(dot => {
dot.addEventListener('click', () => {
const index = parseInt(dot.getAttribute('data-index'));
currentSlide = index;
updateSlides(index);
});
});
function autoSlide() {
currentSlide = (currentSlide + 1) % slides.length;
updateSlides(currentSlide);
}
setInterval(autoSlide, 8000);
</script>
</body>
</html>