Make a poster on boiled egg and
A vibrant, informative infographic poster about boiled eggs. Title: "THE PERFECT BOILED EGG". Sections include: 1) Boiling time guide with icons — Soft boiled (6 min), Medium boiled (9 min), Hard boiled (12 min), each showing a cross-section of the egg with different yolk doneness. 2) Step-by-step instructions: Place egg in cold water, bring to boil, set timer, transfer to ice bath. 3) Nutritional highlights panel: 6g protein, Vitamins B12 & D, Healthy fats, 77 calories. 4) Fun tips: "Use older eggs for easier peeling", "Ice bath stops cooking". Bright yellow and white color scheme with egg illustrations, clean modern layout, food infographic style.
mkdir -p /home/daytona/workspace/boiled-egg-poster
~/boiled-egg-poster/poster.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<title>The Perfect Boiled Egg</title>
<style>
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;700;900&family=Nunito:wght@400;600;700&display=swap');
* { margin: 0; padding: 0; box-sizing: border-box; }
body {
width: 900px;
background: #fffbe6;
font-family: 'Nunito', sans-serif;
}
.poster {
width: 900px;
min-height: 1270px;
background: linear-gradient(160deg, #fff9e0 0%, #fff3b0 40%, #ffe082 100%);
padding: 0;
overflow: hidden;
}
/* ── HEADER ── */
.header {
background: linear-gradient(135deg, #f57f17 0%, #ffca28 60%, #ffe57f 100%);
padding: 38px 40px 30px;
text-align: center;
position: relative;
border-bottom: 6px solid #e65100;
}
.header::after {
content: '';
display: block;
position: absolute;
bottom: -18px; left: 50%; transform: translateX(-50%);
width: 0; height: 0;
border-left: 30px solid transparent;
border-right: 30px solid transparent;
border-top: 18px solid #e65100;
}
.header h1 {
font-family: 'Montserrat', sans-serif;
font-weight: 900;
font-size: 54px;
color: #fff;
letter-spacing: 2px;
text-shadow: 2px 4px 0 #bf360c, 0 2px 12px rgba(0,0,0,0.18);
line-height: 1.1;
}
.header h1 span { color: #fff9c4; }
.header p {
font-size: 17px;
color: #fff3e0;
margin-top: 8px;
font-style: italic;
letter-spacing: 0.5px;
}
.egg-icon { font-size: 52px; margin-bottom: 4px; display: block; }
/* ── TIMING SECTION ── */
.section-title {
font-family: 'Montserrat', sans-serif;
font-weight: 900;
font-size: 20px;
color: #e65100;
text-transform: uppercase;
letter-spacing: 2px;
margin-bottom: 18px;
display: flex;
align-items: center;
gap: 10px;
}
.section-title::before, .section-title::after {
content: '';
flex: 1;
height: 2px;
background: linear-gradient(to right, transparent, #ffca28, transparent);
}
.timing-section {
padding: 50px 40px 30px;
}
.timing-cards {
display: flex;
gap: 20px;
justify-content: center;
}
.timing-card {
flex: 1;
background: #fff;
border-radius: 20px;
padding: 28px 18px 22px;
text-align: center;
box-shadow: 0 6px 24px rgba(230,81,0,0.13);
border: 3px solid transparent;
position: relative;
transition: all 0.2s;
}
.timing-card.soft { border-color: #ffe082; }
.timing-card.medium { border-color: #ffb300; }
.timing-card.hard { border-color: #e65100; }
.egg-cross {
width: 90px; height: 108px;
margin: 0 auto 16px;
position: relative;
}
.egg-cross svg { width: 100%; height: 100%; }
.timing-card h3 {
font-family: 'Montserrat', sans-serif;
font-weight: 900;
font-size: 18px;
margin-bottom: 4px;
}
.timing-card.soft h3 { color: #f9a825; }
.timing-card.medium h3 { color: #f57f17; }
.timing-card.hard h3 { color: #bf360c; }
.time-badge {
display: inline-block;
padding: 5px 18px;
border-radius: 20px;
font-family: 'Montserrat', sans-serif;
font-weight: 900;
font-size: 26px;
margin: 6px 0;
}
.soft .time-badge { background: #fff9c4; color: #f9a825; }
.medium .time-badge { background: #fff3e0; color: #f57f17; }
.hard .time-badge { background: #fbe9e7; color: #bf360c; }
.timing-card p { font-size: 13.5px; color: #777; margin-top: 6px; }
/* ── STEPS SECTION ── */
.steps-section {
padding: 10px 40px 30px;
background: linear-gradient(90deg, rgba(255,202,40,0.12), rgba(255,202,40,0.04));
margin: 0 20px;
border-radius: 24px;
}
.steps-grid {
display: flex;
gap: 16px;
justify-content: center;
flex-wrap: wrap;
}
.step-item {
display: flex;
flex-direction: column;
align-items: center;
width: 175px;
text-align: center;
}
.step-num {
width: 42px; height: 42px;
border-radius: 50%;
background: #f57f17;
color: #fff;
font-family: 'Montserrat', sans-serif;
font-weight: 900;
font-size: 20px;
display: flex; align-items: center; justify-content: center;
margin-bottom: 10px;
box-shadow: 0 4px 10px rgba(245,127,23,0.35);
}
.step-icon { font-size: 38px; margin-bottom: 8px; }
.step-item h4 { font-size: 14px; font-weight: 700; color: #5d4037; margin-bottom: 4px; }
.step-item p { font-size: 12.5px; color: #8d6e63; line-height: 1.4; }
/* ── CONNECTOR ARROW ── */
.arrow {
font-size: 28px;
color: #ffca28;
margin-top: 40px;
align-self: center;
}
/* ── NUTRITION SECTION ── */
.nutrition-section {
padding: 30px 40px 26px;
}
.nutrition-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 14px;
}
.nut-card {
background: #fff;
border-radius: 16px;
padding: 18px 10px 14px;
text-align: center;
box-shadow: 0 4px 16px rgba(230,81,0,0.09);
border-top: 4px solid #ffca28;
}
.nut-card .nut-icon { font-size: 32px; margin-bottom: 8px; display: block; }
.nut-card .nut-value {
font-family: 'Montserrat', sans-serif;
font-weight: 900;
font-size: 22px;
color: #e65100;
}
.nut-card .nut-label { font-size: 12.5px; color: #888; margin-top: 4px; font-weight: 600; }
/* ── TIPS SECTION ── */
.tips-section {
padding: 4px 40px 36px;
}
.tips-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 14px;
}
.tip-item {
background: #fff8e1;
border-radius: 14px;
padding: 14px 18px;
display: flex;
gap: 12px;
align-items: flex-start;
border-left: 5px solid #ffb300;
box-shadow: 0 2px 8px rgba(255,179,0,0.13);
}
.tip-item .tip-icon { font-size: 26px; flex-shrink: 0; }
.tip-item p { font-size: 13.5px; color: #5d4037; line-height: 1.5; }
.tip-item strong { color: #e65100; }
/* ── FOOTER ── */
.footer {
background: linear-gradient(135deg, #f57f17, #e65100);
padding: 18px 40px;
text-align: center;
color: #fff9c4;
font-size: 14px;
font-style: italic;
letter-spacing: 0.5px;
}
.footer strong { color: #fff; font-style: normal; font-size: 15px; }
</style>
</head>
<body>
<div class="poster">
<!-- HEADER -->
<div class="header">
<span class="egg-icon">🥚</span>
<h1>THE PERFECT<br><span>BOILED EGG</span></h1>
<p>Your complete guide to boiling eggs — timing, technique & nutrition</p>
</div>
<!-- TIMING -->
<div class="timing-section">
<div class="section-title">⏱ Boiling Time Guide</div>
<div class="timing-cards">
<div class="timing-card soft">
<div class="egg-cross">
<svg viewBox="0 0 90 108" xmlns="http://www.w3.org/2000/svg">
<!-- egg shell -->
<ellipse cx="45" cy="58" rx="40" ry="46" fill="#fff9c4" stroke="#f9a825" stroke-width="3"/>
<!-- white -->
<ellipse cx="45" cy="58" rx="33" ry="38" fill="#fff"/>
<!-- runny yolk -->
<circle cx="45" cy="60" r="16" fill="#ffb300" opacity="0.9"/>
<circle cx="45" cy="58" r="12" fill="#ffca28"/>
<circle cx="40" cy="54" r="3" fill="#fff9c4" opacity="0.6"/>
</svg>
</div>
<h3>SOFT BOILED</h3>
<div class="time-badge">6 min</div>
<p>Runny yolk,<br>set white</p>
</div>
<div class="timing-card medium">
<div class="egg-cross">
<svg viewBox="0 0 90 108" xmlns="http://www.w3.org/2000/svg">
<ellipse cx="45" cy="58" rx="40" ry="46" fill="#fff9c4" stroke="#ffb300" stroke-width="3"/>
<ellipse cx="45" cy="58" rx="33" ry="38" fill="#fff"/>
<!-- jammy yolk -->
<circle cx="45" cy="60" r="16" fill="#f57f17" opacity="0.9"/>
<circle cx="45" cy="58" r="11" fill="#ffb300"/>
<circle cx="40" cy="54" r="3" fill="#ffe082" opacity="0.5"/>
</svg>
</div>
<h3>MEDIUM BOILED</h3>
<div class="time-badge">9 min</div>
<p>Jammy yolk,<br>fully set white</p>
</div>
<div class="timing-card hard">
<div class="egg-cross">
<svg viewBox="0 0 90 108" xmlns="http://www.w3.org/2000/svg">
<ellipse cx="45" cy="58" rx="40" ry="46" fill="#fff9c4" stroke="#e65100" stroke-width="3"/>
<ellipse cx="45" cy="58" rx="33" ry="38" fill="#fff"/>
<!-- firm yolk -->
<circle cx="45" cy="60" r="16" fill="#bf360c" opacity="0.25"/>
<circle cx="45" cy="60" r="14" fill="#e65100" opacity="0.85"/>
<circle cx="45" cy="58" r="10" fill="#ff8f00"/>
<circle cx="40" cy="54" r="2.5" fill="#ffcc80" opacity="0.5"/>
</svg>
</div>
<h3>HARD BOILED</h3>
<div class="time-badge">12 min</div>
<p>Firm yolk,<br>fully cooked</p>
</div>
</div>
</div>
<!-- STEPS -->
<div class="steps-section">
<div class="section-title">📋 Step-by-Step Method</div>
<div class="steps-grid">
<div class="step-item">
<div class="step-num">1</div>
<div class="step-icon">🫙</div>
<h4>Place in Cold Water</h4>
<p>Put eggs in a pot and cover with cold water by 1 inch</p>
</div>
<div class="arrow">›</div>
<div class="step-item">
<div class="step-num">2</div>
<div class="step-icon">🔥</div>
<h4>Bring to a Boil</h4>
<p>Heat on high until water reaches a full rolling boil</p>
</div>
<div class="arrow">›</div>
<div class="step-item">
<div class="step-num">3</div>
<div class="step-icon">⏱</div>
<h4>Set Your Timer</h4>
<p>Reduce to a gentle simmer and start timing per preference</p>
</div>
<div class="arrow">›</div>
<div class="step-item">
<div class="step-num">4</div>
<div class="step-icon">🧊</div>
<h4>Ice Bath</h4>
<p>Transfer to ice water immediately to stop cooking & ease peeling</p>
</div>
</div>
</div>
<!-- NUTRITION -->
<div class="nutrition-section">
<div class="section-title">🥗 Nutrition Per Large Egg</div>
<div class="nutrition-grid">
<div class="nut-card">
<span class="nut-icon">⚡</span>
<div class="nut-value">77</div>
<div class="nut-label">Calories</div>
</div>
<div class="nut-card">
<span class="nut-icon">💪</span>
<div class="nut-value">6 g</div>
<div class="nut-label">Protein</div>
</div>
<div class="nut-card">
<span class="nut-icon">🧈</span>
<div class="nut-value">5 g</div>
<div class="nut-label">Healthy Fat</div>
</div>
<div class="nut-card">
<span class="nut-icon">🦴</span>
<div class="nut-value">28 mg</div>
<div class="nut-label">Calcium</div>
</div>
<div class="nut-card">
<span class="nut-icon">🧬</span>
<div class="nut-value">B12</div>
<div class="nut-label">Vitamin B12</div>
</div>
<div class="nut-card">
<span class="nut-icon">☀️</span>
<div class="nut-value">Vit D</div>
<div class="nut-label">Vitamin D</div>
</div>
<div class="nut-card">
<span class="nut-icon">🔬</span>
<div class="nut-value">147 mg</div>
<div class="nut-label">Choline</div>
</div>
<div class="nut-card">
<span class="nut-icon">🛡️</span>
<div class="nut-value">0 g</div>
<div class="nut-label">Carbohydrates</div>
</div>
</div>
</div>
<!-- TIPS -->
<div class="tips-section">
<div class="section-title">💡 Pro Tips</div>
<div class="tips-grid">
<div class="tip-item">
<span class="tip-icon">🥚</span>
<p><strong>Use older eggs</strong> (7–10 days old) — they peel much more easily than fresh ones.</p>
</div>
<div class="tip-item">
<span class="tip-icon">🧊</span>
<p><strong>Always use an ice bath</strong> immediately after boiling to stop cooking and prevent a grey yolk ring.</p>
</div>
<div class="tip-item">
<span class="tip-icon">🌡️</span>
<p><strong>Room temp eggs</strong> crack less. Take them out of the fridge 10 minutes before boiling.</p>
</div>
<div class="tip-item">
<span class="tip-icon">🧂</span>
<p><strong>Add a pinch of salt</strong> to the water — it helps seal any cracks and makes peeling easier.</p>
</div>
</div>
</div>
<!-- FOOTER -->
<div class="footer">
<strong>🥚 Eggs are one of nature's most nutritious foods — a complete protein source with essential vitamins & minerals.</strong><br>
Store hard-boiled eggs in the fridge (unpeeled) for up to 1 week.
</div>
</div>
</body>
</html>
cd /home/daytona/workspace/boiled-egg-poster && python3 -c " import subprocess, sys # Try puppeteer via node result = subprocess.run(['node', '-e', 'require(\"puppeteer\")'], capture_output=True) print('puppeteer:', result.returncode) result2 = subprocess.run(['which', 'chromium-browser'], capture_output=True) result3 = subprocess.run(['which', 'google-chrome'], capture_output=True) result4 = subprocess.run(['which', 'chromium'], capture_output=True) print('chromium-browser:', result2.stdout.decode().strip()) print('google-chrome:', result3.stdout.decode().strip()) print('chromium:', result4.stdout.decode().strip()) "
cd /home/daytona/workspace/boiled-egg-poster && chromium --headless --disable-gpu --no-sandbox --screenshot=poster.png --window-size=900,1270 "file:///home/daytona/workspace/boiled-egg-poster/poster.html" 2>&1; echo "Exit: $?"
cd /home/daytona/workspace/boiled-egg-poster && python3 -c " import subprocess # Get full page height result = subprocess.run(['chromium', '--headless', '--disable-gpu', '--no-sandbox', '--run-all-compositor-stages-before-draw', '--virtual-time-budget=5000', '--screenshot=poster_full.png', '--window-size=900,2000', 'file:///home/daytona/workspace/boiled-egg-poster/poster.html'], capture_output=True, text=True) print(result.stderr[-500:] if result.stderr else '') print('Exit:', result.returncode) import os print('Size:', os.path.getsize('poster_full.png') if os.path.exists('poster_full.png') else 'NOT FOUND') "
cd /home/daytona/workspace/boiled-egg-poster && python3 -c " # Check what fonts are available for emojis import subprocess r = subprocess.run(['fc-list', ':spacing=mono'], capture_output=True, text=True) r2 = subprocess.run(['fc-list'], capture_output=True, text=True) # look for emoji fonts lines = [l for l in r2.stdout.split('\n') if 'moji' in l.lower() or 'noto' in l.lower()] print('\n'.join(lines[:20])) "
~/boiled-egg-poster/poster.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8"/>
<title>The Perfect Boiled Egg</title>
<style>
* { margin:0; padding:0; box-sizing:border-box; }
body { width:900px; background:#fffbe6; font-family: Georgia, 'Times New Roman', serif; }
.poster {
width:900px;
background: linear-gradient(170deg,#fff9e0 0%,#fff3b0 50%,#ffe082 100%);
}
/* ── HEADER ── */
.header {
background: linear-gradient(135deg,#f57f17 0%,#ffca28 65%,#ffe57f 100%);
padding: 40px 40px 36px;
text-align: center;
border-bottom: 6px solid #e65100;
position: relative;
}
.header::after {
content:''; position:absolute; bottom:-20px; left:50%; transform:translateX(-50%);
width:0; height:0;
border-left:32px solid transparent; border-right:32px solid transparent;
border-top:20px solid #e65100;
}
.header-egg {
width:70px; height:84px; margin:0 auto 14px; display:block;
}
.header h1 {
font-family: Impact, 'Arial Black', Arial, sans-serif;
font-size:58px; color:#fff; letter-spacing:3px;
text-shadow: 3px 5px 0 #bf360c, 0 2px 14px rgba(0,0,0,.2);
line-height:1.05;
}
.header h1 span { color:#fff9c4; }
.header p {
font-size:16px; color:#fff3e0; margin-top:10px; font-style:italic; letter-spacing:.5px;
}
/* ── SECTION TITLE ── */
.section-title {
font-family: Impact, 'Arial Black', sans-serif;
font-size:20px; color:#e65100; letter-spacing:3px; text-transform:uppercase;
text-align:center; margin-bottom:22px;
display:flex; align-items:center; gap:12px;
}
.section-title::before,.section-title::after {
content:''; flex:1; height:2px;
background: linear-gradient(to right, transparent,#ffca28,transparent);
}
/* ── TIMING ── */
.timing-section { padding:52px 40px 32px; }
.timing-cards { display:flex; gap:20px; }
.timing-card {
flex:1; background:#fff; border-radius:20px; padding:28px 14px 22px;
text-align:center; box-shadow:0 6px 24px rgba(230,81,0,.13);
border:3px solid #ffe082;
}
.timing-card.medium { border-color:#ffb300; }
.timing-card.hard { border-color:#e65100; }
.timing-card h3 {
font-family: Impact, 'Arial Black', sans-serif;
font-size:17px; letter-spacing:1px; margin:14px 0 6px;
}
.timing-card.soft h3 { color:#f9a825; }
.timing-card.medium h3 { color:#f57f17; }
.timing-card.hard h3 { color:#bf360c; }
.time-badge {
display:inline-block; padding:6px 22px; border-radius:20px;
font-family: Impact, 'Arial Black', sans-serif; font-size:28px; margin:4px 0;
}
.soft .time-badge { background:#fff9c4; color:#f9a825; }
.medium .time-badge { background:#fff3e0; color:#f57f17; }
.hard .time-badge { background:#fbe9e7; color:#bf360c; }
.timing-card p { font-size:13px; color:#888; margin-top:6px; }
/* ── STEPS ── */
.steps-section {
padding:10px 40px 32px;
background:linear-gradient(90deg,rgba(255,202,40,.15),rgba(255,202,40,.04));
margin:0 20px; border-radius:24px;
}
.steps-grid {
display:flex; gap:10px; align-items:flex-start; justify-content:center;
}
.step-item { display:flex; flex-direction:column; align-items:center; width:165px; text-align:center; }
.step-num {
width:42px; height:42px; border-radius:50%; background:#f57f17; color:#fff;
font-family: Impact, 'Arial Black', sans-serif; font-size:22px;
display:flex; align-items:center; justify-content:center;
margin-bottom:10px; box-shadow:0 4px 10px rgba(245,127,23,.35);
}
.step-svg { width:52px; height:52px; margin-bottom:10px; }
.step-item h4 { font-size:14px; font-weight:bold; color:#5d4037; margin-bottom:4px; font-family:Arial,sans-serif; }
.step-item p { font-size:12.5px; color:#8d6e63; line-height:1.4; font-family:Arial,sans-serif; }
.step-arrow {
font-family: Arial, sans-serif; font-size:32px; color:#ffb300; margin-top:52px; flex-shrink:0;
}
/* ── NUTRITION ── */
.nutrition-section { padding:30px 40px 26px; }
.nutrition-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.nut-card {
background:#fff; border-radius:16px; padding:16px 10px 14px; text-align:center;
box-shadow:0 4px 16px rgba(230,81,0,.09); border-top:4px solid #ffca28;
}
.nut-icon-wrap { width:42px; height:42px; margin:0 auto 8px; }
.nut-value {
font-family: Impact, 'Arial Black', sans-serif; font-size:22px; color:#e65100;
}
.nut-label { font-size:12px; color:#888; margin-top:3px; font-weight:bold; font-family:Arial,sans-serif; }
/* ── TIPS ── */
.tips-section { padding:4px 40px 36px; }
.tips-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.tip-item {
background:#fff8e1; border-radius:14px; padding:14px 16px;
display:flex; gap:12px; align-items:flex-start;
border-left:5px solid #ffb300; box-shadow:0 2px 8px rgba(255,179,0,.13);
}
.tip-icon-wrap { flex-shrink:0; width:38px; height:38px; margin-top:2px; }
.tip-item p { font-size:13px; color:#5d4037; line-height:1.55; font-family:Arial,sans-serif; }
.tip-item strong { color:#e65100; }
/* ── FOOTER ── */
.footer {
background:linear-gradient(135deg,#f57f17,#e65100);
padding:20px 40px; text-align:center; color:#fff9c4;
font-size:14px; font-style:italic; letter-spacing:.4px; font-family:Arial,sans-serif;
}
.footer strong { color:#fff; font-style:normal; }
</style>
</head>
<body>
<div class="poster">
<!-- HEADER -->
<div class="header">
<!-- Egg SVG -->
<svg class="header-egg" viewBox="0 0 70 84" xmlns="http://www.w3.org/2000/svg">
<ellipse cx="35" cy="46" rx="30" ry="36" fill="#fff9c4" stroke="#f9a825" stroke-width="2.5"/>
<ellipse cx="35" cy="46" rx="22" ry="26" fill="#fff"/>
<circle cx="35" cy="48" r="11" fill="#ffca28"/>
<circle cx="30" cy="43" r="3" fill="#fff9c4" opacity=".6"/>
</svg>
<h1>THE PERFECT<br><span>BOILED EGG</span></h1>
<p>Your complete guide to boiling eggs — timing, technique & nutrition</p>
</div>
<!-- TIMING -->
<div class="timing-section">
<div class="section-title">BOILING TIME GUIDE</div>
<div class="timing-cards">
<div class="timing-card soft">
<svg viewBox="0 0 90 108" width="90" height="108" xmlns="http://www.w3.org/2000/svg">
<ellipse cx="45" cy="58" rx="40" ry="46" fill="#fff9c4" stroke="#f9a825" stroke-width="3"/>
<ellipse cx="45" cy="58" rx="33" ry="38" fill="#fff"/>
<circle cx="45" cy="60" r="16" fill="#ffb300" opacity=".9"/>
<circle cx="45" cy="58" r="12" fill="#ffca28"/>
<circle cx="40" cy="53" r="3" fill="#fff9c4" opacity=".6"/>
</svg>
<h3>SOFT BOILED</h3>
<div class="time-badge">6 min</div>
<p>Runny yolk,<br>set white</p>
</div>
<div class="timing-card medium">
<svg viewBox="0 0 90 108" width="90" height="108" xmlns="http://www.w3.org/2000/svg">
<ellipse cx="45" cy="58" rx="40" ry="46" fill="#fff9c4" stroke="#ffb300" stroke-width="3"/>
<ellipse cx="45" cy="58" rx="33" ry="38" fill="#fff"/>
<circle cx="45" cy="60" r="16" fill="#f57f17" opacity=".9"/>
<circle cx="45" cy="58" r="11" fill="#ffb300"/>
<circle cx="40" cy="53" r="3" fill="#ffe082" opacity=".55"/>
</svg>
<h3>MEDIUM BOILED</h3>
<div class="time-badge">9 min</div>
<p>Jammy yolk,<br>fully set white</p>
</div>
<div class="timing-card hard">
<svg viewBox="0 0 90 108" width="90" height="108" xmlns="http://www.w3.org/2000/svg">
<ellipse cx="45" cy="58" rx="40" ry="46" fill="#fff9c4" stroke="#e65100" stroke-width="3"/>
<ellipse cx="45" cy="58" rx="33" ry="38" fill="#fff"/>
<circle cx="45" cy="60" r="16" fill="#ef6c00" opacity=".3"/>
<circle cx="45" cy="60" r="13" fill="#e65100" opacity=".85"/>
<circle cx="45" cy="58" r="9" fill="#ff8f00"/>
<circle cx="40" cy="53" r="2.5" fill="#ffcc80" opacity=".5"/>
</svg>
<h3>HARD BOILED</h3>
<div class="time-badge">12 min</div>
<p>Firm yolk,<br>fully cooked</p>
</div>
</div>
</div>
<!-- STEPS -->
<div class="steps-section">
<div class="section-title">STEP-BY-STEP METHOD</div>
<div class="steps-grid">
<div class="step-item">
<div class="step-num">1</div>
<!-- pot SVG -->
<svg class="step-svg" viewBox="0 0 52 52" xmlns="http://www.w3.org/2000/svg">
<rect x="10" y="18" width="32" height="24" rx="6" fill="#ffca28" stroke="#f57f17" stroke-width="2"/>
<rect x="8" y="15" width="36" height="5" rx="2" fill="#f57f17"/>
<rect x="2" y="16" width="8" height="4" rx="2" fill="#f57f17"/>
<rect x="42" y="16" width="8" height="4" rx="2" fill="#f57f17"/>
<ellipse cx="26" cy="20" rx="12" ry="3" fill="#fff9c4" opacity=".5"/>
<!-- water waves -->
<path d="M14 30 Q18 27 22 30 Q26 33 30 30 Q34 27 38 30" fill="none" stroke="#fff" stroke-width="1.5"/>
</svg>
<h4>Place in Cold Water</h4>
<p>Put eggs in a pot and cover with cold water by 1 inch</p>
</div>
<div class="step-arrow">›</div>
<div class="step-item">
<div class="step-num">2</div>
<!-- flame SVG -->
<svg class="step-svg" viewBox="0 0 52 52" xmlns="http://www.w3.org/2000/svg">
<ellipse cx="26" cy="44" rx="16" ry="5" fill="#e65100" opacity=".3"/>
<path d="M26 8 C18 16 14 24 18 32 C20 38 26 42 26 42 C26 42 32 38 34 32 C38 24 34 16 26 8Z" fill="#ff8f00"/>
<path d="M26 18 C22 24 20 30 22 34 C23 38 26 40 26 40 C26 40 29 38 30 34 C32 30 30 24 26 18Z" fill="#ffca28"/>
<path d="M26 26 C24 29 24 33 26 35 C28 33 28 29 26 26Z" fill="#fff9c4"/>
</svg>
<h4>Bring to a Boil</h4>
<p>Heat on high until water reaches a full rolling boil</p>
</div>
<div class="step-arrow">›</div>
<div class="step-item">
<div class="step-num">3</div>
<!-- timer SVG -->
<svg class="step-svg" viewBox="0 0 52 52" xmlns="http://www.w3.org/2000/svg">
<circle cx="26" cy="30" r="18" fill="#fff" stroke="#f57f17" stroke-width="2.5"/>
<circle cx="26" cy="30" r="14" fill="#fff9c4"/>
<line x1="26" y1="30" x2="26" y2="18" stroke="#e65100" stroke-width="2.5" stroke-linecap="round"/>
<line x1="26" y1="30" x2="34" y2="30" stroke="#f57f17" stroke-width="2" stroke-linecap="round"/>
<circle cx="26" cy="30" r="2.5" fill="#e65100"/>
<rect x="22" y="8" width="8" height="4" rx="2" fill="#f57f17"/>
</svg>
<h4>Set Your Timer</h4>
<p>Reduce to a gentle simmer and start timing</p>
</div>
<div class="step-arrow">›</div>
<div class="step-item">
<div class="step-num">4</div>
<!-- ice bath SVG -->
<svg class="step-svg" viewBox="0 0 52 52" xmlns="http://www.w3.org/2000/svg">
<rect x="10" y="20" width="32" height="26" rx="5" fill="#e3f2fd" stroke="#42a5f5" stroke-width="2"/>
<rect x="8" y="17" width="36" height="5" rx="2" fill="#42a5f5"/>
<!-- ice cubes -->
<rect x="14" y="26" width="8" height="8" rx="2" fill="#bbdefb" stroke="#64b5f6" stroke-width="1"/>
<rect x="30" y="26" width="8" height="8" rx="2" fill="#bbdefb" stroke="#64b5f6" stroke-width="1"/>
<!-- egg in water -->
<ellipse cx="26" cy="35" rx="7" ry="8" fill="#fff9c4" stroke="#f9a825" stroke-width="1.5"/>
</svg>
<h4>Ice Bath</h4>
<p>Transfer to ice water to stop cooking & ease peeling</p>
</div>
</div>
</div>
<!-- NUTRITION -->
<div class="nutrition-section">
<div class="section-title">NUTRITION PER LARGE EGG</div>
<div class="nutrition-grid">
<div class="nut-card">
<!-- lightning bolt -->
<svg class="nut-icon-wrap" viewBox="0 0 42 42" xmlns="http://www.w3.org/2000/svg">
<circle cx="21" cy="21" r="20" fill="#fff9c4"/>
<polygon points="24,6 14,23 21,23 18,36 28,19 21,19" fill="#f57f17"/>
</svg>
<div class="nut-value">77</div>
<div class="nut-label">Calories</div>
</div>
<div class="nut-card">
<!-- muscle/dumbbell -->
<svg class="nut-icon-wrap" viewBox="0 0 42 42" xmlns="http://www.w3.org/2000/svg">
<circle cx="21" cy="21" r="20" fill="#fff9c4"/>
<rect x="8" y="19" width="26" height="4" rx="2" fill="#f57f17"/>
<rect x="6" y="15" width="5" height="12" rx="2" fill="#e65100"/>
<rect x="31" y="15" width="5" height="12" rx="2" fill="#e65100"/>
<rect x="4" y="17" width="4" height="8" rx="2" fill="#bf360c"/>
<rect x="34" y="17" width="4" height="8" rx="2" fill="#bf360c"/>
</svg>
<div class="nut-value">6 g</div>
<div class="nut-label">Protein</div>
</div>
<div class="nut-card">
<!-- fat drop -->
<svg class="nut-icon-wrap" viewBox="0 0 42 42" xmlns="http://www.w3.org/2000/svg">
<circle cx="21" cy="21" r="20" fill="#fff9c4"/>
<path d="M21 8 C15 16 11 22 13 27 C15 33 27 33 29 27 C31 22 27 16 21 8Z" fill="#ffb300"/>
<ellipse cx="17" cy="22" rx="3" ry="5" fill="#ffe082" opacity=".7" transform="rotate(-20,17,22)"/>
</svg>
<div class="nut-value">5 g</div>
<div class="nut-label">Healthy Fat</div>
</div>
<div class="nut-card">
<!-- bone -->
<svg class="nut-icon-wrap" viewBox="0 0 42 42" xmlns="http://www.w3.org/2000/svg">
<circle cx="21" cy="21" r="20" fill="#fff9c4"/>
<rect x="14" y="19" width="14" height="4" rx="2" fill="#f57f17"/>
<circle cx="12" cy="18" r="4" fill="#e65100"/>
<circle cx="12" cy="24" r="4" fill="#e65100"/>
<circle cx="30" cy="18" r="4" fill="#e65100"/>
<circle cx="30" cy="24" r="4" fill="#e65100"/>
</svg>
<div class="nut-value">28 mg</div>
<div class="nut-label">Calcium</div>
</div>
<div class="nut-card">
<!-- B12 label -->
<svg class="nut-icon-wrap" viewBox="0 0 42 42" xmlns="http://www.w3.org/2000/svg">
<circle cx="21" cy="21" r="20" fill="#fff9c4"/>
<text x="21" y="27" text-anchor="middle" font-family="Impact,Arial" font-size="16" fill="#e65100">B12</text>
</svg>
<div class="nut-value">B12</div>
<div class="nut-label">Vitamin B12</div>
</div>
<div class="nut-card">
<!-- sun -->
<svg class="nut-icon-wrap" viewBox="0 0 42 42" xmlns="http://www.w3.org/2000/svg">
<circle cx="21" cy="21" r="20" fill="#fff9c4"/>
<circle cx="21" cy="21" r="8" fill="#ffca28"/>
<line x1="21" y1="5" x2="21" y2="10" stroke="#f57f17" stroke-width="2.5" stroke-linecap="round"/>
<line x1="21" y1="32" x2="21" y2="37" stroke="#f57f17" stroke-width="2.5" stroke-linecap="round"/>
<line x1="5" y1="21" x2="10" y2="21" stroke="#f57f17" stroke-width="2.5" stroke-linecap="round"/>
<line x1="32" y1="21" x2="37" y2="21" stroke="#f57f17" stroke-width="2.5" stroke-linecap="round"/>
<line x1="9" y1="9" x2="13" y2="13" stroke="#f57f17" stroke-width="2" stroke-linecap="round"/>
<line x1="29" y1="29" x2="33" y2="33" stroke="#f57f17" stroke-width="2" stroke-linecap="round"/>
<line x1="33" y1="9" x2="29" y2="13" stroke="#f57f17" stroke-width="2" stroke-linecap="round"/>
<line x1="9" y1="33" x2="13" y2="29" stroke="#f57f17" stroke-width="2" stroke-linecap="round"/>
</svg>
<div class="nut-value">Vit D</div>
<div class="nut-label">Vitamin D</div>
</div>
<div class="nut-card">
<!-- brain/choline icon -->
<svg class="nut-icon-wrap" viewBox="0 0 42 42" xmlns="http://www.w3.org/2000/svg">
<circle cx="21" cy="21" r="20" fill="#fff9c4"/>
<path d="M21 12 C14 12 10 16 10 21 C10 27 14 30 21 30 C28 30 32 27 32 21 C32 16 28 12 21 12Z" fill="#ffb300" opacity=".8"/>
<path d="M21 12 C21 12 25 16 25 21 C25 26 21 30 21 30" fill="#f57f17" opacity=".5"/>
<line x1="21" y1="12" x2="21" y2="30" stroke="#fff9c4" stroke-width="1.5" opacity=".7"/>
</svg>
<div class="nut-value">147 mg</div>
<div class="nut-label">Choline</div>
</div>
<div class="nut-card">
<!-- zero carb -->
<svg class="nut-icon-wrap" viewBox="0 0 42 42" xmlns="http://www.w3.org/2000/svg">
<circle cx="21" cy="21" r="20" fill="#fff9c4"/>
<text x="21" y="27" text-anchor="middle" font-family="Impact,Arial" font-size="18" fill="#e65100">0g</text>
<line x1="10" y1="10" x2="32" y2="32" stroke="#e65100" stroke-width="2" opacity=".3"/>
</svg>
<div class="nut-value">0 g</div>
<div class="nut-label">Carbohydrates</div>
</div>
</div>
</div>
<!-- TIPS -->
<div class="tips-section">
<div class="section-title">PRO TIPS</div>
<div class="tips-grid">
<div class="tip-item">
<svg class="tip-icon-wrap" viewBox="0 0 38 38" xmlns="http://www.w3.org/2000/svg">
<circle cx="19" cy="19" r="18" fill="#fff3e0"/>
<ellipse cx="19" cy="22" rx="13" ry="14" fill="#fff9c4" stroke="#f9a825" stroke-width="2"/>
<circle cx="19" cy="22" r="6" fill="#ffca28"/>
</svg>
<p><strong>Use older eggs</strong> (7-10 days old) — they peel much more easily than fresh ones.</p>
</div>
<div class="tip-item">
<svg class="tip-icon-wrap" viewBox="0 0 38 38" xmlns="http://www.w3.org/2000/svg">
<circle cx="19" cy="19" r="18" fill="#e3f2fd"/>
<rect x="8" y="12" width="22" height="18" rx="4" fill="#bbdefb" stroke="#42a5f5" stroke-width="2"/>
<rect x="6" y="10" width="26" height="4" rx="2" fill="#42a5f5"/>
<rect x="11" y="17" width="6" height="6" rx="2" fill="#e3f2fd" stroke="#64b5f6" stroke-width="1"/>
<rect x="21" y="17" width="6" height="6" rx="2" fill="#e3f2fd" stroke="#64b5f6" stroke-width="1"/>
</svg>
<p><strong>Always use an ice bath</strong> immediately after boiling to stop cooking and prevent a grey yolk ring.</p>
</div>
<div class="tip-item">
<svg class="tip-icon-wrap" viewBox="0 0 38 38" xmlns="http://www.w3.org/2000/svg">
<circle cx="19" cy="19" r="18" fill="#fff3e0"/>
<!-- thermometer -->
<rect x="17" y="8" width="4" height="18" rx="2" fill="#ffca28" stroke="#f57f17" stroke-width="1.5"/>
<circle cx="19" cy="27" r="5" fill="#e65100"/>
<rect x="18" y="15" width="2" height="10" rx="1" fill="#e65100"/>
</svg>
<p><strong>Room temp eggs</strong> crack less. Take them out of the fridge 10 minutes before boiling.</p>
</div>
<div class="tip-item">
<svg class="tip-icon-wrap" viewBox="0 0 38 38" xmlns="http://www.w3.org/2000/svg">
<circle cx="19" cy="19" r="18" fill="#fff9c4"/>
<!-- salt shaker -->
<rect x="14" y="14" width="10" height="16" rx="4" fill="#fff" stroke="#f9a825" stroke-width="1.5"/>
<rect x="16" y="11" width="6" height="5" rx="2" fill="#f57f17"/>
<circle cx="17" cy="19" r="1" fill="#f9a825"/>
<circle cx="21" cy="19" r="1" fill="#f9a825"/>
<circle cx="19" cy="22" r="1" fill="#f9a825"/>
</svg>
<p><strong>Add a pinch of salt</strong> to the water — helps seal any cracks and makes peeling easier.</p>
</div>
</div>
</div>
<!-- FOOTER -->
<div class="footer">
<strong>Eggs are one of nature's most nutritious foods — a complete protein source with essential vitamins & minerals.</strong><br>
Store hard-boiled eggs in the fridge (unpeeled) for up to 1 week.
</div>
</div>
</body>
</html>
cat > /home/daytona/workspace/boiled-egg-poster/poster.html << 'HTMLEOF' <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"/> <title>The Perfect Boiled Egg</title> <style> * { margin:0; padding:0; box-sizing:border-box; } body { width:900px; background:#fffbe6; font-family: Georgia, serif; } .poster { width:900px; background: linear-gradient(170deg,#fff9e0 0%,#fff3b0 50%,#ffe082 100%); } .header { background: linear-gradient(135deg,#f57f17 0%,#ffca28 65%,#ffe57f 100%); padding: 40px 40px 36px; text-align: center; border-bottom: 6px solid #e65100; position: relative; } .header::after { content:''; position:absolute; bottom:-20px; left:50%; transform:translateX(-50%); width:0; height:0; border-left:32px solid transparent; border-right:32px solid transparent; border-top:20px solid #e65100; } .header h1 { font-family: Impact, 'Arial Black', Arial, sans-serif; font-size:58px; color:#fff; letter-spacing:3px; text-shadow: 3px 5px 0 #bf360c, 0 2px 14px rgba(0,0,0,.2); line-height:1.05; } .header h1 span { color:#fff9c4; } .header p { font-size:16px; color:#fff3e0; margin-top:10px; font-style:italic; letter-spacing:.5px; } .section-title { font-family: Impact, 'Arial Black', sans-serif; font-size:20px; color:#e65100; letter-spacing:3px; text-transform:uppercase; text-align:center; margin-bottom:22px; display:flex; align-items:center; gap:12px; } .section-title::before,.section-title::after { content:''; flex:1; height:2px; background: linear-gradient(to right, transparent,#ffca28,transparent); } .timing-section { padding:52px 40px 32px; } .timing-cards { display:flex; gap:20px; } .timing-card { flex:1; background:#fff; border-radius:20px; padding:28px 14px 22px; text-align:center; box-shadow:0 6px 24px rgba(230,81,0,.13); border:3px solid #ffe082; } .timing-card.medium { border-color:#ffb300; } .timing-card.hard { border-color:#e65100; } .timing-card h3 { font-family: Impact, 'Arial Black', sans-serif; font-size:17px; letter-spacing:1px; margin:14px 0 6px; } .timing-card.soft h3 { color:#f9a825; } .timing-card.medium h3 { color:#f57f17; } .timing-card.hard h3 { color:#bf360c; } .time-badge { display:inline-block; padding:6px 22px; border-radius:20px; font-family: Impact, 'Arial Black', sans-serif; font-size:28px; margin:4px 0; } .soft .time-badge { background:#fff9c4; color:#f9a825; } .medium .time-badge { background:#fff3e0; color:#f57f17; } .hard .time-badge { background:#fbe9e7; color:#bf360c; } .timing-card p { font-size:13px; color:#888; margin-top:6px; } .steps-section { padding:10px 40px 32px; background:linear-gradient(90deg,rgba(255,202,40,.15),rgba(255,202,40,.04)); margin:0 20px; border-radius:24px; } .steps-grid { display:flex; gap:10px; align-items:flex-start; justify-content:center; } .step-item { display:flex; flex-direction:column; align-items:center; width:165px; text-align:center; } .step-num { width:42px; height:42px; border-radius:50%; background:#f57f17; color:#fff; font-family: Impact, 'Arial Black', sans-serif; font-size:22px; display:flex; align-items:center; justify-content:center; margin-bottom:10px; box-shadow:0 4px 10px rgba(245,127,23,.35); } .step-svg { width:52px; height:52px; margin-bottom:10px; } .step-item h4 { font-size:14px; font-weight:bold; color:#5d4037; margin-bottom:4px; font-family:Arial,sans-serif; } .step-item p { font-size:12.5px; color:#8d6e63; line-height:1.4; font-family:Arial,sans-serif; } .step-arrow { font-family:Arial,sans-serif; font-size:32px; color:#ffb300; margin-top:52px; flex-shrink:0; } .nutrition-section { padding:30px 40px 26px; } .nutrition-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; } .nut-card { background:#fff; border-radius:16px; padding:16px 10px 14px; text-align:center; box-shadow:0 4px 16px rgba(230,81,0,.09); border-top:4px solid #ffca28; } .nut-icon-wrap { width:42px; height:42px; margin:0 auto 8px; } .nut-value { font-family: Impact, 'Arial Black', sans-serif; font-size:22px; color:#e65100; } .nut-label { font-size:12px; color:#888; margin-top:3px; font-weight:bold; font-family:Arial,sans-serif; } .tips-section { padding:4px 40px 36px; } .tips-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; } .tip-item { background:#fff8e1; border-radius:14px; padding:14px 16px; display:flex; gap:12px; align-items:flex-start; border-left:5px solid #ffb300; box-shadow:0 2px 8px rgba(255,179,0,.13); } .tip-icon-wrap { flex-shrink:0; width:38px; height:38px; margin-top:2px; } .tip-item p { font-size:13px; color:#5d4037; line-height:1.55; font-family:Arial,sans-serif; } .tip-item strong { color:#e65100; } .footer { background:linear-gradient(135deg,#f57f17,#e65100); padding:20px 40px; text-align:center; color:#fff9c4; font-size:14px; font-style:italic; letter-spacing:.4px; font-family:Arial,sans-serif; } .footer strong { color:#fff; font-style:normal; } </style> </head> <body> <div class="poster"> <div class="header"> <svg width="70" height="84" viewBox="0 0 70 84" style="display:block;margin:0 auto 14px" xmlns="http://www.w3.org/2000/svg"> <ellipse cx="35" cy="46" rx="30" ry="36" fill="#fff9c4" stroke="#f9a825" stroke-width="2.5"/> <ellipse cx="35" cy="46" rx="22" ry="26" fill="#fff"/> <circle cx="35" cy="48" r="11" fill="#ffca28"/> <circle cx="30" cy="43" r="3" fill="#fff9c4" opacity=".6"/> </svg> <h1>THE PERFECT<br><span>BOILED EGG</span></h1> <p>Your complete guide to boiling eggs — timing, technique & nutrition</p> </div> <div class="timing-section"> <div class="section-title">BOILING TIME GUIDE</div> <div class="timing-cards"> <div class="timing-card soft"> <svg viewBox="0 0 90 108" width="90" height="108" xmlns="http://www.w3.org/2000/svg"> <ellipse cx="45" cy="58" rx="40" ry="46" fill="#fff9c4" stroke="#f9a825" stroke-width="3"/> <ellipse cx="45" cy="58" rx="33" ry="38" fill="#fff"/> <circle cx="45" cy="60" r="16" fill="#ffb300" opacity=".9"/> <circle cx="45" cy="58" r="12" fill="#ffca28"/> <circle cx="40" cy="53" r="3" fill="#fff9c4" opacity=".6"/> </svg> <h3>SOFT BOILED</h3> <div class="time-badge">6 min</div> <p>Runny yolk,<br>set white</p> </div> <div class="timing-card medium"> <svg viewBox="0 0 90 108" width="90" height="108" xmlns="http://www.w3.org/2000/svg"> <ellipse cx="45" cy="58" rx="40" ry="46" fill="#fff9c4" stroke="#ffb300" stroke-width="3"/> <ellipse cx="45" cy="58" rx="33" ry="38" fill="#fff"/> <circle cx="45" cy="60" r="16" fill="#f57f17" opacity=".9"/> <circle cx="45" cy="58" r="11" fill="#ffb300"/> <circle cx="40" cy="53" r="3" fill="#ffe082" opacity=".55"/> </svg> <h3>MEDIUM BOILED</h3> <div class="time-badge">9 min</div> <p>Jammy yolk,<br>fully set white</p> </div> <div class="timing-card hard"> <svg viewBox="0 0 90 108" width="90" height="108" xmlns="http://www.w3.org/2000/svg"> <ellipse cx="45" cy="58" rx="40" ry="46" fill="#fff9c4" stroke="#e65100" stroke-width="3"/> <ellipse cx="45" cy="58" rx="33" ry="38" fill="#fff"/> <circle cx="45" cy="60" r="16" fill="#ef6c00" opacity=".3"/> <circle cx="45" cy="60" r="13" fill="#e65100" opacity=".85"/> <circle cx="45" cy="58" r="9" fill="#ff8f00"/> <circle cx="40" cy="53" r="2.5" fill="#ffcc80" opacity=".5"/> </svg> <h3>HARD BOILED</h3> <div class="time-badge">12 min</div> <p>Firm yolk,<br>fully cooked</p> </div> </div> </div> <div class="steps-section"> <div class="section-title">STEP-BY-STEP METHOD</div> <div class="steps-grid"> <div class="step-item"> <div class="step-num">1</div> <svg class="step-svg" viewBox="0 0 52 52" xmlns="http://www.w3.org/2000/svg"> <rect x="10" y="18" width="32" height="24" rx="6" fill="#ffca28" stroke="#f57f17" stroke-width="2"/> <rect x="8" y="15" width="36" height="5" rx="2" fill="#f57f17"/> <rect x="2" y="16" width="8" height="4" rx="2" fill="#f57f17"/> <rect x="42" y="16" width="8" height="4" rx="2" fill="#f57f17"/> <path d="M14 30 Q18 27 22 30 Q26 33 30 30 Q34 27 38 30" fill="none" stroke="#fff" stroke-width="1.5"/> </svg> <h4>Place in Cold Water</h4> <p>Put eggs in a pot and cover with cold water by 1 inch</p> </div> <div class="step-arrow">›</div> <div class="step-item"> <div class="step-num">2</div> <svg class="step-svg" viewBox="0 0 52 52" xmlns="http://www.w3.org/2000/svg"> <path d="M26 8 C18 16 14 24 18 32 C20 38 26 42 26 42 C26 42 32 38 34 32 C38 24 34 16 26 8Z" fill="#ff8f00"/> <path d="M26 18 C22 24 20 30 22 34 C23 38 26 40 26 40 C26 40 29 38 30 34 C32 30 30 24 26 18Z" fill="#ffca28"/> <path d="M26 26 C24 29 24 33 26 35 C28 33 28 29 26 26Z" fill="#fff9c4"/> </svg> <h4>Bring to a Boil</h4> <p>Heat on high until water reaches a full rolling boil</p> </div> <div class="step-arrow">›</div> <div class="step-item"> <div class="step-num">3</div> <svg class="step-svg" viewBox="0 0 52 52" xmlns="http://www.w3.org/2000/svg"> <circle cx="26" cy="30" r="18" fill="#fff" stroke="#f57f17" stroke-width="2.5"/> <circle cx="26" cy="30" r="14" fill="#fff9c4"/> <line x1="26" y1="30" x2="26" y2="18" stroke="#e65100" stroke-width="2.5" stroke-linecap="round"/> <line x1="26" y1="30" x2="34" y2="30" stroke="#f57f17" stroke-width="2" stroke-linecap="round"/> <circle cx="26" cy="30" r="2.5" fill="#e65100"/> <rect x="22" y="8" width="8" height="4" rx="2" fill="#f57f17"/> </svg> <h4>Set Your Timer</h4> <p>Reduce to gentle simmer and start timing</p> </div> <div class="step-arrow">›</div> <div class="step-item"> <div class="step-num">4</div> <svg class="step-svg" viewBox="0 0 52 52" xmlns="http://www.w3.org/2000/svg"> <rect x="10" y="20" width="32" height="26" rx="5" fill="#e3f2fd" stroke="#42a5f5" stroke-width="2"/> <rect x="8" y="17" width="36" height="5" rx="2" fill="#42a5f5"/> <rect x="14" y="26" width="8" height="8" rx="2" fill="#bbdefb" stroke="#64b5f6" stroke-width="1"/> <rect x="30" y="26" width="8" height="8" rx="2" fill="#bbdefb" stroke="#64b5f6" stroke-width="1"/> <ellipse cx="26" cy="35" rx="7" ry="8" fill="#fff9c4" stroke="#f9a825" stroke-width="1.5"/> </svg> <h4>Ice Bath</h4> <p>Transfer to ice water to stop cooking & ease peeling</p> </div> </div> </div> <div class="nutrition-section"> <div class="section-title">NUTRITION PER LARGE EGG</div> <div class="nutrition-grid"> <div class="nut-card"> <svg class="nut-icon-wrap" viewBox="0 0 42 42" xmlns="http://www.w3.org/2000/svg"><circle cx="21" cy="21" r="20" fill="#fff9c4"/><polygon points="24,6 14,23 21,23 18,36 28,19 21,19" fill="#f57f17"/></svg> <div class="nut-value">77</div><div class="nut-label">Calories</div> </div> <div class="nut-card"> <svg class="nut-icon-wrap" viewBox="0 0 42 42" xmlns="http://www.w3.org/2000/svg"><circle cx="21" cy="21" r="20" fill="#fff9c4"/><rect x="8" y="19" width="26" height="4" rx="2" fill="#f57f17"/><rect x="6" y="15" width="5" height="12" rx="2" fill="#e65100"/><rect x="31" y="15" width="5" height="12" rx="2" fill="#e65100"/><rect x="4" y="17" width="4" height="8" rx="2" fill="#bf360c"/><rect x="34" y="17" width="4" height="8" rx="2" fill="#bf360c"/></svg> <div class="nut-value">6 g</div><div class="nut-label">Protein</div> </div> <div class="nut-card"> <svg class="nut-icon-wrap" viewBox="0 0 42 42" xmlns="http://www.w3.org/2000/svg"><circle cx="21" cy="21" r="20" fill="#fff9c4"/><path d="M21 8 C15 16 11 22 13 27 C15 33 27 33 29 27 C31 22 27 16 21 8Z" fill="#ffb300"/><ellipse cx="17" cy="22" rx="3" ry="5" fill="#ffe082" opacity=".7" transform="rotate(-20,17,22)"/></svg> <div class="nut-value">5 g</div><div class="nut-label">Healthy Fat</div> </div> <div class="nut-card"> <svg class="nut-icon-wrap" viewBox="0 0 42 42" xmlns="http://www.w3.org/2000/svg"><circle cx="21" cy="21" r="20" fill="#fff9c4"/><rect x="14" y="19" width="14" height="4" rx="2" fill="#f57f17"/><circle cx="12" cy="18" r="4" fill="#e65100"/><circle cx="12" cy="24" r="4" fill="#e65100"/><circle cx="30" cy="18" r="4" fill="#e65100"/><circle cx="30" cy="24" r="4" fill="#e65100"/></svg> <div class="nut-value">28 mg</div><div class="nut-label">Calcium</div> </div> <div class="nut-card"> <svg class="nut-icon-wrap" viewBox="0 0 42 42" xmlns="http://www.w3.org/2000/svg"><circle cx="21" cy="21" r="20" fill="#fff9c4"/><text x="21" y="27" text-anchor="middle" font-family="Impact,Arial" font-size="16" fill="#e65100">B12</text></svg> <div class="nut-value">B12</div><div class="nut-label">Vitamin B12</div> </div> <div class="nut-card"> <svg class="nut-icon-wrap" viewBox="0 0 42 42" xmlns="http://www.w3.org/2000/svg"><circle cx="21" cy="21" r="20" fill="#fff9c4"/><circle cx="21" cy="21" r="8" fill="#ffca28"/><line x1="21" y1="5" x2="21" y2="10" stroke="#f57f17" stroke-width="2.5" stroke-linecap="round"/><line x1="21" y1="32" x2="21" y2="37" stroke="#f57f17" stroke-width="2.5" stroke-linecap="round"/><line x1="5" y1="21" x2="10" y2="21" stroke="#f57f17" stroke-width="2.5" stroke-linecap="round"/><line x1="32" y1="21" x2="37" y2="21" stroke="#f57f17" stroke-width="2.5" stroke-linecap="round"/><line x1="9" y1="9" x2="13" y2="13" stroke="#f57f17" stroke-width="2" stroke-linecap="round"/><line x1="29" y1="29" x2="33" y2="33" stroke="#f57f17" stroke-width="2" stroke-linecap="round"/><line x1="33" y1="9" x2="29" y2="13" stroke="#f57f17" stroke-width="2" stroke-linecap="round"/><line x1="9" y1="33" x2="13" y2="29" stroke="#f57f17" stroke-width="2" stroke-linecap="round"/></svg> <div class="nut-value">Vit D</div><div class="nut-label">Vitamin D</div> </div> <div class="nut-card"> <svg class="nut-icon-wrap" viewBox="0 0 42 42" xmlns="http://www.w3.org/2000/svg"><circle cx="21" cy="21" r="20" fill="#fff9c4"/><path d="M21 12 C14 12 10 16 10 21 C10 27 14 30 21 30 C28 30 32 27 32 21 C32 16 28 12 21 12Z" fill="#ffb300" opacity=".8"/><path d="M21 12 C21 12 25 16 25 21 C25 26 21 30 21 30" fill="#f57f17" opacity=".5"/></svg> <div class="nut-value">147 mg</div><div class="nut-label">Choline</div> </div> <div class="nut-card"> <svg class="nut-icon-wrap" viewBox="0 0 42 42" xmlns="http://www.w3.org/2000/svg"><circle cx="21" cy="21" r="20" fill="#fff9c4"/><text x="21" y="27" text-anchor="middle" font-family="Impact,Arial" font-size="18" fill="#e65100">0g</text></svg> <div class="nut-value">0 g</div><div class="nut-label">Carbohydrates</div> </div> </div> </div> <div class="tips-section"> <div class="section-title">PRO TIPS</div> <div class="tips-grid"> <div class="tip-item"> <svg class="tip-icon-wrap" viewBox="0 0 38 38" xmlns="http://www.w3.org/2000/svg"><circle cx="19" cy="19" r="18" fill="#fff3e0"/><ellipse cx="19" cy="22" rx="13" ry="14" fill="#fff9c4" stroke="#f9a825" stroke-width="2"/><circle cx="19" cy="22" r="6" fill="#ffca28"/></svg> <p><strong>Use older eggs</strong> (7-10 days old) — they peel much more easily than fresh ones.</p> </div> <div class="tip-item"> <svg class="tip-icon-wrap" viewBox="0 0 38 38" xmlns="http://www.w3.org/2000/svg"><circle cx="19" cy="19" r="18" fill="#e3f2fd"/><rect x="8" y="12" width="22" height="18" rx="4" fill="#bbdefb" stroke="#42a5f5" stroke-width="2"/><rect x="6" y="10" width="26" height="4" rx="2" fill="#42a5f5"/><rect x="11" y="17" width="6" height="6" rx="2" fill="#e3f2fd" stroke="#64b5f6" stroke-width="1"/><rect x="21" y="17" width="6" height="6" rx="2" fill="#e3f2fd" stroke="#64b5f6" stroke-width="1"/></svg> <p><strong>Always ice bath</strong> immediately after boiling to stop cooking and prevent a grey yolk ring.</p> </div> <div class="tip-item"> <svg class="tip-icon-wrap" viewBox="0 0 38 38" xmlns="http://www.w3.org/2000/svg"><circle cx="19" cy="19" r="18" fill="#fff3e0"/><rect x="17" y="8" width="4" height="18" rx="2" fill="#ffca28" stroke="#f57f17" stroke-width="1.5"/><circle cx="19" cy="27" r="5" fill="#e65100"/><rect x="18" y="15" width="2" height="10" rx="1" fill="#e65100"/></svg> <p><strong>Room temp eggs</strong> crack less. Take them out of the fridge 10 minutes before boiling.</p> </div> <div class="tip-item"> <svg class="tip-icon-wrap" viewBox="0 0 38 38" xmlns="http://www.w3.org/2000/svg"><circle cx="19" cy="19" r="18" fill="#fff9c4"/><rect x="14" y="14" width="10" height="16" rx="4" fill="#fff" stroke="#f9a825" stroke-width="1.5"/><rect x="16" y="11" width="6" height="5" rx="2" fill="#f57f17"/><circle cx="17" cy="19" r="1" fill="#f9a825"/><circle cx="21" cy="19" r="1" fill="#f9a825"/><circle cx="19" cy="22" r="1" fill="#f9a825"/></svg> <p><strong>Add a pinch of salt</strong> to the water — helps seal any cracks and makes peeling easier.</p> </div> </div> </div> <div class="footer"> <strong>Eggs are one of nature's most nutritious foods — a complete protein source with essential vitamins & minerals.</strong><br> Store hard-boiled eggs in the fridge (unpeeled) for up to 1 week. </div> </div> </body> </html> HTMLEOF echo "Written: $?"