Exploding like buttonOne-line
Muse Ember
by MetaReasoningClean
Running live in a sandboxed frame. Click inside it before using the keyboard.
How it went
- Total time
- 10.9 s
- Cost
- $0.0034
- Output tokens
- 6,682
- Spent thinking
- 1,214 tokens
- Speed
- 750.5 tok/s
- Console errors
- 0
- First token after
- 2.0 s
- First visible text after
- 4.3 s
- Prompt tokens
- 374
- Code size
- 14.6 KB
- Finish reason
- stop
- Served by
- Meta
- Model id
meta/muse-ember- Reasoning sent
{"effort":"low"}- Max output
- 943,718 tokens
- Generated
- Nov 12, 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 · 198 lines
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>LIKE — Pure CSS Crazy Button</title>
<style>
*{margin:0;padding:0;box-sizing:border-box}
html,body{height:100%}
body{
font-family:ui-rounded,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
background:linear-gradient(135deg,#12002b 0%,#3a0a5e 38%,#8b0f4d 72%,#ff2d78 100%);
color:#fff;overflow-x:hidden;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;
padding:28px 18px 34px;position:relative;
}
body:has(#likeMain:checked){animation:hue 1.2s ease-in-out infinite alternate}
@keyframes hue{from{filter:hue-rotate(0deg) saturate(1.2)}to{filter:hue-rotate(38deg) saturate(1.7)}}
/* floating background hearts */
.bg{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:0}
.bg span{position:absolute;color:#ff6b9d;opacity:.16;animation:floatUp linear infinite;line-height:1}
.bg span:nth-child(1){left:6%;top:110%;font-size:42px;animation-duration:11s}
.bg span:nth-child(2){left:16%;top:110%;font-size:22px;animation-duration:8s;animation-delay:-3s}
.bg span:nth-child(3){left:28%;top:110%;font-size:60px;animation-duration:14s;animation-delay:-7s}
.bg span:nth-child(4){left:48%;top:110%;font-size:28px;animation-duration:9s;animation-delay:-2s}
.bg span:nth-child(5){left:66%;top:110%;font-size:52px;animation-duration:12s;animation-delay:-9s}
.bg span:nth-child(6){left:82%;top:110%;font-size:24px;animation-duration:7s;animation-delay:-4s}
.bg span:nth-child(7){left:92%;top:110%;font-size:44px;animation-duration:13s;animation-delay:-6s}
.bg span:nth-child(8){left:38%;top:110%;font-size:18px;animation-duration:6s;animation-delay:-1s}
@keyframes floatUp{to{transform:translateY(-130vh) rotate(340deg)}}
.badge{z-index:2;display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);backdrop-filter:blur(10px);padding:8px 14px;border-radius:999px;font-size:12px;letter-spacing:.14em;font-weight:800;text-transform:uppercase}
.badge b{width:9px;height:9px;background:#2dff8f;border-radius:50%;box-shadow:0 0 0 4px rgba(45,255,143,.2);display:inline-block}
h1{z-index:2;text-align:center;font-size:clamp(38px,7vw,72px);line-height:.95;font-weight:1000;letter-spacing:-.04em;margin:18px 0 10px;text-shadow:0 10px 40px rgba(0,0,0,.35)}
h1 em{font-style:normal;background:linear-gradient(90deg,#ffd166,#ff2d78,#ff8fab,#ffd166);-webkit-background-clip:text;background-clip:text;color:transparent}
.sub{z-index:2;text-align:center;opacity:.92;font-size:clamp(15px,2.4vw,18px);max-width:560px;line-height:1.5}
.sub strong{background:#fff;color:#c9184a;padding:2px 8px;border-radius:999px}
.card{
z-index:2;margin-top:26px;width:min(620px,94vw);background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);
backdrop-filter:blur(18px);border-radius:32px;padding:28px 18px 22px;display:flex;flex-direction:column;align-items:center;
box-shadow:0 30px 80px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.35);position:relative;
}
body:has(#likeMain:checked) .card{animation:cardShake .6s cubic-bezier(.36,.07,.19,.97) both}
@keyframes cardShake{0%,100%{transform:translate(0) rotate(0)}20%{transform:translate(-8px,4px) rotate(-1deg)}40%{transform:translate(8px,-4px) rotate(1deg)}60%{transform:translate(-6px,-2px) rotate(-.5deg)}80%{transform:translate(6px,2px) rotate(.5deg)}}
.stage{position:relative;width:280px;height:280px;display:grid;place-items:center;margin:6px auto 0}
/* starburst behind */
.starburst{position:absolute;width:240px;height:240px;border-radius:50%;opacity:.22;
background:repeating-conic-gradient(from 0deg,#ffd166 0deg 12deg,transparent 12deg 24deg);
-webkit-mask:radial-gradient(circle,transparent 34%,#000 35%,#000 72%,transparent 73%);mask:radial-gradient(circle,transparent 34%,#000 35%,#000 72%,transparent 73%);
animation:spin 14s linear infinite;transition:opacity .3s,transform .3s}
#likeMain:checked ~ .starburst{opacity:.95;animation:spin .7s linear infinite;transform:scale(1.28)}
@keyframes spin{to{transform:rotate(360deg)}}
.ring,.ring2{position:absolute;width:150px;height:150px;border:5px solid #ff2d78;border-radius:50%;opacity:0;pointer-events:none}
#likeMain:checked ~ .ring{animation:ringOut .85s cubic-bezier(.2,.8,.3,1) forwards}
#likeMain:checked ~ .ring2{animation:ringOut .85s .12s cubic-bezier(.2,.8,.3,1) forwards;border-color:#ffd166}
@keyframes ringOut{0%{transform:scale(.45);opacity:1;border-width:10px}100%{transform:scale(2.5);opacity:0;border-width:1px}}
/* THE BUTTON */
.like-btn{
position:relative;z-index:3;width:168px;height:168px;border-radius:50%;cursor:pointer;user-select:none;-webkit-user-select:none;
background:radial-gradient(circle at 32% 28%,#ffffff 0%,#ffe5ec 38%,#ffb3c6 72%,#ff8fab 100%);
border:5px solid rgba(255,255,255,.9);
box-shadow:0 22px 50px rgba(255,45,120,.55),0 8px 0 #c9184a,0 18px 30px rgba(0,0,0,.35),inset 0 -10px 20px rgba(201,24,74,.18);
display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
transition:transform .18s,box-shadow .18s,background .3s;
animation: idleBeat 2.2s ease-in-out infinite;
}
@keyframes idleBeat{0%,100%{transform:scale(1)}12%{transform:scale(1.045)}24%{transform:scale(1)}}
.like-btn:hover{transform:scale(1.07) rotate(-2deg)}
.like-btn:active{transform:scale(.92) translateY(6px);box-shadow:0 6px 20px rgba(255,45,120,.5),0 2px 0 #c9184a}
#likeMain:checked ~ .like-btn{
background:radial-gradient(circle at 32% 28%,#fff 0%,#ff8fab 30%,#ff2d78 68%,#c9184a 100%);
animation:pop .65s cubic-bezier(.68,-.55,.27,1.55) both, happyBeat 1.05s .65s ease-in-out infinite;
box-shadow:0 26px 70px rgba(255,45,120,.85),0 8px 0 #7a0c2e,0 0 0 10px rgba(255,209,102,.35),0 0 60px #ff2d78;
}
@keyframes pop{0%{transform:scale(.6) rotate(-18deg)}55%{transform:scale(1.32) rotate(10deg)}75%{transform:scale(.92) rotate(-6deg)}100%{transform:scale(1.08) rotate(0)}}
@keyframes happyBeat{0%,100%{transform:scale(1.08) rotate(0)}18%{transform:scale(1.22) rotate(-4deg)}36%{transform:scale(1.05) rotate(3deg)}54%{transform:scale(1.18) rotate(-2deg)}}
.heart{width:74px;height:74px;filter:drop-shadow(0 6px 10px rgba(0,0,0,.22));transition:transform .3s}
.heart path{fill:#ff2d78;transition:fill .3s}
#likeMain:checked ~ .like-btn .heart path{fill:#fff}
#likeMain:checked ~ .like-btn .heart{animation:heartSpin .8s cubic-bezier(.68,-.4,.27,1.4) both}
@keyframes heartSpin{from{transform:rotate(0) scale(1)}to{transform:rotate(360deg) scale(1.15)}}
.txt{position:relative;width:110px;height:22px;text-align:center;font-weight:1000;letter-spacing:.16em;font-size:16px;color:#c9184a}
.txt span{position:absolute;inset:0;transition:.25s}
.txt .on{opacity:0;transform:translateY(14px) scale(.6) rotate(-8deg);color:#fff}
#likeMain:checked ~ .like-btn .txt .off{opacity:0;transform:translateY(-14px) scale(.6)}
#likeMain:checked ~ .like-btn .txt .on{opacity:1;transform:translateY(0) scale(1) rotate(0)}
.cnt{font-size:12px;font-weight:800;opacity:.75;color:#7a0c2e;letter-spacing:.05em}
#likeMain:checked ~ .like-btn .cnt{color:#ffe5ec}
/* particles */
.parts{position:absolute;left:50%;top:50%;width:0;height:0;pointer-events:none;z-index:4}
.parts i{position:absolute;left:-7px;top:-7px;width:14px;height:14px;border-radius:50%;opacity:0}
.parts i:nth-child(1){--a:0deg;--d:110px;background:#ffd166;border-radius:2px}
.parts i:nth-child(2){--a:30deg;--d:130px;background:#ff2d78}
.parts i:nth-child(3){--a:60deg;--d:95px;background:#06d6a0;width:10px;height:10px;border-radius:2px}
.parts i:nth-child(4){--a:90deg;--d:140px;background:#118ab2}
.parts i:nth-child(5){--a:120deg;--d:105px;background:#ffd166;width:18px;height:8px;border-radius:99px}
.parts i:nth-child(6){--a:150deg;--d:125px;background:#ff8fab}
.parts i:nth-child(7){--a:180deg;--d:100px;background:#c77dff;border-radius:2px}
.parts i:nth-child(8){--a:210deg;--d:135px;background:#ff2d78;width:10px;height:10px}
.parts i:nth-child(9){--a:240deg;--d:115px;background:#ffd166}
.parts i:nth-child(10){--a:270deg;--d:145px;background:#06d6a0;width:16px;height:8px;border-radius:99px}
.parts i:nth-child(11){--a:300deg;--d:98px;background:#ff8fab;border-radius:2px}
.parts i:nth-child(12){--a:330deg;--d:128px;background:#c77dff}
.parts i:nth-child(13){--a:15deg;--d:150px;background:#ff2d78;width:8px;height:8px}
.parts i:nth-child(14){--a:195deg;--d:150px;background:#ffd166;width:8px;height:8px}
#likeMain:checked ~ .parts i{animation:burst .9s cubic-bezier(.1,.9,.3,1) forwards}
#likeMain:checked ~ .parts i:nth-child(even){animation-duration:1.1s;animation-delay:.08s}
@keyframes burst{0%{transform:rotate(var(--a)) translate(0) scale(1);opacity:1}70%{opacity:1}100%{transform:rotate(var(--a)) translate(var(--d)) scale(0) rotate(540deg);opacity:0}}
/* floating words */
.word{position:absolute;font-weight:1000;font-size:28px;letter-spacing:.08em;opacity:0;pointer-events:none;text-shadow:0 4px 0 rgba(0,0,0,.15);z-index:5}
.w1{left:2%;top:18%;color:#ffd166;transform:rotate(-14deg)}
.w2{right:2%;top:22%;color:#fff;transform:rotate(12deg)}
.w3{left:8%;bottom:14%;color:#ff8fab;transform:rotate(10deg);font-size:20px}
.w4{right:8%;bottom:16%;color:#06d6a0;transform:rotate(-10deg);font-size:20px}
#likeMain:checked ~ .w1{animation:wordUp .9s .05s cubic-bezier(.68,-.5,.27,1.5) both}
#likeMain:checked ~ .w2{animation:wordUp .9s .15s cubic-bezier(.68,-.5,.27,1.5) both}
#likeMain:checked ~ .w3{animation:wordUp .9s .25s cubic-bezier(.68,-.5,.27,1.5) both}
#likeMain:checked ~ .w4{animation:wordUp .9s .35s cubic-bezier(.68,-.5,.27,1.5) both}
@keyframes wordUp{0%{opacity:0;transform:translateY(40px) scale(.3) rotate(0)}60%{opacity:1}100%{opacity:0;transform:translateY(-70px) scale(1.4) rotate(6deg)}}
/* ghosts */
.ghost{position:absolute;width:34px;height:34px;opacity:0;pointer-events:none;z-index:2}
.ghost path{fill:#ff8fab}
.g1{left:50%;top:50%;margin:-17px}
.g2{left:50%;top:50%;margin:-17px}
#likeMain:checked ~ .g1{animation:ghostFly 1s .1s ease-out both}
#likeMain:checked ~ .g2{animation:ghostFly2 1.1s .2s ease-out both}
@keyframes ghostFly{0%{transform:translate(0,0) scale(.5);opacity:0}20%{opacity:1}100%{transform:translate(-110px,-120px) scale(1.6) rotate(-30deg);opacity:0}}
@keyframes ghostFly2{0%{transform:translate(0,0) scale(.5);opacity:0}20%{opacity:1}100%{transform:translate(115px,-105px) scale(1.4) rotate(35deg);opacity:0}}
.hint{z-index:2;margin-top:14px;font-size:14px;opacity:.9}
.hint kbd{background:#fff;color:#111;padding:3px 8px;border-radius:6px;font-weight:800;box-shadow:0 3px 0 #bbb;font-family:inherit}
.hidden-check{position:absolute;opacity:0;width:1px;height:1px}
/* mini likes */
.minis{z-index:2;margin-top:22px;display:flex;gap:14px;flex-wrap:wrap;justify-content:center}
.mini{position:relative;width:74px;height:74px;border-radius:22px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.3);display:grid;place-items:center;cursor:pointer;font-size:32px;transition:transform .2s,background .2s;box-shadow:0 10px 25px rgba(0,0,0,.25)}
.mini:hover{transform:translateY(-4px) scale(1.06) rotate(-3deg)}
.mini small{position:absolute;bottom:-20px;left:0;right:0;text-align:center;font-size:11px;letter-spacing:.12em;font-weight:800;opacity:.8}
.mini input{position:absolute;opacity:0;width:1px;height:1px}
.mini input:checked + span{display:inline-block;animation:miniPop .6s cubic-bezier(.68,-.55,.27,1.6) both}
.mini:has(input:checked){background:#ff2d78;border-color:#fff;box-shadow:0 0 0 4px rgba(255,209,102,.5),0 18px 40px rgba(255,45,120,.6)}
@keyframes miniPop{0%{transform:scale(.4) rotate(-20deg)}60%{transform:scale(1.6) rotate(12deg)}100%{transform:scale(1.15) rotate(0)}}
.mini .spark{position:absolute;inset:-8px;border-radius:26px;border:3px solid #ffd166;opacity:0;pointer-events:none}
.mini:has(input:checked) .spark{animation:ringOut .7s ease-out both}
.foot{z-index:2;margin-top:36px;font-size:13px;opacity:.75;text-align:center;letter-spacing:.06em}
.foot code{background:rgba(0,0,0,.25);padding:3px 8px;border-radius:6px}
@media(max-width:480px){ .stage{width:240px;height:240px} .like-btn{width:148px;height:148px} .heart{width:62px;height:62px} .card{border-radius:26px} }
</style>
</head>
<body>
<div class="bg"><span>♥</span><span>♥</span><span>♥</span><span>♥</span><span>♥</span><span>♥</span><span>♥</span><span>♥</span></div>
<div class="badge"><b></b> 100% Pure CSS • 0 JavaScript</div>
<h1>CLICK TO<br><em>GO CRAZY.</em></h1>
<p class="sub">One innocent <strong>LIKE</strong> button. No scripts, no libraries — just a checkbox and unreasonable amounts of CSS.</p>
<div class="card">
<div class="stage">
<input class="hidden-check" type="checkbox" id="likeMain" aria-label="Like button">
<div class="starburst"></div>
<div class="ring"></div>
<div class="ring2 ring"></div>
<svg class="ghost g1" viewBox="0 0 24 24"><path d="M12 21s-8-5.5-10-10C.5 7 3 3 7 3c2.5 0 4 1.5 5 3 1-1.5 2.5-3 5-3 4 0 6.5 4 5 8-2 4.5-10 10-10 10z"/></svg>
<svg class="ghost g2" viewBox="0 0 24 24"><path d="M12 21s-8-5.5-10-10C.5 7 3 3 7 3c2.5 0 4 1.5 5 3 1-1.5 2.5-3 5-3 4 0 6.5 4 5 8-2 4.5-10 10-10 10z"/></svg>
<label class="like-btn" for="likeMain">
<svg class="heart" viewBox="0 0 24 24" aria-hidden="true"><path d="M12 21s-8-5.5-10-10C.5 7 3 3 7 3c2.5 0 4 1.5 5 3 1-1.5 2.5-3 5-3 4 0 6.5 4 5 8-2 4.5-10 10-10 10z"/></svg>
<span class="txt"><span class="off">LIKE</span><span class="on">LIKED!</span></span>
<span class="cnt">♥ 1,337</span>
</label>
<div class="parts"><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i></div>
<div class="word w1">LOVE!</div><div class="word w2">WOW!</div><div class="word w3">YES!</div><div class="word w4">BOOM!</div>
</div>
<p class="hint">👆 Click the heart • <kbd>Tab</kbd> + <kbd>Space</kbd> works too • Click again to un-like</p>
<div class="minis">
<label class="mini"><input type="checkbox"><span>★</span><i class="spark"></i><small>STAR</small></label>
<label class="mini"><input type="checkbox"><span>♥</span><i class="spark"></i><small>LOVE</small></label>
<label class="mini"><input type="checkbox"><span>▲</span><i class="spark"></i><small>UPVOTE</small></label>
<label class="mini"><input type="checkbox"><span>✦</span><i class="spark"></i><small>SPARK</small></label>
</div>
</div>
<p class="foot">View source: there is <code><input type="checkbox"></code> and <code>:checked</code> — that’s the whole trick.</p>
</body>
</html>Reasoning trace (1,214 tokens)
Implementing a pure CSS animated like button using a hidden checkbox and label with sibling selectors for click-triggered confetti and heart effects.Extending the CSS-only design with pseudo-element particles, animated text swap, and glassmorphism layout.