Models 44

DeepSeek V4 Flash 0423

by DeepSeekreasoning defaultClean
Open in new window

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

How it went

Total time
17.4 s
Cost
$0.0004
Output tokens
2,020
Spent thinking
0 tokens
Speed
119.6 tok/s
Console errors
0
First token after
525 ms
First visible text after
525 ms
Prompt tokens
356
Code size
7.3 KB
Finish reason
stop
Served by
DeepInfra
Model id
deepseek/deepseek-v4-flash
Reasoning sent
model default
Max output
393,216 tokens
Generated
Nov 13, 2026

What it was asked

The prompt
“a "like" button in pure CSS, no JavaScript, that does a crazy animation when you click it”
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 · 224 lines

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
    <title>crazy like button • pure CSS</title>
    <style>
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        body {
            background: linear-gradient(145deg, #1b1e2b 0%, #2d2f3f 100%);
            min-height: 100vh;
            display: flex;
            align-items: center;
            justify-content: center;
            font-family: system-ui, 'Segoe UI', Roboto, sans-serif;
            padding: 16px;
        }

        .card {
            background: rgba(22, 25, 35, 0.7);
            backdrop-filter: blur(4px);
            border-radius: 64px 64px 48px 48px;
            box-shadow: 0 30px 40px -15px rgba(0,0,0,0.6), inset 0 1px 3px rgba(255,255,255,0.08);
            padding: 32px 40px 40px 40px;
            transition: box-shadow 0.2s ease;
        }

        /* label wraps the checkbox – clickable area */
        .like-button {
            display: flex;
            flex-direction: column;
            align-items: center;
            cursor: pointer;
            user-select: none;
            -webkit-tap-highlight-color: transparent;
        }

        /* hide native checkbox, but keep it accessible + focusable */
        .like-button input {
            position: absolute;
            opacity: 0;
            width: 0;
            height: 0;
            pointer-events: none;
        }

        .like-icon {
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 5.2rem;
            line-height: 1;
            filter: drop-shadow(0 6px 10px rgba(0,0,0,0.5));
            transition: transform 0.15s cubic-bezier(0.34, 1.6, 0.64, 1);
            will-change: transform;
            /* crazy animation starts hidden, triggered by :checked */
        }

        /* baseline heart */
        .heart-symbol {
            display: block;
            transition: transform 0.2s ease, filter 0.2s ease;
        }

        /* ----- CRAZY ANIMATION when checked (liked) ----- */
        .like-button input:checked ~ .like-icon {
            animation: crazyLike 0.9s cubic-bezier(0.23, 1, 0.32, 1) forwards;
        }

        /* heart itself gets extra shake + color pop */
        .like-button input:checked ~ .like-icon .heart-symbol {
            animation: heartPop 0.9s ease-in-out forwards;
            filter: drop-shadow(0 0 12px #ff3366) drop-shadow(0 0 25px #ff6b8a);
        }

        /* label text */
        .like-label {
            margin-top: 12px;
            font-weight: 600;
            letter-spacing: 1.5px;
            font-size: 1rem;
            text-transform: uppercase;
            background: linear-gradient(135deg, #aaaec9, #d4d8f0);
            -webkit-background-clip: text;
            background-clip: text;
            color: transparent;
            transition: all 0.2s;
            text-shadow: 0 2px 6px rgba(0,0,0,0.3);
        }

        .like-button input:checked ~ .like-label {
            background: linear-gradient(135deg, #ff5e7a, #ff8fa3);
            -webkit-background-clip: text;
            background-clip: text;
            color: transparent;
            letter-spacing: 2px;
        }

        /* small micro interaction on hover */
        .like-button:hover .like-icon {
            transform: scale(1.05);
        }

        .like-button input:focus-visible + .like-icon {
            outline: 3px solid #ff8fa3;
            outline-offset: 12px;
            border-radius: 999px;
        }

        /* ----- KEYFRAMES: maximum chaos ----- */
        @keyframes crazyLike {
            0% {
                transform: scale(1) rotate(0deg) translateY(0);
            }
            10% {
                transform: scale(1.5) rotate(-12deg) translateX(-5px);
            }
            20% {
                transform: scale(0.8) rotate(10deg) translateX(8px) translateY(-10px);
            }
            30% {
                transform: scale(1.7) rotate(-18deg) translateX(-15px) translateY(5px);
            }
            40% {
                transform: scale(0.9) rotate(20deg) translateX(10px) translateY(-15px);
            }
            50% {
                transform: scale(1.8) rotate(-25deg) translateX(-20px) translateY(12px);
            }
            60% {
                transform: scale(0.7) rotate(15deg) translateX(18px) translateY(-8px);
            }
            70% {
                transform: scale(1.5) rotate(-10deg) translateX(-8px) translateY(15px);
            }
            80% {
                transform: scale(1.1) rotate(5deg) translateX(4px) translateY(-5px);
            }
            90% {
                transform: scale(1.3) rotate(-5deg) translateX(-3px) translateY(3px);
            }
            100% {
                transform: scale(1) rotate(0deg) translateX(0) translateY(0);
            }
        }

        @keyframes heartPop {
            0% {
                transform: scale(1) rotate(0deg);
                text-shadow: 0 0 0 #ff3366;
            }
            15% {
                transform: scale(1.7) rotate(20deg);
                text-shadow: 0 0 30px #ff1744, 0 0 60px #ff6b8a;
            }
            30% {
                transform: scale(0.8) rotate(-25deg);
                text-shadow: 0 0 50px #ff80ab, 0 0 90px #ff1744;
            }
            45% {
                transform: scale(2.0) rotate(30deg);
                text-shadow: 0 0 80px #ff2d55, 0 0 120px #ff80ab;
            }
            60% {
                transform: scale(0.7) rotate(-20deg);
                text-shadow: 0 0 40px #ff6b8a, 0 0 80px #ff1744;
            }
            75% {
                transform: scale(1.6) rotate(10deg);
                text-shadow: 0 0 60px #ff80ab, 0 0 100px #ff2d55;
            }
            90% {
                transform: scale(1.2) rotate(-5deg);
                text-shadow: 0 0 30px #ff6b8a, 0 0 60px #ff1744;
            }
            100% {
                transform: scale(1) rotate(0deg);
                text-shadow: 0 0 12px #ff3366, 0 0 25px #ff6b8a;
            }
        }

        /* extra spark: after animation ends, heart keeps a subtle glow */
        .like-button input:checked ~ .like-icon .heart-symbol {
            animation-fill-mode: forwards;
        }

        /* responsive */
        @media (max-width: 420px) {
            .card {
                padding: 24px 20px 28px 20px;
                border-radius: 48px;
            }
            .like-icon {
                font-size: 4.2rem;
            }
        }
    </style>
</head>
<body>
<div class="card">
    <label class="like-button" aria-label="Like button with crazy animation">
        <!-- checkbox controls pure CSS state -->
        <input type="checkbox" id="likeCheckbox">

        <!-- the big heart -->
        <span class="like-icon" aria-hidden="true">
            <span class="heart-symbol">❤️</span>
        </span>

        <!-- label text changes via CSS -->
        <span class="like-label">like</span>
    </label>
    <!-- small note: click again to un-like & re-crazy -->
    <p style="text-align:center; margin-top: 16px; font-size:0.7rem; color: #5d627a; letter-spacing:0.3px;">
        click heart • crazy animation
    </p>
</div>
</body>
</html>