Files
ash-pages/workout/2026-05-08.html
T

346 lines
16 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!-- WORKOUT CARD — SIDEBAR LAYOUT -->
<!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-05-08</title>
<style>
* { box-sizing: border-box; margin: 0; padding: 0; }
html, body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
background: #0f0f0f;
color: #e0e0e0;
height: 100%;
overflow: hidden;
}
.page {
display: flex;
flex-direction: row;
height: 100vh;
max-width: 100%;
overflow: hidden;
}
.left {
flex: 1;
display: flex;
flex-direction: column;
min-width: 0;
overflow: hidden;
}
.header {
padding: 16px 24px 8px;
flex-shrink: 0;
}
.breadcrumb { color: #666; font-size: 0.8rem; margin-bottom: 8px; }
.breadcrumb a { color: #888; text-decoration: none; }
.breadcrumb a:hover { color: #f97316; }
h1 { font-size: 1.6rem; color: #f97316; margin-bottom: 2px; }
.date-header { color: #888; font-size: 0.85rem; margin-bottom: 6px; }
.day-badge { display: inline-block; background: rgba(249, 115, 22, 0.2); color: #f97316; padding: 3px 10px; border-radius: 12px; font-size: 0.8rem; font-weight: 500; }
.main {
flex: 1;
overflow-y: auto;
padding: 0 24px 16px;
}
.section { margin-bottom: 20px; }
h2 { font-size: 1rem; color: #f97316; margin-bottom: 10px; font-weight: 600; }
.table {
background: rgba(255,255,255,0.04);
border: 1px solid rgba(255,255,255,0.08);
border-radius: 10px;
overflow: hidden;
}
.table table { width: 100%; border-collapse: collapse; }
.table th { background: rgba(255,255,255,0.06); padding: 8px 12px; text-align: left; font-weight: 500; font-size: 0.75rem; color: #888; text-transform: uppercase; letter-spacing: 0.5px; }
.table td { padding: 10px 12px; border-top: 1px solid rgba(255,255,255,0.06); font-size: 0.9rem; color: #e0e0e0; vertical-align: top; }
.exercise-name { font-weight: 500; }
.exercise-name a { color: #e0e0e0; text-decoration: none; }
.exercise-name a:hover { color: #4a9eff; }
.reps { color: #e0e0e0; font-size: 0.85rem; }
.weight { color: #e0e0e0; font-size: 0.85rem; }
.form-note { color: #888; font-size: 0.8rem; font-style: italic; }
.note { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-radius: 10px; padding: 12px; margin-top: 12px; color: #888; font-size: 0.8rem; }
.back-link { display: inline-block; color: #f97316; text-decoration: none; font-size: 0.8rem; margin-top: 16px; margin-bottom: 24px; }
.back-link:hover { color: #ff8c42; }
.exercise-muscles { display: flex; gap: 4px; flex-wrap: wrap; margin-top: 4px; }
.muscle-tag { font-size: 0.65rem; padding: 2px 8px; border-radius: 10px; font-weight: 500; cursor: pointer; transition: all 0.2s; border: 2px solid transparent; user-select: none; }
.muscle-tag:hover { transform: scale(1.08); filter: brightness(1.2); }
.muscle-tag.active { border-color: currentColor; box-shadow: 0 0 10px currentColor; transform: scale(1.1); }
.muscle-tag.deltoid { background: rgba(100, 181, 246, 0.25); color: #64b5f6; }
.muscle-tag.pectoralis { background: rgba(229, 115, 115, 0.25); color: #e57373; }
.muscle-tag.trapezius { background: rgba(129, 199, 132, 0.25); color: #81c784; }
.muscle-tag.latissimus { background: rgba(129, 199, 132, 0.25); color: #81c784; }
.muscle-tag.triceps { background: rgba(255, 183, 77, 0.25); color: #ffb74d; }
.muscle-tag.biceps { background: rgba(255, 183, 77, 0.25); color: #ffb74d; }
.muscle-tag.rectus-abdominis { background: rgba(161, 136, 127, 0.25); color: #a1887f; }
.muscle-tag.obliques { background: rgba(161, 136, 127, 0.25); color: #a1887f; }
.muscle-tag.quadriceps { background: rgba(144, 164, 174, 0.25); color: #90a4ae; }
.muscle-tag.hamstrings { background: rgba(144, 164, 174, 0.25); color: #90a4ae; }
.muscle-tag.glutes { background: rgba(144, 164, 174, 0.25); color: #90a4ae; }
.muscle-tag.gastrocnemius { background: rgba(144, 164, 174, 0.25); color: #90a4ae; }
.muscle-tag.serratus { background: rgba(229, 115, 115, 0.25); color: #e57373; }
.muscle-tag.rhomboids { background: rgba(129, 199, 132, 0.25); color: #81c784; }
.muscle-tag.erector-spinae { background: rgba(161, 136, 127, 0.25); color: #a1887f; }
.muscle-tag.core { background: rgba(186, 104, 200, 0.25); color: #ba68c8; }
.muscle-tag.shoulders { background: rgba(100, 181, 246, 0.25); color: #64b5f6; }
.muscle-tag.forearms { background: rgba(255, 183, 77, 0.25); color: #ffb74d; }
.anatomy-column {
width: 360px;
flex-shrink: 0;
display: flex;
flex-direction: column;
padding: 16px 24px 16px 0;
overflow-y: auto;
}
.anatomy-section {
background: rgba(255,255,255,0.04);
border: 1px solid rgba(255,255,255,0.08);
border-radius: 10px;
padding: 12px;
}
.anatomy-header { margin-bottom: 10px; }
.anatomy-title { font-size: 0.85rem; color: #f97316; font-weight: 600; }
.anatomy-diagrams {
display: flex;
flex-direction: column;
gap: 10px;
}
.diagram-container {
background: #ffffff;
border-radius: 8px;
padding: 8px;
text-align: center;
border: 2px solid transparent;
transition: all 0.3s ease;
}
.diagram-container h3 { font-size: 0.7rem; color: #888; margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.5px; }
.diagram-container img {
width: auto;
max-width: 100%;
height: auto;
max-height: 35vh;
object-fit: contain;
display: block;
margin: 0 auto;
}
.diagram-container.highlighted { box-shadow: 0 0 25px rgba(249, 115, 22, 0.6); border-color: rgba(249, 115, 22, 0.8); transform: scale(1.01); }
@media (max-width: 1100px) {
html, body { height: auto; overflow: auto; }
.page { flex-direction: column; height: auto; }
.left { height: auto; }
.main { padding: 0 16px 16px; }
.anatomy-column { display: none; }
.header { padding: 16px 16px 8px; }
}
@media (min-width: 1600px) {
.header { padding: 20px 32px 12px; }
.main { padding: 0 32px 20px; }
h1 { font-size: 2rem; }
.day-badge { font-size: 0.9rem; padding: 4px 12px; }
.table td { padding: 12px 14px; font-size: 1rem; }
.exercise-name { font-size: 1.1rem; }
.reps, .weight { font-size: 0.95rem; }
.muscle-tag { font-size: 0.75rem; padding: 3px 10px; }
.anatomy-column { width: 400px; padding: 20px 32px 20px 0; }
}
@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; z-index: 1000; }
</style>
</head>
<body>
<div class="page">
<div class="left">
<div class="header">
<p class="breadcrumb"><a href="../">Ash Pages</a> / <a href="index.html">Workouts</a> /</p>
<h1>💪 Day C — Dynamic Full-Body</h1>
<div class="date-header">Friday, May 8, 2026</div>
<div class="day-badge">Day C — Dynamic Full-Body</div>
</div>
<div class="main">
<div class="workout-column" id="workoutColumn">
<div class="section">
<h2>🔥 Warmup</h2>
<div class="note">5 min treadmill walk + arm swings + bodyweight squats</div>
</div>
<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>Muscles</th></tr></thead>
<tbody>
<tr>
<td>1</td>
<td class="exercise-name"><a href="https://www.youtube.com/watch?v=Fkzk_RqlYig" target="_blank">Farmer's Walk</a></td>
<td class="reps">20 steps</td>
<td class="weight">15 lb pair or KBs</td>
<td><div class="exercise-muscles"><span class="muscle-tag trapezius">Traps</span><span class="muscle-tag forearms">Forearms</span><span class="muscle-tag core">Core</span></div></td>
</tr>
<tr>
<td>2</td>
<td class="exercise-name"><a href="https://www.youtube.com/watch?v=4gzbmyDdaho" target="_blank">H2L Chop (wood chop)</a></td>
<td class="reps">10/side</td>
<td class="weight">20 lb KB</td>
<td><div class="exercise-muscles"><span class="muscle-tag obliques">Obliques</span><span class="muscle-tag deltoid">Shoulders</span><span class="muscle-tag core">Core</span></div></td>
</tr>
<tr>
<td>3</td>
<td class="exercise-name"><a href="https://www.youtube.com/watch?v=jFnZPgmTwik" target="_blank">DB Push Press</a></td>
<td class="reps">10</td>
<td class="weight">10 lb pair → 15 lb</td>
<td><div class="exercise-muscles"><span class="muscle-tag deltoid">Shoulders</span><span class="muscle-tag triceps">Triceps</span><span class="muscle-tag quadriceps">Quads</span></div></td>
</tr>
<tr>
<td>4</td>
<td class="exercise-name"><a href="https://www.youtube.com/watch?v=d1QEddtoOq0" target="_blank">DB Rear Delt Flies</a></td>
<td class="reps">10</td>
<td class="weight">5 lb pair → 10 lb</td>
<td><div class="exercise-muscles"><span class="muscle-tag deltoid">Rear Delts</span><span class="muscle-tag rhomboids">Rhomboids</span><span class="muscle-tag trapezius">Traps</span></div></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><div class="exercise-muscles"><span class="muscle-tag biceps">Biceps</span><span class="muscle-tag forearms">Forearms</span></div></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><div class="exercise-muscles"><span class="muscle-tag gastrocnemius">Calves</span></div></td>
</tr>
</tbody>
</table>
</div>
<div class="note"><strong>Structure:</strong> 3 rounds, 6090s rest between rounds</div>
</div>
<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>Muscles</th></tr></thead>
<tbody>
<tr>
<td>1</td>
<td class="exercise-name"><a href="https://www.youtube.com/watch?v=g_BYB0R-4Ws" target="_blank">Dead Bugs</a></td>
<td class="reps">10/side</td>
<td class="weight">bodyweight</td>
<td><div class="exercise-muscles"><span class="muscle-tag rectus-abdominis">Abs</span><span class="muscle-tag core">Core</span></div></td>
</tr>
<tr>
<td>2</td>
<td class="exercise-name"><a href="https://www.youtube.com/watch?v=wkD8rjkodUI" target="_blank">Russian Twists</a></td>
<td class="reps">20 total</td>
<td class="weight">12 lb KB or DB</td>
<td><div class="exercise-muscles"><span class="muscle-tag obliques">Obliques</span><span class="muscle-tag rectus-abdominis">Abs</span></div></td>
</tr>
<tr>
<td>3</td>
<td class="exercise-name"><a href="https://www.youtube.com/watch?v=ASdvN_XEl_c" target="_blank">Plank Hold</a></td>
<td class="reps">3045s</td>
<td class="weight">bodyweight</td>
<td><div class="exercise-muscles"><span class="muscle-tag rectus-abdominis">Abs</span><span class="muscle-tag core">Core</span><span class="muscle-tag erector-spinae">Spinal Erectors</span></div></td>
</tr>
</tbody>
</table>
</div>
<div class="note"><strong>Structure:</strong> 2 rounds, minimal rest. No rest between exercises.</div>
</div>
<a href="index.html" class="back-link">← Back to all workouts</a>
</div>
</div>
</div>
<div class="anatomy-column">
<div class="anatomy-section">
<div class="anatomy-header">
<div class="anatomy-title">📚 Muscle Reference</div>
</div>
<div class="anatomy-diagrams">
<div class="diagram-container" id="diagram-anterior">
<h3>Anterior (Front)</h3>
<img src="workout/muscles-anterior-labeled.png" alt="Anterior muscles">
</div>
<div class="diagram-container" id="diagram-posterior">
<h3>Posterior (Back)</h3>
<img src="workout/muscles-posterior-labeled.png" alt="Posterior muscles">
</div>
</div>
</div>
</div>
</div>
<div class="wake-locked" id="wakeLockStatus">Screen locked for workout</div>
<script>
const workoutCol = document.querySelector('.main');
const SCROLL_AMOUNT = 120;
document.addEventListener('keydown', (e) => {
if (e.key === 'ArrowDown' || e.key === 'Down') {
e.preventDefault();
workoutCol.scrollBy({ top: SCROLL_AMOUNT, behavior: 'smooth' });
} else if (e.key === 'ArrowUp' || e.key === 'Up') {
e.preventDefault();
workoutCol.scrollBy({ top: -SCROLL_AMOUNT, behavior: 'smooth' });
}
});
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)';
}
}
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:10px 20px;border-radius:24px;font-size:1rem;cursor:pointer;z-index:1000;';
btn.addEventListener('click', () => {
if ('wakeLock' in navigator) { requestWakeLock(); }
else {
const status = document.getElementById('wakeLockStatus');
status.style.display = 'block';
status.textContent = '🔒 Screen locked (fullscreen)';
status.style.background = 'rgba(249, 115, 22, 0.9)';
document.documentElement.requestFullscreen?.();
}
});
document.body.appendChild(btn);
document.addEventListener('visibilitychange', async () => {
if (wakeLock !== null && document.visibilityState === 'visible') await requestWakeLock();
});
document.querySelectorAll('.muscle-tag').forEach(tag => {
tag.addEventListener('click', function(e) {
e.preventDefault();
document.querySelectorAll('.muscle-tag').forEach(t => t.classList.remove('active'));
this.classList.add('active');
document.querySelectorAll('.diagram-container').forEach(c => c.classList.add('highlighted'));
setTimeout(() => {
document.querySelectorAll('.diagram-container').forEach(c => c.classList.remove('highlighted'));
this.classList.remove('active');
}, 3000);
});
});
</script>
</body>
</html>