workout: Day C card for 2026-04-17
This commit is contained in:
@@ -0,0 +1,203 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<base href="/ash/">
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Workout: Day C — 2026-04-17</title>
|
||||
<style>
|
||||
* { box-sizing: border-box; margin: 0; padding: 0; }
|
||||
body {
|
||||
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
|
||||
background: #0f0f0f;
|
||||
color: #e0e0e0;
|
||||
min-height: 100vh;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
padding: 40px 20px;
|
||||
}
|
||||
.container { max-width: 800px; width: 100%; }
|
||||
h1 { font-size: 1.8rem; margin-bottom: 4px; color: #f97316; }
|
||||
.breadcrumb { color: #666; margin-bottom: 24px; font-size: 0.85rem; }
|
||||
.breadcrumb a { color: #888; text-decoration: none; }
|
||||
.breadcrumb a:hover { color: #f97316; }
|
||||
.date-header { color: #888; font-size: 0.9rem; margin-bottom: 16px; }
|
||||
.day-badge { display: inline-block; background: rgba(249, 115, 22, 0.2); color: #f97316; padding: 4px 12px; border-radius: 16px; font-size: 0.85rem; font-weight: 500; margin-bottom: 24px; }
|
||||
.section { margin-bottom: 32px; }
|
||||
h2 { font-size: 1.2rem; color: #f97316; margin-bottom: 16px; }
|
||||
.table {
|
||||
background: rgba(255,255,255,0.04);
|
||||
border: 1px solid rgba(255,255,255,0.08);
|
||||
border-radius: 12px;
|
||||
overflow: hidden;
|
||||
}
|
||||
.table table { width: 100%; border-collapse: collapse; }
|
||||
.table th { background: rgba(255,255,255,0.08); padding: 12px 16px; text-align: left; font-weight: 500; font-size: 0.85rem; color: #888; }
|
||||
.table td { padding: 12px 16px; border-top: 1px solid rgba(255,255,255,0.08); font-size: 0.95rem; }
|
||||
.exercise-name { font-weight: 500; }
|
||||
.reps { color: #666; font-size: 0.9rem; }
|
||||
.weight { color: #666; font-size: 0.9rem; }
|
||||
.video-link { color: #4a9eff; text-decoration: none; font-size: 0.85rem; }
|
||||
.video-link:hover { color: #6bb3ff; }
|
||||
.form-note { color: #666; font-size: 0.85rem; font-style: italic; }
|
||||
.note { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-radius: 12px; padding: 16px; margin-top: 16px; color: #888; font-size: 0.85rem; }
|
||||
.back-link { display: inline-block; color: #f97316; text-decoration: none; font-size: 0.85rem; margin-top: 32px; }
|
||||
.back-link:hover { color: #ff8c42; }
|
||||
@media (min-width: 1200px) {
|
||||
body { padding: 60px 40px; }
|
||||
.container { max-width: 1100px; }
|
||||
h1 { font-size: 2.8rem; }
|
||||
h2 { font-size: 1.8rem; }
|
||||
.date-header { font-size: 1.2rem; margin-bottom: 20px; }
|
||||
.day-badge { font-size: 1.1rem; padding: 6px 18px; margin-bottom: 32px; }
|
||||
.table th { padding: 16px 24px; font-size: 1.1rem; }
|
||||
.table td { padding: 16px 24px; font-size: 1.3rem; }
|
||||
.exercise-name { font-size: 1.4rem; }
|
||||
.reps { font-size: 1.2rem; }
|
||||
.weight { font-size: 1.2rem; }
|
||||
.video-link { font-size: 1.1rem; }
|
||||
.form-note { font-size: 1.1rem; }
|
||||
.note { padding: 20px 24px; font-size: 1.1rem; }
|
||||
.section { margin-bottom: 48px; }
|
||||
}
|
||||
@keyframes pulse { 0% { opacity: 0.6; } 50% { opacity: 1; } 100% { opacity: 0.6; } }
|
||||
.wake-locked { position: fixed; bottom: 20px; right: 20px; background: rgba(249, 115, 22, 0.9); color: white; padding: 8px 16px; border-radius: 20px; font-size: 0.85rem; animation: pulse 2s infinite; display: none; }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<p class="breadcrumb"><a href="../">Ash Pages</a> / <a href="index.html">Workouts</a> /</p>
|
||||
<h1>💪 Workout Day</h1>
|
||||
<div class="date-header">Friday, April 17, 2026</div>
|
||||
<div class="day-badge">Day C — Dynamic Full-Body</div>
|
||||
|
||||
<!-- Warmup -->
|
||||
<div class="section">
|
||||
<h2>Warmup</h2>
|
||||
<div class="note">5 min treadmill walk + arm swings + bodyweight squats</div>
|
||||
</div>
|
||||
|
||||
<!-- Main workout table -->
|
||||
<div class="section">
|
||||
<h2>Main Workout</h2>
|
||||
<div class="table">
|
||||
<table>
|
||||
<thead><tr><th>#</th><th>Exercise</th><th>Reps</th><th>Weight</th><th>Form Video</th></tr></thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>1</td>
|
||||
<td class="exercise-name">Farmer's Walk</td>
|
||||
<td class="reps">20 steps</td>
|
||||
<td class="weight">15 lb pair or KBs</td>
|
||||
<td><a href="https://www.youtube.com/watch?v=Fkzk_RqlYig" class="video-link" target="_blank">▶ Video</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>2</td>
|
||||
<td class="exercise-name">H2L Chop (wood chop)</td>
|
||||
<td class="reps">10/side</td>
|
||||
<td class="weight">20 lb KB</td>
|
||||
<td><a href="https://www.youtube.com/watch?v=4gzbmyDdaho" class="video-link" target="_blank">▶ Video</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>3</td>
|
||||
<td class="exercise-name">DB Push Press</td>
|
||||
<td class="reps">10</td>
|
||||
<td class="weight">10 lb pair → 15 lb</td>
|
||||
<td><a href="https://www.youtube.com/watch?v=jFnZPgmTwik" class="video-link" target="_blank">▶ Video</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>4</td>
|
||||
<td class="exercise-name">DB Rear Delt Flies</td>
|
||||
<td class="reps">10</td>
|
||||
<td class="weight">5 lb pair → 10 lb</td>
|
||||
<td><a href="https://www.youtube.com/watch?v=d1QEddtoOq0" class="video-link" target="_blank">▶ Video</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>5</td>
|
||||
<td class="exercise-name">DB Hammer Curls</td>
|
||||
<td class="reps">15</td>
|
||||
<td class="weight">10 lb pair → 12 lb</td>
|
||||
<td><span class="form-note">palms face each other, no swing</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>6</td>
|
||||
<td class="exercise-name">Calf Raises (1-leg)</td>
|
||||
<td class="reps">20 (10/leg)</td>
|
||||
<td class="weight">bodyweight or hold KB</td>
|
||||
<td><span class="form-note">step edge or flat floor</span></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="note"><strong>Structure:</strong> 3 rounds, 60-90s rest between rounds</div>
|
||||
</div>
|
||||
|
||||
<!-- Core finisher -->
|
||||
<div class="section">
|
||||
<h2>Core Finisher</h2>
|
||||
<div class="table">
|
||||
<table>
|
||||
<thead><tr><th>#</th><th>Exercise</th><th>Reps/Time</th><th>Weight</th><th>Form Video</th></tr></thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>1</td>
|
||||
<td class="exercise-name">Dead Bugs</td>
|
||||
<td class="reps">10/side</td>
|
||||
<td class="weight">bodyweight</td>
|
||||
<td><a href="https://www.youtube.com/watch?v=g_BYB0R-4Ws" class="video-link" target="_blank">▶ Video</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>2</td>
|
||||
<td class="exercise-name">Russian Twists</td>
|
||||
<td class="reps">20 total</td>
|
||||
<td class="weight">8 lb KB or 10 lb DB</td>
|
||||
<td><a href="https://www.youtube.com/watch?v=wkD8rjkodUI" class="video-link" target="_blank">▶ Video</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>3</td>
|
||||
<td class="exercise-name">Plank Hold</td>
|
||||
<td class="reps">30-45s</td>
|
||||
<td class="weight">bodyweight</td>
|
||||
<td><a href="https://www.youtube.com/watch?v=ASdvN_XEl_c" class="video-link" target="_blank">▶ Video</a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="note"><strong>Structure:</strong> 2 rounds, minimal rest between exercises or rounds. No rest between exercises — just move through them.</div>
|
||||
</div>
|
||||
|
||||
<a href="index.html" class="back-link">← Back to workout list</a>
|
||||
</div>
|
||||
|
||||
<div class="wake-locked" id="wakeLockStatus">Screen locked for workout</div>
|
||||
|
||||
<script>
|
||||
// Wake Lock API — MUST use navigator.wakeLock, NOT window.WakeLock
|
||||
let wakeLock = null;
|
||||
async function requestWakeLock() {
|
||||
try {
|
||||
wakeLock = await navigator.wakeLock.request('screen');
|
||||
const status = document.getElementById('wakeLockStatus');
|
||||
status.style.display = 'block';
|
||||
status.textContent = '🔒 Screen locked for workout';
|
||||
wakeLock.addEventListener('release', () => { status.style.display = 'none'; wakeLock = null; });
|
||||
} catch (err) {
|
||||
const status = document.getElementById('wakeLockStatus');
|
||||
status.style.display = 'block';
|
||||
status.textContent = '⚠️ Wake lock not available';
|
||||
status.style.background = 'rgba(100, 100, 100, 0.9)';
|
||||
}
|
||||
}
|
||||
if ('wakeLock' in navigator) {
|
||||
const btn = document.createElement('button');
|
||||
btn.textContent = '🔒 Lock Screen';
|
||||
btn.style.cssText = 'position:fixed;bottom:20px;left:20px;background:#f97316;color:white;border:none;padding:8px 16px;border-radius:20px;font-size:0.85rem;cursor:pointer;z-index:1000;';
|
||||
btn.addEventListener('click', requestWakeLock);
|
||||
document.body.appendChild(btn);
|
||||
document.addEventListener('visibilitychange', async () => {
|
||||
if (wakeLock !== null && document.visibilityState === 'visible') await requestWakeLock();
|
||||
});
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -44,6 +44,11 @@
|
||||
<h1>💪 Workouts</h1>
|
||||
<p style="color:#888; margin-bottom:24px;">KB+DB Circuit — 3x/week, A/B/C rotation</p>
|
||||
|
||||
<a href="2026-04-17.html" class="card">
|
||||
<span class="date">Apr 17</span>
|
||||
<span class="session">Day C · Dynamic Full-Body</span>
|
||||
</a>
|
||||
|
||||
<a href="2026-04-15.html" class="card">
|
||||
<span class="date">Apr 15</span>
|
||||
<span class="session">Day B · Full-Body Circuit</span>
|
||||
|
||||
Reference in New Issue
Block a user