Models 44

Claude Haiku 4.5

by AnthropicReasoningClean
Open in new window

Running live in a sandboxed frame. Click inside it before using the keyboard.

How it went

Total time
14.2 s
Cost
$0.022
Output tokens
4,349
Spent thinking
323 tokens
Speed
324.6 tok/s
Console errors
0
First token after
836 ms
First visible text after
2.6 s
Prompt tokens
412
Code size
12.8 KB
Finish reason
stop
Served by
Amazon Bedrock
Model id
anthropic/claude-haiku-4.5
Reasoning sent
{"enabled":true}
Max output
64,000 tokens
Generated
Nov 10, 2026

What it was asked

The prompt
“i'm opening a korean taco food truck called "Kimchi Loco", make me a website that makes people really want to come”
System prompt, sent with every prompt
You are generating a self-contained web demo. It will be rendered automatically in a sandboxed iframe and compared side by side with the output of other AI models given the exact same task.

Output rules:
- Reply with exactly ONE fenced code block containing the complete file: ```html (or ```svg when the task asks for an SVG). No text before or after the code block.
- Everything must be inline: CSS in <style>, JavaScript in <script>. No external files, images, fonts or network requests, except the CDN URLs explicitly allowed by the task.
- Do not use localStorage, sessionStorage, cookies, IndexedDB, alert(), confirm(), prompt() or window.open(): they are blocked in the sandbox and will throw.
- The page must look right in a 1280×800 viewport and adapt gracefully down to 375px wide. No horizontal scrollbar.
- Something meaningful must be visible on first paint: a screenshot is taken automatically about 3 seconds after load, without any interaction.
- Everything that makes the demo interesting must be visible within the first seconds: nothing hidden behind a high score, a later level or a long play session.
- Games must start in a self-playing demo mode (a simple AI plays) behind a "Click or press a key to start" message, so the game can be judged in action without playing.
- The iframe only receives keyboard events after the user clicks it: if the demo uses the keyboard, display a clear "Click or press a key to start" message.
- The code must run with zero errors in the console of the latest Chrome.

Code run-1.html · 488 lines

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Kimchi Loco - Korean Taco Food Truck</title>
    <link href="https://fonts.googleapis.com/css2?family=Playfair+Display:wght@700&family=Poppins:wght@300;400;600;700&display=swap" rel="stylesheet">
    <style>
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        body {
            font-family: 'Poppins', sans-serif;
            color: #333;
            line-height: 1.6;
            overflow-x: hidden;
        }

        /* Header */
        header {
            background: linear-gradient(135deg, #c60c30 0%, #c60c30 50%, #dc143c 100%);
            color: white;
            padding: 1rem;
            position: sticky;
            top: 0;
            z-index: 100;
            box-shadow: 0 2px 10px rgba(0,0,0,0.2);
        }

        nav {
            max-width: 1200px;
            margin: 0 auto;
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        .logo {
            font-size: 1.8rem;
            font-weight: 700;
            letter-spacing: 2px;
            display: flex;
            align-items: center;
            gap: 0.5rem;
        }

        .logo-emoji {
            font-size: 2rem;
        }

        nav ul {
            list-style: none;
            display: flex;
            gap: 2rem;
            flex-wrap: wrap;
        }

        nav a {
            color: white;
            text-decoration: none;
            font-weight: 500;
            transition: opacity 0.3s;
        }

        nav a:hover {
            opacity: 0.8;
        }

        /* Hero Section */
        .hero {
            background: linear-gradient(135deg, #c60c30 0%, #1e3a8a 100%);
            color: white;
            padding: 4rem 1rem;
            text-align: center;
            animation: fadeIn 1s ease-in;
        }

        @keyframes fadeIn {
            from {
                opacity: 0;
            }
            to {
                opacity: 1;
            }
        }

        .hero h1 {
            font-family: 'Playfair Display', serif;
            font-size: 3.5rem;
            margin-bottom: 1rem;
            text-shadow: 2px 2px 4px rgba(0,0,0,0.3);
            animation: slideDown 0.8s ease-out;
        }

        @keyframes slideDown {
            from {
                transform: translateY(-30px);
                opacity: 0;
            }
            to {
                transform: translateY(0);
                opacity: 1;
            }
        }

        .hero p {
            font-size: 1.3rem;
            margin-bottom: 2rem;
            font-weight: 300;
            animation: slideUp 0.8s ease-out 0.2s both;
        }

        @keyframes slideUp {
            from {
                transform: translateY(30px);
                opacity: 0;
            }
            to {
                transform: translateY(0);
                opacity: 1;
            }
        }

        .cta-button {
            display: inline-block;
            background: white;
            color: #c60c30;
            padding: 1rem 2rem;
            border-radius: 50px;
            font-weight: 700;
            text-decoration: none;
            font-size: 1.1rem;
            transition: transform 0.3s, box-shadow 0.3s;
            animation: slideUp 0.8s ease-out 0.4s both;
            border: none;
            cursor: pointer;
        }

        .cta-button:hover {
            transform: translateY(-3px);
            box-shadow: 0 10px 25px rgba(0,0,0,0.2);
        }

        /* Menu Section */
        .menu {
            max-width: 1200px;
            margin: 4rem auto;
            padding: 2rem;
        }

        .section-title {
            font-family: 'Playfair Display', serif;
            font-size: 2.5rem;
            text-align: center;
            margin-bottom: 3rem;
            color: #c60c30;
        }

        .menu-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
            gap: 2rem;
            margin-bottom: 3rem;
        }

        .menu-item {
            background: white;
            border-radius: 10px;
            overflow: hidden;
            box-shadow: 0 4px 15px rgba(0,0,0,0.1);
            transition: transform 0.3s, box-shadow 0.3s;
            cursor: pointer;
            animation: fadeInUp 0.6s ease-out forwards;
        }

        @keyframes fadeInUp {
            from {
                opacity: 0;
                transform: translateY(20px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        .menu-item:nth-child(1) { animation-delay: 0s; }
        .menu-item:nth-child(2) { animation-delay: 0.1s; }
        .menu-item:nth-child(3) { animation-delay: 0.2s; }
        .menu-item:nth-child(4) { animation-delay: 0.3s; }

        .menu-item:hover {
            transform: translateY(-5px);
            box-shadow: 0 8px 25px rgba(198, 12, 48, 0.15);
        }

        .menu-item-icon {
            font-size: 3rem;
            padding: 1rem;
            background: linear-gradient(135deg, #c60c30 0%, #ff6b6b 100%);
            text-align: center;
        }

        .menu-item-content {
            padding: 1.5rem;
        }

        .menu-item-content h3 {
            color: #c60c30;
            margin-bottom: 0.5rem;
            font-size: 1.3rem;
        }

        .menu-item-content p {
            color: #666;
            font-size: 0.9rem;
            margin-bottom: 1rem;
        }

        .price {
            font-weight: 700;
            color: #1e3a8a;
            font-size: 1.2rem;
        }

        /* Info Section */
        .info {
            background: #f8f9fa;
            padding: 3rem 1rem;
            margin-top: 3rem;
        }

        .info-container {
            max-width: 1200px;
            margin: 0 auto;
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
            gap: 2rem;
            text-align: center;
        }

        .info-card {
            background: white;
            padding: 2rem;
            border-radius: 10px;
            animation: fadeInUp 0.6s ease-out 0.5s both;
        }

        .info-card-icon {
            font-size: 2.5rem;
            margin-bottom: 1rem;
        }

        .info-card h3 {
            color: #c60c30;
            margin-bottom: 0.5rem;
        }

        .info-card p {
            color: #666;
            font-size: 0.95rem;
        }

        /* Footer */
        footer {
            background: #333;
            color: white;
            text-align: center;
            padding: 2rem;
            margin-top: 3rem;
        }

        .social-links {
            margin-bottom: 1rem;
            font-size: 1.5rem;
            letter-spacing: 1rem;
        }

        /* Responsive */
        @media (max-width: 768px) {
            .hero h1 {
                font-size: 2.5rem;
            }

            .hero p {
                font-size: 1rem;
            }

            .section-title {
                font-size: 2rem;
            }

            nav ul {
                gap: 1rem;
                font-size: 0.9rem;
            }

            .logo {
                font-size: 1.3rem;
            }
        }

        @media (max-width: 480px) {
            header {
                padding: 0.75rem;
            }

            nav {
                flex-direction: column;
                gap: 1rem;
            }

            nav ul {
                gap: 0.5rem;
                font-size: 0.8rem;
                justify-content: center;
            }

            .hero h1 {
                font-size: 2rem;
            }

            .hero p {
                font-size: 0.9rem;
            }

            .section-title {
                font-size: 1.5rem;
            }

            .menu-grid {
                gap: 1rem;
            }
        }

        .pulse {
            animation: pulse 2s infinite;
        }

        @keyframes pulse {
            0%, 100% {
                opacity: 1;
            }
            50% {
                opacity: 0.7;
            }
        }
    </style>
</head>
<body>
    <header>
        <nav>
            <div class="logo">
                <span class="logo-emoji">🌶️</span>
                KIMCHI LOCO
            </div>
            <ul>
                <li><a href="#menu">Menu</a></li>
                <li><a href="#location">Location</a></li>
                <li><a href="#contact">Contact</a></li>
            </ul>
        </nav>
    </header>

    <section class="hero">
        <h1>KIMCHI LOCO</h1>
        <p>Korean Fusion Tacos That'll Blow Your Mind 🔥</p>
        <button class="cta-button">Find Us Today</button>
    </section>

    <section class="menu" id="menu">
        <h2 class="section-title">Our Signature Tacos</h2>
        <div class="menu-grid">
            <div class="menu-item">
                <div class="menu-item-icon">🌮</div>
                <div class="menu-item-content">
                    <h3>Gochujang Beef</h3>
                    <p>Spicy gochujang marinated beef, crispy gochugaru onions, kimchi slaw, Korean mayo</p>
                    <div class="price">$5.99</div>
                </div>
            </div>

            <div class="menu-item">
                <div class="menu-item-icon">🐔</div>
                <div class="menu-item-content">
                    <h3>Korean Fried Chicken</h3>
                    <p>Crispy double-fried chicken, sweet garlic soy glaze, pickled radish, sesame</p>
                    <div class="price">$6.49</div>
                </div>
            </div>

            <div class="menu-item">
                <div class="menu-item-icon">🐙</div>
                <div class="menu-item-content">
                    <h3>Spicy Squid</h3>
                    <p>Tender squid in spicy gochujang, lime, cilantro, crispy garlic chips</p>
                    <div class="price">$7.99</div>
                </div>
            </div>

            <div class="menu-item">
                <div class="menu-item-icon">🥬</div>
                <div class="menu-item-content">
                    <h3>Kimchi Veggie</h3>
                    <p>Crispy tofu, kimchi, cucumber, avocado, sriracha aioli, edamame</p>
                    <div class="price">$5.49</div>
                </div>
            </div>
        </div>
    </section>

    <section class="info" id="location">
        <div class="info-container">
            <div class="info-card">
                <div class="info-card-icon">📍</div>
                <h3>Find Us</h3>
                <p>Downtown Food Truck Court<br>Every Tue-Sun, 11am-10pm</p>
            </div>

            <div class="info-card">
                <div class="info-card-icon">⏰</div>
                <h3>Hours</h3>
                <p>Tue-Thu: 11am-9pm<br>Fri-Sun: 11am-11pm<br>Closed Mondays</p>
            </div>

            <div class="info-card">
                <div class="info-card-icon">📱</div>
                <h3 id="contact">Contact</h3>
                <p>(555) 123-TACO<br>@KimchiLoco</p>
            </div>
        </div>
    </section>

    <footer>
        <div class="social-links">
            🌶️ 🍜 🔥
        </div>
        <p>&copy; 2024 Kimchi Loco. Fueling spicy dreams one taco at a time.</p>
    </footer>

    <script>
        // Smooth scrolling for navigation links
        document.querySelectorAll('a[href^="#"]').forEach(anchor => {
            anchor.addEventListener('click', function(e) {
                e.preventDefault();
                const target = document.querySelector(this.getAttribute('href'));
                if (target) {
                    target.scrollIntoView({ behavior: 'smooth' });
                }
            });
        });

        // Add interactive effect on menu items
        document.querySelectorAll('.menu-item').forEach(item => {
            item.addEventListener('mouseenter', function() {
                this.style.animation = 'none';
                setTimeout(() => {
                    this.style.filter = 'brightness(1.05)';
                }, 1);
            });
            item.addEventListener('mouseleave', function() {
                this.style.filter = 'brightness(1)';
            });
        });

        // Animate elements on scroll
        const observerOptions = {
            threshold: 0.1,
            rootMargin: '0px 0px -50px 0px'
        };

        const observer = new IntersectionObserver((entries) => {
            entries.forEach(entry => {
                if (entry.isIntersecting) {
                    entry.target.style.animation = 'fadeInUp 0.6s ease-out forwards';
                }
            });
        }, observerOptions);

        document.querySelectorAll('.menu-item, .info-card').forEach(el => {
            observer.observe(el);
        });
    </script>
</body>
</html>
Reasoning trace (323 tokens)
The user wants me to create a website for a Korean taco food truck called "Kimchi Loco". They want it to be appealing and make people want to come.

Key requirements:
1. It's a single HTML file with everything inline
2. Must look good on 1280×800 and down to 375px (responsive)
3. No external files, images, or fonts (except CDN-allowed fonts)
4. Must be engaging and make people want to visit
5. Must have something meaningful visible on first paint

For a food truck website, I should include:
- Attractive branding with the name "Kimchi Loco"
- Eye-catching menu items (Korean tacos)
- Call-to-action (location, hours, contact)
- Beautiful food-focused design
- Maybe some animations to make it more engaging
- Colors that suggest Korean/fusion food (reds, whites, greens for kimchi vibes)

I'll use:
- Google Fonts for nice typography (allowed via CDN)
- A modern, vibrant design
- Smooth animations
- Responsive layout
- Food descriptions that make people hungry

Let me create something visually appealing with:
1. Hero section with the food truck name and tagline
2. Featured menu items with descriptions
3. Location/hours info
4. Social media/contact call-to-action
5. Smooth scrolling and animations