Nemotron 3.5 Super VL (free)
by NVIDIAReasoningClean
Running live in a sandboxed frame. Click inside it before using the keyboard.
How it went
- Total time
- 43.1 s
- Cost
- $0
- Output tokens
- 4,495
- Spent thinking
- 0 tokens
- Speed
- 105.7 tok/s
- Console errors
- 0
- First token after
- 524 ms
- First visible text after
- 524 ms
- Prompt tokens
- 524
- Code size
- 14.9 KB
- Finish reason
- stop
- Served by
- Nvidia
- Model id
nvidia/nemotron-3.5-super-vl:free- Reasoning sent
{"effort":"none"}- Max output
- 32,000 tokens
- Generated
- Nov 9, 2026
What it was asked
The prompt
Create a set of four animated weather cards (sunny, rainy, snowy, stormy), made with HTML and CSS only. Requirements: - Absolutely no JavaScript: the file must not contain any <script> tag or inline event handler. - No images, no SVG, no icon fonts: every weather icon is built from HTML elements and pseudo-elements styled with CSS. - Each card shows an animated icon (rotating sun rays, falling rain drops, drifting snowflakes, flashing lightning), a city name, a temperature and a short description. - Each card has its own background gradient matching the weather. - The cards are displayed in a responsive grid (4 per row on desktop, stacked on mobile) and lift up on hover. - Smooth infinite animations using @keyframes, and respect prefers-reduced-motion.
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 · 472 lines
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Animated Weather Cards</title>
<style>
:root {
--card-radius: 24px;
--card-padding: 24px;
--gap: 24px;
--text-main: #ffffff;
--text-dim: rgba(255, 255, 255, 0.8);
--transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
* {
box-sizing: border-box;
margin: 0;
padding: 0;
}
body {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
background-color: #f0f2f5;
min-height: 100vh;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 40px 16px;
}
h1 {
text-align: center;
margin-bottom: 40px;
font-size: 2rem;
color: #333;
font-weight: 600;
letter-spacing: -0.5px;
}
/* Grid Layout */
.weather-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
gap: var(--gap);
width: 100%;
max-width: 1200px;
}
/* Base Card */
.weather-card {
position: relative;
padding: var(--card-padding);
border-radius: var(--card-radius);
color: var(--text-main);
box-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.15);
transition: var(--transition);
overflow: hidden;
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
min-height: 320px;
}
.weather-card:hover {
transform: translateY(-12px);
box-shadow: 0 20px 40px -10px rgba(0, 0, 0, 0.25);
}
.card-content {
z-index: 2;
position: relative;
width: 100%;
}
.city {
font-size: 1.1rem;
font-weight: 500;
margin-bottom: 8px;
opacity: 0.9;
}
.temp {
font-size: 3rem;
font-weight: 800;
margin-bottom: 4px;
line-height: 1;
}
.desc {
font-size: 0.95rem;
opacity: 0.8;
font-weight: 400;
}
/* Icon Container */
.icon-wrapper {
width: 110px;
height: 110px;
position: relative;
margin: 24px 0;
display: flex;
align-items: center;
justify-content: center;
}
/* Gradient Backgrounds */
.sunny-card { background: linear-gradient(135deg, #f5af19 0%, #f12711 100%); }
.rainy-card { background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%); }
.snowy-card { background: linear-gradient(135deg, #e0eafc 0%, #cfdef3 100%); color: #333; }
.stormy-card { background: linear-gradient(135deg, #2c3e50 0%, #4ca1af 100%); }
.snowy-card .city, .snowy-card .temp, .snowy-card .desc { color: #333; }
.snowy-card .desc { opacity: 0.6; }
/* --- ANIMATIONS --- */
/* Reduced Motion */
@media (prefers-reduced-motion: reduce) {
*, *::before, *::after {
animation-duration: 0.01ms !important;
animation-iteration-count: 1 !important;
transition-duration: 0.01ms !important;
}
}
/* SUN */
.sun {
position: relative;
width: 60px;
height: 60px;
background: #fff;
border-radius: 50%;
box-shadow: 0 0 40px rgba(255, 255, 255, 0.6);
}
.sun::before, .sun::after {
content: '';
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
border-radius: 50%;
}
/* Inner glow */
.sun::before {
width: 40px;
height: 40px;
background: rgba(255, 255, 255, 0.4);
z-index: 1;
}
/* Rays Container */
.rays {
position: absolute;
top: 0; left: 0; right: 0; bottom: 0;
animation: rotate 10s linear infinite;
}
.ray {
position: absolute;
top: 50%;
left: 50%;
width: 2px;
height: 20px;
background: #fff;
transform-origin: 50% 50%;
}
/* Generate 12 rays */
.ray:nth-child(1) { transform: translate(-50%, -100%) rotate(0deg); }
.ray:nth-child(2) { transform: translate(-50%, -100%) rotate(30deg); }
.ray:nth-child(3) { transform: translate(-50%, -100%) rotate(60deg); }
.ray:nth-child(4) { transform: translate(-50%, -100%) rotate(90deg); }
.ray:nth-child(5) { transform: translate(-50%, -100%) rotate(120deg); }
.ray:nth-child(6) { transform: translate(-50%, -100%) rotate(150deg); }
.ray:nth-child(7) { transform: translate(-50%, -100%) rotate(180deg); }
.ray:nth-child(8) { transform: translate(-50%, -100%) rotate(210deg); }
.ray:nth-child(9) { transform: translate(-50%, -100%) rotate(240deg); }
.ray:nth-child(10) { transform: translate(-50%, -100%) rotate(270deg); }
.ray:nth-child(11) { transform: translate(-50%, -100%) rotate(300deg); }
.ray:nth-child(12) { transform: translate(-50%, -100%) rotate(330deg); }
@keyframes rotate {
from { transform: rotate(0deg); }
to { transform: rotate(360deg); }
}
/* Pulsing sun center */
@keyframes pulse-sun {
0%, 100% { transform: scale(1); opacity: 1; }
50% { transform: scale(1.1); opacity: 0.8; }
}
.sun {
animation: pulse-sun 3s ease-in-out infinite;
}
/* RAIN */
.cloud {
position: relative;
width: 100px;
height: 40px;
background: #fff;
border-radius: 50px;
z-index: 2;
box-shadow: 0 10px 20px rgba(0,0,0,0.1);
}
.cloud::before, .cloud::after {
content: '';
position: absolute;
background: #fff;
border-radius: 50%;
}
.cloud::before {
width: 50px;
height: 50px;
top: -25px;
left: 15px;
}
.cloud::after {
width: 40px;
height: 40px;
top: -20px;
left: 45px;
}
.rain-drops {
position: absolute;
top: 40px;
left: 0;
width: 100px;
height: 60px;
overflow: hidden;
z-index: 1;
}
.drop {
position: absolute;
background: rgba(255,255,255,0.6);
width: 2px;
height: 10px;
border-radius: 2px;
animation: fall linear infinite;
}
@keyframes fall {
to { transform: translateY(100px); }
}
/* Stagger rain drops */
.drop:nth-child(1) { left: 10px; animation-delay: 0s; animation-duration: 0.8s; }
.drop:nth-child(2) { left: 30px; animation-delay: 0.2s; animation-duration: 1s; }
.drop:nth-child(3) { left: 50px; animation-delay: 0.4s; animation-duration: 0.9s; }
.drop:nth-child(4) { left: 70px; animation-delay: 0.6s; animation-duration: 1.1s; }
.drop:nth-child(5) { left: 20px; animation-delay: 0.8s; animation-duration: 0.95s; }
.drop:nth-child(6) { left: 40px; animation-delay: 1s; animation-duration: 1.05s; }
.drop:nth-child(7) { left: 60px; animation-delay: 1.2s; animation-duration: 0.85s; }
.drop:nth-child(8) { left: 80px; animation-delay: 1.4s; animation-duration: 1s; }
/* SNOW */
.snow-cloud {
position: relative;
width: 100px;
height: 40px;
background: #e3f2fd;
border-radius: 50px;
z-index: 2;
box-shadow: 0 10px 20px rgba(0,0,0,0.05);
}
.snow-cloud::before, .snow-cloud::after {
content: '';
position: absolute;
background: #e3f2fd;
border-radius: 50%;
}
.snow-cloud::before {
width: 50px;
height: 50px;
top: -25px;
left: 15px;
}
.snow-cloud::after {
width: 40px;
height: 40px;
top: -20px;
left: 45px;
}
.snowflakes {
position: absolute;
top: 40px;
left: 0;
width: 100px;
height: 80px;
overflow: hidden;
z-index: 1;
}
.flake {
position: absolute;
background: #fff;
border-radius: 50%;
animation: snowfall linear infinite;
}
@keyframes snowfall {
0% { transform: translateY(-20px) translateX(0); opacity: 1; }
100% { transform: translateY(100px) translateX(20px); opacity: 0; }
}
.flake:nth-child(1) { width: 4px; height: 4px; left: 10px; animation-delay: 0s; animation-duration: 3s; }
.flake:nth-child(2) { width: 3px; height: 3px; left: 30px; animation-delay: 0.5s; animation-duration: 4s; }
.flake:nth-child(3) { width: 5px; height: 5px; left: 50px; animation-delay: 1s; animation-duration: 3.5s; }
.flake:nth-child(4) { width: 3px; height: 3px; left: 70px; animation-delay: 1.5s; animation-duration: 4.5s; }
.flake:nth-child(5) { width: 4px; height: 4px; left: 20px; animation-delay: 2s; animation-duration: 3.8s; }
.flake:nth-child(6) { width: 6px; height: 6px; left: 60px; animation-delay: 2.5s; animation-duration: 4.2s; }
.flake:nth-child(7) { width: 3px; height: 3px; left: 40px; animation-delay: 3s; animation-duration: 3.6s; }
.flake:nth-child(8) { width: 5px; height: 5px; left: 80px; animation-delay: 3.5s; animation-duration: 4.8s; }
/* STORM */
.storm-cloud {
position: relative;
width: 110px;
height: 50px;
background: #607d8b;
border-radius: 50px;
z-index: 2;
box-shadow: 0 10px 20px rgba(0,0,0,0.2);
}
.storm-cloud::before, .storm-cloud::after {
content: '';
position: absolute;
background: #607d8b;
border-radius: 50%;
}
.storm-cloud::before {
width: 60px;
height: 60px;
top: -30px;
left: 20px;
}
.storm-cloud::after {
width: 50px;
height: 50px;
top: -25px;
left: 50px;
}
.lightning {
position: absolute;
bottom: 0;
left: 50%;
transform: translateX(-50%);
width: 0;
height: 0;
border-left: 12px solid transparent;
border-right: 12px solid transparent;
border-bottom: 40px solid #ffeb3b;
filter: drop-shadow(0 0 8px #ffeb3b);
animation: flash 2s infinite;
z-index: 1;
}
@keyframes flash {
0%, 90%, 100% { opacity: 0.2; transform: translateX(-50%) scale(0.8); }
92% { opacity: 1; transform: translateX(-50%) scale(1.1); }
94% { opacity: 0.2; transform: translateX(-50%) scale(0.8); }
96% { opacity: 1; transform: translateX(-50%) scale(1.1); }
98% { opacity: 0.2; transform: translateX(-50%) scale(0.8); }
}
/* Responsive tweaks */
@media (max-width: 480px) {
h1 { font-size: 1.5rem; margin-bottom: 24px; }
.weather-card { padding: 20px; min-height: 280px; }
.temp { font-size: 2.5rem; }
.icon-wrapper { width: 90px; height: 90px; margin: 16px 0; }
}
</style>
</head>
<body>
<h1>Weather Overview</h1>
<div class="weather-grid">
<!-- Sunny Card -->
<article class="weather-card sunny-card">
<div class="icon-wrapper">
<div class="sun">
<div class="rays">
<div class="ray"></div><div class="ray"></div><div class="ray"></div>
<div class="ray"></div><div class="ray"></div><div class="ray"></div>
<div class="ray"></div><div class="ray"></div><div class="ray"></div>
<div class="ray"></div><div class="ray"></div><div class="ray"></div>
</div>
</div>
</div>
<div class="card-content">
<div class="city">Los Angeles</div>
<div class="temp">28°</div>
<div class="desc">Sunny & clear</div>
</div>
</article>
<!-- Rainy Card -->
<article class="weather-card rainy-card">
<div class="icon-wrapper">
<div class="rain-drops">
<div class="drop"></div><div class="drop"></div><div class="drop"></div>
<div class="drop"></div><div class="drop"></div><div class="drop"></div>
<div class="drop"></div><div class="drop"></div>
</div>
<div class="cloud"></div>
</div>
<div class="card-content">
<div class="city">Seattle</div>
<div class="temp">16°</div>
<div class="desc">Light rain showers</div>
</div>
</article>
<!-- Snowy Card -->
<article class="weather-card snowy-card">
<div class="icon-wrapper">
<div class="snowflakes">
<div class="flake"></div><div class="flake"></div><div class="flake"></div>
<div class="flake"></div><div class="flake"></div><div class="flake"></div>
<div class="flake"></div><div class="flake"></div>
</div>
<div class="snow-cloud"></div>
</div>
<div class="card-content">
<div class="city">Oslo</div>
<div class="temp">-4°</div>
<div class="desc">Heavy snowfall</div>
</div>
</article>
<!-- Stormy Card -->
<article class="weather-card stormy-card">
<div class="icon-wrapper">
<div class="lightning"></div>
<div class="storm-cloud"></div>
</div>
<div class="card-content">
<div class="city">Miami</div>
<div class="temp">22°</div>
<div class="desc">Thunderstorm</div>
</div>
</article>
</div>
</body>
</html>