workout: restore sidebar template, fix Day B card, remove stacked templates
This commit is contained in:
+272
-322
@@ -7,143 +7,67 @@
|
|||||||
<title>Workout: Day B — 2026-04-29</title>
|
<title>Workout: Day B — 2026-04-29</title>
|
||||||
<style>
|
<style>
|
||||||
* { box-sizing: border-box; margin: 0; padding: 0; }
|
* { box-sizing: border-box; margin: 0; padding: 0; }
|
||||||
body {
|
html, body {
|
||||||
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
|
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
|
||||||
background: #0f0f0f;
|
background: #0f0f0f;
|
||||||
color: #e0e0e0;
|
color: #e0e0e0;
|
||||||
min-height: 100vh;
|
height: 100%;
|
||||||
display: flex;
|
overflow: hidden;
|
||||||
justify-content: center;
|
|
||||||
padding: 40px 20px;
|
|
||||||
}
|
}
|
||||||
.container { max-width: 1200px; width: 100%; }
|
.page {
|
||||||
h1 { font-size: 1.8rem; margin-bottom: 4px; color: #f97316; }
|
display: flex;
|
||||||
.breadcrumb { color: #666; margin-bottom: 24px; font-size: 0.85rem; }
|
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 { color: #888; text-decoration: none; }
|
||||||
.breadcrumb a:hover { color: #f97316; }
|
.breadcrumb a:hover { color: #f97316; }
|
||||||
.date-header { color: #888; font-size: 0.9rem; margin-bottom: 16px; }
|
h1 { font-size: 1.6rem; color: #f97316; margin-bottom: 2px; }
|
||||||
.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; }
|
.date-header { color: #888; font-size: 0.85rem; margin-bottom: 6px; }
|
||||||
.section { margin-bottom: 32px; }
|
.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; }
|
||||||
h2 { font-size: 1.2rem; color: #f97316; margin-bottom: 16px; }
|
.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 {
|
.table {
|
||||||
background: rgba(255,255,255,0.04);
|
background: rgba(255,255,255,0.04);
|
||||||
border: 1px solid rgba(255,255,255,0.08);
|
border: 1px solid rgba(255,255,255,0.08);
|
||||||
border-radius: 12px;
|
border-radius: 10px;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
margin-bottom: 16px;
|
|
||||||
}
|
}
|
||||||
.table table { width: 100%; border-collapse: collapse; }
|
.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 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: 12px 16px; border-top: 1px solid rgba(255,255,255,0.08); font-size: 0.95rem; }
|
.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 { font-weight: 500; }
|
||||||
.exercise-name a { color: #e0e0e0; text-decoration: none; }
|
.exercise-name a { color: #e0e0e0; text-decoration: none; }
|
||||||
.exercise-name a:hover { color: #4a9eff; }
|
.exercise-name a:hover { color: #4a9eff; }
|
||||||
.reps { color: #666; font-size: 0.9rem; }
|
.reps { color: #e0e0e0; font-size: 0.85rem; }
|
||||||
.weight { color: #666; font-size: 0.9rem; }
|
.weight { color: #e0e0e0; font-size: 0.85rem; }
|
||||||
.video-link { color: #4a9eff; text-decoration: none; font-size: 0.85rem; }
|
.form-note { color: #888; font-size: 0.8rem; font-style: italic; }
|
||||||
.video-link:hover { color: #6bb3ff; }
|
.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; }
|
||||||
.form-note { color: #666; font-size: 0.85rem; font-style: italic; }
|
.back-link { display: inline-block; color: #f97316; text-decoration: none; font-size: 0.8rem; margin-top: 16px; margin-bottom: 24px; }
|
||||||
.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; }
|
.back-link:hover { color: #ff8c42; }
|
||||||
|
|
||||||
.anatomy-section {
|
.exercise-muscles { display: flex; gap: 4px; flex-wrap: wrap; margin-top: 4px; }
|
||||||
background: rgba(255,255,255,0.04);
|
.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; }
|
||||||
border: 1px solid rgba(255,255,255,0.08);
|
.muscle-tag:hover { transform: scale(1.08); filter: brightness(1.2); }
|
||||||
border-radius: 12px;
|
.muscle-tag.active { border-color: currentColor; box-shadow: 0 0 10px currentColor; transform: scale(1.1); }
|
||||||
padding: 20px;
|
|
||||||
margin-bottom: 24px;
|
|
||||||
}
|
|
||||||
.anatomy-header {
|
|
||||||
display: flex;
|
|
||||||
justify-content: space-between;
|
|
||||||
align-items: center;
|
|
||||||
margin-bottom: 16px;
|
|
||||||
flex-wrap: wrap;
|
|
||||||
gap: 12px;
|
|
||||||
}
|
|
||||||
.anatomy-title {
|
|
||||||
font-size: 1rem;
|
|
||||||
color: #f97316;
|
|
||||||
font-weight: 600;
|
|
||||||
}
|
|
||||||
.anatomy-hint {
|
|
||||||
font-size: 0.8rem;
|
|
||||||
color: #666;
|
|
||||||
}
|
|
||||||
.anatomy-diagrams {
|
|
||||||
display: grid;
|
|
||||||
grid-template-columns: 1fr 1fr;
|
|
||||||
gap: 20px;
|
|
||||||
align-items: start;
|
|
||||||
}
|
|
||||||
.diagram-container {
|
|
||||||
background: #ffffff;
|
|
||||||
border-radius: 8px;
|
|
||||||
padding: 12px;
|
|
||||||
text-align: center;
|
|
||||||
position: relative;
|
|
||||||
transition: all 0.3s ease;
|
|
||||||
border: 2px solid transparent;
|
|
||||||
}
|
|
||||||
.diagram-container h3 {
|
|
||||||
font-size: 0.85rem;
|
|
||||||
color: #888;
|
|
||||||
margin-bottom: 12px;
|
|
||||||
text-transform: uppercase;
|
|
||||||
letter-spacing: 0.5px;
|
|
||||||
}
|
|
||||||
.diagram-container img {
|
|
||||||
width: auto;
|
|
||||||
max-width: 100%;
|
|
||||||
height: auto;
|
|
||||||
max-height: 550px;
|
|
||||||
object-fit: contain;
|
|
||||||
filter: none;
|
|
||||||
transition: filter 0.3s, transform 0.3s;
|
|
||||||
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.02);
|
|
||||||
}
|
|
||||||
.diagram-container.highlighted img {
|
|
||||||
filter: brightness(1.05) contrast(1.05);
|
|
||||||
}
|
|
||||||
.muscle-label {
|
|
||||||
font-size: 0.75rem;
|
|
||||||
color: #aaa;
|
|
||||||
margin-top: 8px;
|
|
||||||
font-style: italic;
|
|
||||||
}
|
|
||||||
|
|
||||||
.exercise-muscles {
|
|
||||||
display: flex;
|
|
||||||
gap: 6px;
|
|
||||||
flex-wrap: wrap;
|
|
||||||
margin-top: 6px;
|
|
||||||
}
|
|
||||||
.muscle-tag {
|
|
||||||
font-size: 0.7rem;
|
|
||||||
padding: 3px 10px;
|
|
||||||
border-radius: 12px;
|
|
||||||
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 12px currentColor;
|
|
||||||
transform: scale(1.1);
|
|
||||||
}
|
|
||||||
.muscle-tag.deltoid { background: rgba(100, 181, 246, 0.25); color: #64b5f6; }
|
.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.pectoralis { background: rgba(229, 115, 115, 0.25); color: #e57373; }
|
||||||
.muscle-tag.trapezius { background: rgba(129, 199, 132, 0.25); color: #81c784; }
|
.muscle-tag.trapezius { background: rgba(129, 199, 132, 0.25); color: #81c784; }
|
||||||
@@ -160,235 +84,261 @@
|
|||||||
.muscle-tag.rhomboids { background: rgba(129, 199, 132, 0.25); color: #81c784; }
|
.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.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.core { background: rgba(186, 104, 200, 0.25); color: #ba68c8; }
|
||||||
.muscle-tag.forearms { background: rgba(255, 183, 77, 0.25); color: #ffb74d; }
|
|
||||||
.muscle-tag.shoulders { background: rgba(100, 181, 246, 0.25); color: #64b5f6; }
|
.muscle-tag.shoulders { background: rgba(100, 181, 246, 0.25); color: #64b5f6; }
|
||||||
|
.muscle-tag.forearms { background: rgba(255, 183, 77, 0.25); color: #ffb74d; }
|
||||||
|
|
||||||
@media (max-width: 768px) {
|
.anatomy-column {
|
||||||
.anatomy-diagrams {
|
width: 360px;
|
||||||
grid-template-columns: 1fr;
|
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: 1200px) {
|
@media (min-width: 1600px) {
|
||||||
body { padding: 60px 40px; }
|
.header { padding: 20px 32px 12px; }
|
||||||
.container { max-width: 1400px; }
|
.main { padding: 0 32px 20px; }
|
||||||
h1 { font-size: 2.8rem; }
|
h1 { font-size: 2rem; }
|
||||||
h2 { font-size: 1.8rem; }
|
.day-badge { font-size: 0.9rem; padding: 4px 12px; }
|
||||||
.date-header { font-size: 1.2rem; margin-bottom: 20px; }
|
.table td { padding: 12px 14px; font-size: 1rem; }
|
||||||
.day-badge { font-size: 1.1rem; padding: 6px 18px; margin-bottom: 32px; }
|
.exercise-name { font-size: 1.1rem; }
|
||||||
.table th { padding: 16px 24px; font-size: 1.1rem; }
|
.reps, .weight { font-size: 0.95rem; }
|
||||||
.table td { padding: 16px 24px; font-size: 1.3rem; }
|
.muscle-tag { font-size: 0.75rem; padding: 3px 10px; }
|
||||||
.exercise-name { font-size: 1.4rem; }
|
.anatomy-column { width: 400px; padding: 20px 32px 20px 0; }
|
||||||
.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; z-index: 1000; }
|
||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div class="container">
|
<div class="page">
|
||||||
<p class="breadcrumb"><a href="../">Ash Pages</a> / <a href="index.html">Workouts</a> /</p>
|
<div class="left">
|
||||||
<h1>💪 Workout Day B</h1>
|
<div class="header">
|
||||||
<div class="date-header">Wednesday, April 29, 2026</div>
|
<p class="breadcrumb"><a href="../">Ash Pages</a> / <a href="index.html">Workouts</a> /</p>
|
||||||
<div class="day-badge">Day B — Full-Body Circuit</div>
|
<h1>💪 Workout Day B</h1>
|
||||||
|
<div class="date-header">Wednesday, April 29, 2026</div>
|
||||||
<!-- Anatomy Reference Section -->
|
<div class="day-badge">Day B — Full-Body Circuit</div>
|
||||||
<div class="section anatomy-section">
|
|
||||||
<div class="anatomy-header">
|
|
||||||
<div class="anatomy-title">📚 Muscle Anatomy Reference</div>
|
|
||||||
<div class="anatomy-hint">Click muscle names below to locate on diagrams</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="anatomy-diagrams">
|
|
||||||
<div class="diagram-container" id="diagram-anterior">
|
<div class="main">
|
||||||
<h3>Anterior (Front)</h3>
|
<div class="workout-column" id="workoutColumn">
|
||||||
<img src="workout/muscles-anterior-labeled.png" alt="Labeled anterior muscle diagram">
|
<div class="section">
|
||||||
<div class="muscle-label">Deltoid · Pectoralis major · Biceps · Rectus abdominis · Quadriceps · etc.</div>
|
<h2>🔥 Warmup</h2>
|
||||||
</div>
|
<div class="note">5 min treadmill walk + arm circles + hip circles</div>
|
||||||
<div class="diagram-container" id="diagram-posterior">
|
</div>
|
||||||
<h3>Posterior (Back)</h3>
|
|
||||||
<img src="workout/muscles-posterior-labeled.png" alt="Labeled posterior muscle diagram">
|
<div class="section">
|
||||||
<div class="muscle-label">Trapezius · Latissimus dorsi · Triceps · Erector spinae · Hamstrings · Gastrocnemius · etc.</div>
|
<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=9_X3O3qdyjE" target="_blank">KB Around the World</a></td>
|
||||||
|
<td class="reps">8/side</td>
|
||||||
|
<td class="weight">35 lb KB</td>
|
||||||
|
<td><div class="exercise-muscles"><span class="muscle-tag deltoid">Delts</span><span class="muscle-tag core">Core</span><span class="muscle-tag forearms">Forearms</span></div></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>2</td>
|
||||||
|
<td class="exercise-name"><a href="https://www.youtube.com/watch?v=3V8Gq5N5msQ" target="_blank">DB Lateral Raises</a></td>
|
||||||
|
<td class="reps">12</td>
|
||||||
|
<td class="weight">10 lb pair</td>
|
||||||
|
<td><div class="exercise-muscles"><span class="muscle-tag deltoid">Delts</span><span class="muscle-tag serratus">Serratus</span></div></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>3</td>
|
||||||
|
<td class="exercise-name"><a href="https://www.youtube.com/watch?v=7F5SLhCh1ws" target="_blank">KB Sumo Deadlift</a></td>
|
||||||
|
<td class="reps">12</td>
|
||||||
|
<td class="weight">35 lb KB</td>
|
||||||
|
<td><div class="exercise-muscles"><span class="muscle-tag glutes">Glutes</span><span class="muscle-tag hamstrings">Hamstrings</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=0A2k4r4N0HE" target="_blank">DB Biceps Curls</a></td>
|
||||||
|
<td class="reps">12</td>
|
||||||
|
<td class="weight">12 lb pair</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>5</td>
|
||||||
|
<td class="exercise-name"><a href="https://www.youtube.com/watch?v=IODxD6zXgB4" target="_blank">Push-ups</a></td>
|
||||||
|
<td class="reps">15</td>
|
||||||
|
<td class="weight">bodyweight</td>
|
||||||
|
<td><div class="exercise-muscles"><span class="muscle-tag pectoralis">Pecs</span><span class="muscle-tag deltoid">Delts</span><span class="muscle-tag triceps">Triceps</span></div></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>6</td>
|
||||||
|
<td class="exercise-name"><a href="https://www.youtube.com/watch?v=c_9l0bNKqFg" target="_blank">DB Glute Bridge</a></td>
|
||||||
|
<td class="reps">15</td>
|
||||||
|
<td class="weight">20 lb pair</td>
|
||||||
|
<td><div class="exercise-muscles"><span class="muscle-tag glutes">Glutes</span><span class="muscle-tag hamstrings">Hamstrings</span><span class="muscle-tag erector-spinae">Erector Spinae</span></div></td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<div class="note"><strong>Structure:</strong> 3 rounds, 60–90s rest between rounds. <strong>Elbow note:</strong> Watch form on biceps curls — don't push through sharp pain.</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">30–45s</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>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<div class="note"><strong>Structure:</strong> 2 rounds, minimal rest. No rest between exercises — move through them.</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<a href="index.html" class="back-link">← Back to all workouts</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="section">
|
<div class="anatomy-column">
|
||||||
<h2>🔥 Warmup</h2>
|
<div class="anatomy-section">
|
||||||
<div class="note">5 min treadmill walk + arm circles + hip circles</div>
|
<div class="anatomy-header">
|
||||||
</div>
|
<div class="anatomy-title">📚 Muscle Reference</div>
|
||||||
|
</div>
|
||||||
<div class="section">
|
<div class="anatomy-diagrams">
|
||||||
<h2>Main Workout</h2>
|
<div class="diagram-container" id="diagram-anterior">
|
||||||
<div class="table">
|
<h3>Anterior (Front)</h3>
|
||||||
<table>
|
<img src="workout/muscles-anterior-labeled.png" alt="Anterior muscles">
|
||||||
<thead><tr><th>#</th><th>Exercise</th><th>Reps</th><th>Weight</th><th>Target Muscles</th><th>Form</th></tr></thead>
|
</div>
|
||||||
<tbody>
|
<div class="diagram-container" id="diagram-posterior">
|
||||||
<tr>
|
<h3>Posterior (Back)</h3>
|
||||||
<td>1</td>
|
<img src="workout/muscles-posterior-labeled.png" alt="Posterior muscles">
|
||||||
<td class="exercise-name"><a href="https://www.youtube.com/watch?v=9_X3O3qdyjE" target="_blank">KB Around the World</a></td>
|
</div>
|
||||||
<td class="reps">8/side</td>
|
</div>
|
||||||
<td class="weight">35 lb KB</td>
|
|
||||||
<td>
|
|
||||||
<div class="exercise-muscles">
|
|
||||||
<span class="muscle-tag deltoid" data-muscle="deltoid">Delts</span>
|
|
||||||
<span class="muscle-tag core" data-muscle="core">Core</span>
|
|
||||||
<span class="muscle-tag forearms" data-muscle="forearms">Forearms</span>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
<td><a class="video-link" href="https://www.youtube.com/watch?v=9_X3O3qdyjE" target="_blank">Video</a></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>2</td>
|
|
||||||
<td class="exercise-name"><a href="https://www.youtube.com/watch?v=3V8Gq5N5msQ" target="_blank">DB Lateral Raises</a></td>
|
|
||||||
<td class="reps">12</td>
|
|
||||||
<td class="weight">10 lb pair</td>
|
|
||||||
<td>
|
|
||||||
<div class="exercise-muscles">
|
|
||||||
<span class="muscle-tag deltoid" data-muscle="deltoid">Delts</span>
|
|
||||||
<span class="muscle-tag serratus" data-muscle="serratus">Serratus</span>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
<td><a class="video-link" href="https://www.youtube.com/watch?v=3V8Gq5N5msQ" target="_blank">Video</a></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>3</td>
|
|
||||||
<td class="exercise-name"><a href="https://www.youtube.com/watch?v=7F5SLhCh1ws" target="_blank">KB Sumo Deadlift</a></td>
|
|
||||||
<td class="reps">12</td>
|
|
||||||
<td class="weight">35 lb KB</td>
|
|
||||||
<td>
|
|
||||||
<div class="exercise-muscles">
|
|
||||||
<span class="muscle-tag glutes" data-muscle="glutes">Glutes</span>
|
|
||||||
<span class="muscle-tag hamstrings" data-muscle="hamstrings">Hamstrings</span>
|
|
||||||
<span class="muscle-tag quadriceps" data-muscle="quadriceps">Quads</span>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
<td><a class="video-link" href="https://www.youtube.com/watch?v=7F5SLhCh1ws" target="_blank">Video</a></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>4</td>
|
|
||||||
<td class="exercise-name"><a href="https://www.youtube.com/watch?v=0A2k4r4N0HE" target="_blank">DB Biceps Curls</a></td>
|
|
||||||
<td class="reps">12</td>
|
|
||||||
<td class="weight">12 lb pair</td>
|
|
||||||
<td>
|
|
||||||
<div class="exercise-muscles">
|
|
||||||
<span class="muscle-tag biceps" data-muscle="biceps">Biceps</span>
|
|
||||||
<span class="muscle-tag forearms" data-muscle="forearms">Forearms</span>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
<td><a class="video-link" href="https://www.youtube.com/watch?v=0A2k4r4N0HE" target="_blank">Video</a></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>5</td>
|
|
||||||
<td class="exercise-name"><a href="https://www.youtube.com/watch?v=IODxD6zXgB4" target="_blank">Push-ups</a></td>
|
|
||||||
<td class="reps">15</td>
|
|
||||||
<td class="weight">bodyweight</td>
|
|
||||||
<td>
|
|
||||||
<div class="exercise-muscles">
|
|
||||||
<span class="muscle-tag pectoralis" data-muscle="pectoralis">Pecs</span>
|
|
||||||
<span class="muscle-tag deltoid" data-muscle="deltoid">Delts</span>
|
|
||||||
<span class="muscle-tag triceps" data-muscle="triceps">Triceps</span>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
<td><a class="video-link" href="https://www.youtube.com/watch?v=IODxD6zXgB4" target="_blank">Video</a></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>6</td>
|
|
||||||
<td class="exercise-name"><a href="https://www.youtube.com/watch?v=c_9l0bNKqFg" target="_blank">DB Glute Bridge</a></td>
|
|
||||||
<td class="reps">15</td>
|
|
||||||
<td class="weight">20 lb pair</td>
|
|
||||||
<td>
|
|
||||||
<div class="exercise-muscles">
|
|
||||||
<span class="muscle-tag glutes" data-muscle="glutes">Glutes</span>
|
|
||||||
<span class="muscle-tag hamstrings" data-muscle="hamstrings">Hamstrings</span>
|
|
||||||
<span class="muscle-tag erector-spinae" data-muscle="erector-spinae">Erector Spinae</span>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
<td><a class="video-link" href="https://www.youtube.com/watch?v=c_9l0bNKqFg" target="_blank">Video</a></td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="note"><strong>Structure:</strong> 3 rounds, 60–90s rest between rounds. <strong>Elbow note:</strong> Watch form on biceps curls — don't push through sharp pain.</div>
|
|
||||||
</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>Target Muscles</th><th>Form</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" data-muscle="rectus-abdominis">Abs</span>
|
|
||||||
<span class="muscle-tag core" data-muscle="core">Core</span>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
<td><a class="video-link" href="https://www.youtube.com/watch?v=g_BYB0R-4Ws" target="_blank">Video</a></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" data-muscle="obliques">Obliques</span>
|
|
||||||
<span class="muscle-tag rectus-abdominis" data-muscle="rectus-abdominis">Abs</span>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
<td><a class="video-link" href="https://www.youtube.com/watch?v=wkD8rjkodUI" target="_blank">Video</a></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">30–45s</td>
|
|
||||||
<td class="weight">bodyweight</td>
|
|
||||||
<td>
|
|
||||||
<div class="exercise-muscles">
|
|
||||||
<span class="muscle-tag rectus-abdominis" data-muscle="rectus-abdominis">Abs</span>
|
|
||||||
<span class="muscle-tag core" data-muscle="core">Core</span>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
<td><a class="video-link" href="https://www.youtube.com/watch?v=ASdvN_XEl_c" target="_blank">Video</a></td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<div class="note"><strong>Structure:</strong> 2 rounds, minimal rest. Move through exercises without resting between them.</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<a href="index.html" class="back-link">← Back to all workouts</a>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="wake-locked" id="wakeLockStatus">Screen locked for workout</div>
|
||||||
|
|
||||||
<script>
|
<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 => {
|
document.querySelectorAll('.muscle-tag').forEach(tag => {
|
||||||
tag.addEventListener('click', function(e) {
|
tag.addEventListener('click', function(e) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
document.querySelectorAll('.muscle-tag').forEach(t => t.classList.remove('active'));
|
document.querySelectorAll('.muscle-tag').forEach(t => t.classList.remove('active'));
|
||||||
this.classList.add('active');
|
this.classList.add('active');
|
||||||
document.querySelectorAll('.diagram-container').forEach(container => {
|
document.querySelectorAll('.diagram-container').forEach(c => c.classList.add('highlighted'));
|
||||||
container.classList.add('highlighted');
|
|
||||||
});
|
|
||||||
document.querySelector('.anatomy-section').scrollIntoView({
|
|
||||||
behavior: 'smooth',
|
|
||||||
block: 'center'
|
|
||||||
});
|
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
document.querySelectorAll('.diagram-container').forEach(container => {
|
document.querySelectorAll('.diagram-container').forEach(c => c.classList.remove('highlighted'));
|
||||||
container.classList.remove('highlighted');
|
|
||||||
});
|
|
||||||
this.classList.remove('active');
|
this.classList.remove('active');
|
||||||
}, 3000);
|
}, 3000);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -1,409 +0,0 @@
|
|||||||
<!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 Card with Labeled Anatomy — Ash Pages</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: 1200px; 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;
|
|
||||||
margin-bottom: 16px;
|
|
||||||
}
|
|
||||||
.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; }
|
|
||||||
|
|
||||||
/* Anatomy Diagram Section */
|
|
||||||
.anatomy-section {
|
|
||||||
background: rgba(255,255,255,0.04);
|
|
||||||
border: 1px solid rgba(255,255,255,0.08);
|
|
||||||
border-radius: 12px;
|
|
||||||
padding: 20px;
|
|
||||||
margin-bottom: 24px;
|
|
||||||
}
|
|
||||||
.anatomy-header {
|
|
||||||
display: flex;
|
|
||||||
justify-content: space-between;
|
|
||||||
align-items: center;
|
|
||||||
margin-bottom: 16px;
|
|
||||||
flex-wrap: wrap;
|
|
||||||
gap: 12px;
|
|
||||||
}
|
|
||||||
.anatomy-title {
|
|
||||||
font-size: 1rem;
|
|
||||||
color: #f97316;
|
|
||||||
font-weight: 600;
|
|
||||||
}
|
|
||||||
.anatomy-hint {
|
|
||||||
font-size: 0.8rem;
|
|
||||||
color: #666;
|
|
||||||
}
|
|
||||||
.anatomy-diagrams {
|
|
||||||
display: grid;
|
|
||||||
grid-template-columns: 1fr 1fr;
|
|
||||||
gap: 20px;
|
|
||||||
align-items: start;
|
|
||||||
}
|
|
||||||
.diagram-container {
|
|
||||||
background: #ffffff;
|
|
||||||
border-radius: 8px;
|
|
||||||
padding: 12px;
|
|
||||||
text-align: center;
|
|
||||||
position: relative;
|
|
||||||
transition: all 0.3s ease;
|
|
||||||
border: 2px solid transparent;
|
|
||||||
}
|
|
||||||
.diagram-container h3 {
|
|
||||||
font-size: 0.85rem;
|
|
||||||
color: #888;
|
|
||||||
margin-bottom: 12px;
|
|
||||||
text-transform: uppercase;
|
|
||||||
letter-spacing: 0.5px;
|
|
||||||
}
|
|
||||||
.diagram-container img {
|
|
||||||
width: auto;
|
|
||||||
max-width: 100%;
|
|
||||||
height: auto;
|
|
||||||
max-height: 550px;
|
|
||||||
object-fit: contain;
|
|
||||||
filter: none;
|
|
||||||
transition: filter 0.3s, transform 0.3s;
|
|
||||||
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.02);
|
|
||||||
}
|
|
||||||
.diagram-container.highlighted img {
|
|
||||||
filter: brightness(1.05) contrast(1.05);
|
|
||||||
}
|
|
||||||
.muscle-label {
|
|
||||||
font-size: 0.75rem;
|
|
||||||
color: #aaa;
|
|
||||||
margin-top: 8px;
|
|
||||||
font-style: italic;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Exercise muscle tags */
|
|
||||||
.exercise-muscles {
|
|
||||||
display: flex;
|
|
||||||
gap: 6px;
|
|
||||||
flex-wrap: wrap;
|
|
||||||
margin-top: 6px;
|
|
||||||
}
|
|
||||||
.muscle-tag {
|
|
||||||
font-size: 0.7rem;
|
|
||||||
padding: 3px 10px;
|
|
||||||
border-radius: 12px;
|
|
||||||
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 12px 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; }
|
|
||||||
|
|
||||||
@media (max-width: 768px) {
|
|
||||||
.anatomy-diagrams {
|
|
||||||
grid-template-columns: 1fr;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (min-width: 1200px) {
|
|
||||||
body { padding: 60px 40px; }
|
|
||||||
.container { max-width: 1400px; }
|
|
||||||
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; }
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div class="container">
|
|
||||||
<p class="breadcrumb"><a href="../">Ash Pages</a> / <a href="workout/">Workouts</a> /</p>
|
|
||||||
<h1>💪 Day A — with Labeled Anatomy</h1>
|
|
||||||
<div class="date-header">[Date]</div>
|
|
||||||
<div class="day-badge">Day A — Upper/Lower Focus</div>
|
|
||||||
|
|
||||||
<!-- Anatomy Reference Section -->
|
|
||||||
<div class="section anatomy-section">
|
|
||||||
<div class="anatomy-header">
|
|
||||||
<div class="anatomy-title">📚 Muscle Anatomy Reference (Gray's Anatomy)</div>
|
|
||||||
<div class="anatomy-hint">Click muscle names below to locate on diagrams</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="Labeled anterior muscle diagram from Gray's Anatomy">
|
|
||||||
<div class="muscle-label">Source: Gray's Anatomy (1918), public domain. Labels: Deltoid, Pectoralis major, Biceps brachii, Rectus abdominis, Quadriceps, etc.</div>
|
|
||||||
</div>
|
|
||||||
<div class="diagram-container" id="diagram-posterior">
|
|
||||||
<h3>Posterior (Back)</h3>
|
|
||||||
<img src="workout/muscles-posterior-labeled.png" alt="Labeled posterior muscle diagram from Gray's Anatomy">
|
|
||||||
<div class="muscle-label">Source: Gray's Anatomy (1918), public domain. Labels: Trapezius, Latissimus dorsi, Triceps, Erector spinae, Hamstrings, Gastrocnemius, etc.</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="section">
|
|
||||||
<h2>Warmup</h2>
|
|
||||||
<div class="note">5 min treadmill walk + arm circles + hip circles</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>Target Muscles</th><th>Form Video</th></tr></thead>
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<td>1</td>
|
|
||||||
<td class="exercise-name">KB Swings (two-arm)</td>
|
|
||||||
<td class="reps">10</td>
|
|
||||||
<td class="weight">20 lb KB</td>
|
|
||||||
<td>
|
|
||||||
<div class="exercise-muscles">
|
|
||||||
<span class="muscle-tag glutes" data-muscle="glutes">Glutes</span>
|
|
||||||
<span class="muscle-tag hamstrings" data-muscle="hamstrings">Hamstrings</span>
|
|
||||||
<span class="muscle-tag erector-spinae" data-muscle="erector-spinae">Erector Spinae</span>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
<td><a class="video-link" href="https://www.youtube.com/watch?v=bDCeXbMJVNs" target="_blank">Video</a></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>2</td>
|
|
||||||
<td class="exercise-name">Bench DB Press</td>
|
|
||||||
<td class="reps">15</td>
|
|
||||||
<td class="weight">10 lb pair</td>
|
|
||||||
<td>
|
|
||||||
<div class="exercise-muscles">
|
|
||||||
<span class="muscle-tag pectoralis" data-muscle="pectoralis">Pectoralis Major</span>
|
|
||||||
<span class="muscle-tag deltoid" data-muscle="deltoid">Anterior Deltoid</span>
|
|
||||||
<span class="muscle-tag triceps" data-muscle="triceps">Triceps</span>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
<td><a class="video-link" href="https://www.youtube.com/watch?v=FSYrZjBikqs" target="_blank">Video</a></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>3</td>
|
|
||||||
<td class="exercise-name">Goblet Squats</td>
|
|
||||||
<td class="reps">15</td>
|
|
||||||
<td class="weight">20 lb KB</td>
|
|
||||||
<td>
|
|
||||||
<div class="exercise-muscles">
|
|
||||||
<span class="muscle-tag quadriceps" data-muscle="quadriceps">Quadriceps</span>
|
|
||||||
<span class="muscle-tag glutes" data-muscle="glutes">Glutes</span>
|
|
||||||
<span class="muscle-tag rectus-abdominis" data-muscle="rectus-abdominis">Rectus Abdominis</span>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
<td><a class="video-link" href="https://www.youtube.com/watch?v=aNDUbH_Uv4g" target="_blank">Video</a></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>4</td>
|
|
||||||
<td class="exercise-name">Overhead DB Press</td>
|
|
||||||
<td class="reps">10</td>
|
|
||||||
<td class="weight">10 lb pair</td>
|
|
||||||
<td>
|
|
||||||
<div class="exercise-muscles">
|
|
||||||
<span class="muscle-tag deltoid" data-muscle="deltoid">Deltoids</span>
|
|
||||||
<span class="muscle-tag triceps" data-muscle="triceps">Triceps</span>
|
|
||||||
<span class="muscle-tag trapezius" data-muscle="trapezius">Upper Trapezius</span>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
<td><a class="video-link" href="https://www.youtube.com/watch?v=M2rwvNhTOu0" target="_blank">Video</a></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>5</td>
|
|
||||||
<td class="exercise-name">One-arm Rows</td>
|
|
||||||
<td class="reps">10/side</td>
|
|
||||||
<td class="weight">12 lb</td>
|
|
||||||
<td>
|
|
||||||
<div class="exercise-muscles">
|
|
||||||
<span class="muscle-tag latissimus" data-muscle="latissimus">Latissimus Dorsi</span>
|
|
||||||
<span class="muscle-tag rhomboids" data-muscle="rhomboids">Rhomboids</span>
|
|
||||||
<span class="muscle-tag biceps" data-muscle="biceps">Biceps</span>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
<td><a class="video-link" href="https://www.youtube.com/watch?v=KRN38chlkds" target="_blank">Video</a></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>6</td>
|
|
||||||
<td class="exercise-name">DB Lunges</td>
|
|
||||||
<td class="reps">6/leg</td>
|
|
||||||
<td class="weight">10 lb pair</td>
|
|
||||||
<td>
|
|
||||||
<div class="exercise-muscles">
|
|
||||||
<span class="muscle-tag quadriceps" data-muscle="quadriceps">Quadriceps</span>
|
|
||||||
<span class="muscle-tag glutes" data-muscle="glutes">Glutes</span>
|
|
||||||
<span class="muscle-tag hamstrings" data-muscle="hamstrings">Hamstrings</span>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
<td class="form-note">bodyweight to start, add DBs week 2+</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<div class="note"><strong>Structure:</strong> 3 rounds, 60-90s 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>Target Muscles</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>
|
|
||||||
<div class="exercise-muscles">
|
|
||||||
<span class="muscle-tag rectus-abdominis" data-muscle="rectus-abdominis">Rectus Abdominis</span>
|
|
||||||
<span class="muscle-tag obliques" data-muscle="obliques">Obliques</span>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
<td><a class="video-link" href="https://www.youtube.com/watch?v=g_BYB0R-4Ws" 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">10 lb DB</td>
|
|
||||||
<td>
|
|
||||||
<div class="exercise-muscles">
|
|
||||||
<span class="muscle-tag obliques" data-muscle="obliques">Obliques</span>
|
|
||||||
<span class="muscle-tag rectus-abdominis" data-muscle="rectus-abdominis">Rectus Abdominis</span>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
<td><a class="video-link" href="https://www.youtube.com/watch?v=8ZLc_7ckCqU" target="_blank">Video</a></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>3</td>
|
|
||||||
<td class="exercise-name">Plank</td>
|
|
||||||
<td class="reps">30-60s</td>
|
|
||||||
<td class="weight">bodyweight</td>
|
|
||||||
<td>
|
|
||||||
<div class="exercise-muscles">
|
|
||||||
<span class="muscle-tag rectus-abdominis" data-muscle="rectus-abdominis">Rectus Abdominis</span>
|
|
||||||
<span class="muscle-tag obliques" data-muscle="obliques">Obliques</span>
|
|
||||||
<span class="muscle-tag erector-spinae" data-muscle="erector-spinae">Erector Spinae</span>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
<td><a class="video-link" href="https://www.youtube.com/watch?v=pSHjTRCQxIw" target="_blank">Video</a></td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<div class="note"><strong>Structure:</strong> 2-3 rounds, minimal rest</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<a href="index.html" class="back-link">← Back to all workouts</a>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
// Muscle tag click handler - highlights diagrams when you click a muscle name
|
|
||||||
document.querySelectorAll('.muscle-tag').forEach(tag => {
|
|
||||||
tag.addEventListener('click', function(e) {
|
|
||||||
e.preventDefault();
|
|
||||||
|
|
||||||
// Remove active class from all tags
|
|
||||||
document.querySelectorAll('.muscle-tag').forEach(t => t.classList.remove('active'));
|
|
||||||
|
|
||||||
// Add active class to clicked tag
|
|
||||||
this.classList.add('active');
|
|
||||||
|
|
||||||
// Highlight both diagram containers
|
|
||||||
document.querySelectorAll('.diagram-container').forEach(container => {
|
|
||||||
container.classList.add('highlighted');
|
|
||||||
});
|
|
||||||
|
|
||||||
// Get muscle name for logging
|
|
||||||
const muscleName = this.textContent;
|
|
||||||
console.log('🔬 Muscle selected:', muscleName);
|
|
||||||
|
|
||||||
// Smooth scroll to anatomy section
|
|
||||||
document.querySelector('.anatomy-section').scrollIntoView({
|
|
||||||
behavior: 'smooth',
|
|
||||||
block: 'center'
|
|
||||||
});
|
|
||||||
|
|
||||||
// Remove highlight after 3 seconds (longer to actually find the label)
|
|
||||||
setTimeout(() => {
|
|
||||||
document.querySelectorAll('.diagram-container').forEach(container => {
|
|
||||||
container.classList.remove('highlighted');
|
|
||||||
});
|
|
||||||
this.classList.remove('active');
|
|
||||||
}, 3000);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,387 +0,0 @@
|
|||||||
<!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 Card Template — Ash Pages</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: 900px; 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;
|
|
||||||
margin-bottom: 16px;
|
|
||||||
}
|
|
||||||
.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; }
|
|
||||||
|
|
||||||
/* Muscle Diagram Styles */
|
|
||||||
.muscle-diagram-container {
|
|
||||||
display: flex;
|
|
||||||
gap: 24px;
|
|
||||||
margin: 20px 0;
|
|
||||||
flex-wrap: wrap;
|
|
||||||
}
|
|
||||||
.muscle-diagram {
|
|
||||||
flex: 1;
|
|
||||||
min-width: 200px;
|
|
||||||
max-width: 300px;
|
|
||||||
background: rgba(255,255,255,0.04);
|
|
||||||
border: 1px solid rgba(255,255,255,0.08);
|
|
||||||
border-radius: 12px;
|
|
||||||
padding: 16px;
|
|
||||||
}
|
|
||||||
.muscle-diagram h3 {
|
|
||||||
font-size: 0.9rem;
|
|
||||||
color: #888;
|
|
||||||
margin-bottom: 12px;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
.muscle-diagram svg {
|
|
||||||
width: 100%;
|
|
||||||
height: auto;
|
|
||||||
max-height: 280px;
|
|
||||||
}
|
|
||||||
.muscle-legend {
|
|
||||||
display: flex;
|
|
||||||
flex-wrap: wrap;
|
|
||||||
gap: 12px;
|
|
||||||
margin-top: 16px;
|
|
||||||
padding: 12px;
|
|
||||||
background: rgba(255,255,255,0.04);
|
|
||||||
border-radius: 8px;
|
|
||||||
}
|
|
||||||
.legend-item {
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
gap: 8px;
|
|
||||||
font-size: 0.8rem;
|
|
||||||
color: #aaa;
|
|
||||||
}
|
|
||||||
.legend-color {
|
|
||||||
width: 16px;
|
|
||||||
height: 16px;
|
|
||||||
border-radius: 4px;
|
|
||||||
}
|
|
||||||
.legend-chest { background: #e57373; }
|
|
||||||
.legend-back { background: #81c784; }
|
|
||||||
.legend-shoulders { background: #64b5f6; }
|
|
||||||
.legend-arms { background: #ffb74d; }
|
|
||||||
.legend-core { background: #a1887f; }
|
|
||||||
.legend-legs { background: #90a4ae; }
|
|
||||||
|
|
||||||
/* Exercise muscle mapping */
|
|
||||||
.exercise-muscles {
|
|
||||||
display: flex;
|
|
||||||
gap: 6px;
|
|
||||||
flex-wrap: wrap;
|
|
||||||
margin-top: 6px;
|
|
||||||
}
|
|
||||||
.muscle-tag {
|
|
||||||
font-size: 0.7rem;
|
|
||||||
padding: 2px 8px;
|
|
||||||
border-radius: 10px;
|
|
||||||
font-weight: 500;
|
|
||||||
}
|
|
||||||
.muscle-tag.chest { background: rgba(229, 115, 115, 0.2); color: #e57373; }
|
|
||||||
.muscle-tag.back { background: rgba(129, 199, 132, 0.2); color: #81c784; }
|
|
||||||
.muscle-tag.shoulders { background: rgba(100, 181, 246, 0.2); color: #64b5f6; }
|
|
||||||
.muscle-tag.arms { background: rgba(255, 183, 77, 0.2); color: #ffb74d; }
|
|
||||||
.muscle-tag.core { background: rgba(161, 136, 127, 0.2); color: #a1887f; }
|
|
||||||
.muscle-tag.legs { background: rgba(144, 164, 174, 0.2); color: #90a4ae; }
|
|
||||||
|
|
||||||
@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="workout/">Workouts</a> /</p>
|
|
||||||
<h1>💪 Day A — Template</h1>
|
|
||||||
<div class="date-header">[Date]</div>
|
|
||||||
<div class="day-badge">Day A — Upper/Lower Focus</div>
|
|
||||||
|
|
||||||
<!-- Muscle Diagram Section -->
|
|
||||||
<div class="section">
|
|
||||||
<h2>Target Muscles</h2>
|
|
||||||
<div class="muscle-diagram-container">
|
|
||||||
<div class="muscle-diagram">
|
|
||||||
<h3>ANTERIOR (Front)</h3>
|
|
||||||
<svg viewBox="0 0 140 280" xmlns="http://www.w3.org/2000/svg">
|
|
||||||
<!-- Simplified front view body outline -->
|
|
||||||
<ellipse cx="70" cy="30" rx="20" ry="25" fill="#2a2a2a"/>
|
|
||||||
<rect x="45" y="55" width="50" height="70" rx="10" fill="#2a2a2a"/>
|
|
||||||
<rect x="50" y="125" width="40" height="60" rx="8" fill="#2a2a2a"/>
|
|
||||||
<ellipse cx="55" cy="220" rx="18" ry="40" fill="#2a2a2a"/>
|
|
||||||
<ellipse cx="85" cy="220" rx="18" ry="40" fill="#2a2a2a"/>
|
|
||||||
<ellipse cx="35" cy="80" rx="12" ry="30" fill="#2a2a2a"/>
|
|
||||||
<ellipse cx="105" cy="80" rx="12" ry="30" fill="#2a2a2a"/>
|
|
||||||
|
|
||||||
<!-- Chest -->
|
|
||||||
<g class="muscle-group" data-muscle="chest">
|
|
||||||
<path d="M 50,60 Q 70,55 90,60 L 92,85 Q 70,92 48,85 Z" fill="#e57373" opacity="0.9"/>
|
|
||||||
</g>
|
|
||||||
<!-- Shoulders -->
|
|
||||||
<g class="muscle-group" data-muscle="shoulders">
|
|
||||||
<circle cx="35" cy="55" r="12" fill="#64b5f6" opacity="0.9"/>
|
|
||||||
<circle cx="105" cy="55" r="12" fill="#64b5f6" opacity="0.9"/>
|
|
||||||
</g>
|
|
||||||
<!-- Arms -->
|
|
||||||
<g class="muscle-group" data-muscle="arms">
|
|
||||||
<ellipse cx="35" cy="95" rx="10" ry="25" fill="#ffb74d" opacity="0.9"/>
|
|
||||||
<ellipse cx="105" cy="95" rx="10" ry="25" fill="#ffb74d" opacity="0.9"/>
|
|
||||||
</g>
|
|
||||||
<!-- Core -->
|
|
||||||
<g class="muscle-group" data-muscle="core">
|
|
||||||
<rect x="55" y="125" width="30" height="45" rx="8" fill="#a1887f" opacity="0.9"/>
|
|
||||||
</g>
|
|
||||||
<!-- Legs (Quads) -->
|
|
||||||
<g class="muscle-group" data-muscle="legs">
|
|
||||||
<ellipse cx="55" cy="215" rx="16" ry="35" fill="#90a4ae" opacity="0.9"/>
|
|
||||||
<ellipse cx="85" cy="215" rx="16" ry="35" fill="#90a4ae" opacity="0.9"/>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
||||||
</div>
|
|
||||||
<div class="muscle-diagram">
|
|
||||||
<h3>POSTERIOR (Back)</h3>
|
|
||||||
<svg viewBox="0 0 140 280" xmlns="http://www.w3.org/2000/svg">
|
|
||||||
<!-- Simplified back view body outline -->
|
|
||||||
<ellipse cx="70" cy="30" rx="20" ry="25" fill="#2a2a2a"/>
|
|
||||||
<rect x="45" y="55" width="50" height="70" rx="10" fill="#2a2a2a"/>
|
|
||||||
<rect x="50" y="125" width="40" height="60" rx="8" fill="#2a2a2a"/>
|
|
||||||
<ellipse cx="55" cy="220" rx="18" ry="40" fill="#2a2a2a"/>
|
|
||||||
<ellipse cx="85" cy="220" rx="18" ry="40" fill="#2a2a2a"/>
|
|
||||||
<ellipse cx="35" cy="80" rx="12" ry="30" fill="#2a2a2a"/>
|
|
||||||
<ellipse cx="105" cy="80" rx="12" ry="30" fill="#2a2a2a"/>
|
|
||||||
|
|
||||||
<!-- Back (Lats/Traps) -->
|
|
||||||
<g class="muscle-group" data-muscle="back">
|
|
||||||
<path d="M 50,60 L 90,60 L 95,110 L 45,110 Z" fill="#81c784" opacity="0.9"/>
|
|
||||||
<ellipse cx="70" cy="50" rx="20" ry="12" fill="#81c784" opacity="0.8"/>
|
|
||||||
</g>
|
|
||||||
<!-- Shoulders (Rear Delts) -->
|
|
||||||
<g class="muscle-group" data-muscle="shoulders">
|
|
||||||
<circle cx="38" cy="58" r="10" fill="#64b5f6" opacity="0.9"/>
|
|
||||||
<circle cx="102" cy="58" r="10" fill="#64b5f6" opacity="0.9"/>
|
|
||||||
</g>
|
|
||||||
<!-- Arms (Triceps) -->
|
|
||||||
<g class="muscle-group" data-muscle="arms">
|
|
||||||
<ellipse cx="38" cy="92" rx="9" ry="22" fill="#ffb74d" opacity="0.9"/>
|
|
||||||
<ellipse cx="102" cy="92" rx="9" ry="22" fill="#ffb74d" opacity="0.9"/>
|
|
||||||
</g>
|
|
||||||
<!-- Core (Lower Back) -->
|
|
||||||
<g class="muscle-group" data-muscle="core">
|
|
||||||
<rect x="58" y="128" width="24" height="25" rx="6" fill="#a1887f" opacity="0.9"/>
|
|
||||||
</g>
|
|
||||||
<!-- Legs (Hamstrings) -->
|
|
||||||
<g class="muscle-group" data-muscle="legs">
|
|
||||||
<ellipse cx="55" cy="210" rx="15" ry="32" fill="#90a4ae" opacity="0.9"/>
|
|
||||||
<ellipse cx="85" cy="210" rx="15" ry="32" fill="#90a4ae" opacity="0.9"/>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="muscle-legend">
|
|
||||||
<div class="legend-item"><div class="legend-color legend-chest"></div>Chest</div>
|
|
||||||
<div class="legend-item"><div class="legend-color legend-back"></div>Back</div>
|
|
||||||
<div class="legend-item"><div class="legend-color legend-shoulders"></div>Shoulders</div>
|
|
||||||
<div class="legend-item"><div class="legend-color legend-arms"></div>Arms</div>
|
|
||||||
<div class="legend-item"><div class="legend-color legend-core"></div>Core</div>
|
|
||||||
<div class="legend-item"><div class="legend-color legend-legs"></div>Legs</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="section">
|
|
||||||
<h2>Warmup</h2>
|
|
||||||
<div class="note">5 min treadmill walk + arm circles + hip circles</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><th>Form Video</th></tr></thead>
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<td>1</td>
|
|
||||||
<td class="exercise-name">KB Swings (two-arm)</td>
|
|
||||||
<td class="reps">10</td>
|
|
||||||
<td class="weight">20 lb KB</td>
|
|
||||||
<td>
|
|
||||||
<div class="exercise-muscles">
|
|
||||||
<span class="muscle-tag legs">Legs</span>
|
|
||||||
<span class="muscle-tag core">Core</span>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
<td><a class="video-link" href="https://www.youtube.com/watch?v=bDCeXbMJVNs" target="_blank">Video</a></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>2</td>
|
|
||||||
<td class="exercise-name">Bench DB Press</td>
|
|
||||||
<td class="reps">15</td>
|
|
||||||
<td class="weight">10 lb pair</td>
|
|
||||||
<td>
|
|
||||||
<div class="exercise-muscles">
|
|
||||||
<span class="muscle-tag chest">Chest</span>
|
|
||||||
<span class="muscle-tag shoulders">Shoulders</span>
|
|
||||||
<span class="muscle-tag arms">Arms</span>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
<td><a class="video-link" href="https://www.youtube.com/watch?v=FSYrZjBikqs" target="_blank">Video</a></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>3</td>
|
|
||||||
<td class="exercise-name">Goblet Squats</td>
|
|
||||||
<td class="reps">15</td>
|
|
||||||
<td class="weight">20 lb KB</td>
|
|
||||||
<td>
|
|
||||||
<div class="exercise-muscles">
|
|
||||||
<span class="muscle-tag legs">Legs</span>
|
|
||||||
<span class="muscle-tag core">Core</span>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
<td><a class="video-link" href="https://www.youtube.com/watch?v=aNDUbH_Uv4g" target="_blank">Video</a></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>4</td>
|
|
||||||
<td class="exercise-name">Overhead DB Press</td>
|
|
||||||
<td class="reps">10</td>
|
|
||||||
<td class="weight">10 lb pair</td>
|
|
||||||
<td>
|
|
||||||
<div class="exercise-muscles">
|
|
||||||
<span class="muscle-tag shoulders">Shoulders</span>
|
|
||||||
<span class="muscle-tag arms">Arms</span>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
<td><a class="video-link" href="https://www.youtube.com/watch?v=M2rwvNhTOu0" target="_blank">Video</a></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>5</td>
|
|
||||||
<td class="exercise-name">One-arm Rows</td>
|
|
||||||
<td class="reps">10/side</td>
|
|
||||||
<td class="weight">12 lb</td>
|
|
||||||
<td>
|
|
||||||
<div class="exercise-muscles">
|
|
||||||
<span class="muscle-tag back">Back</span>
|
|
||||||
<span class="muscle-tag arms">Arms</span>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
<td><a class="video-link" href="https://www.youtube.com/watch?v=KRN38chlkds" target="_blank">Video</a></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>6</td>
|
|
||||||
<td class="exercise-name">DB Lunges</td>
|
|
||||||
<td class="reps">6/leg</td>
|
|
||||||
<td class="weight">10 lb pair</td>
|
|
||||||
<td>
|
|
||||||
<div class="exercise-muscles">
|
|
||||||
<span class="muscle-tag legs">Legs</span>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
<td class="form-note">bodyweight to start, add DBs week 2+</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<div class="note"><strong>Structure:</strong> 3 rounds, 60-90s 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><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>
|
|
||||||
<div class="exercise-muscles">
|
|
||||||
<span class="muscle-tag core">Core</span>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
<td><a class="video-link" href="https://www.youtube.com/watch?v=g_BYB0R-4Ws" 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">10 lb DB</td>
|
|
||||||
<td>
|
|
||||||
<div class="exercise-muscles">
|
|
||||||
<span class="muscle-tag core">Core</span>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
<td><a class="video-link" href="https://www.youtube.com/watch?v=8ZLc_7ckCqU" target="_blank">Video</a></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>3</td>
|
|
||||||
<td class="exercise-name">Plank</td>
|
|
||||||
<td class="reps">30-60s</td>
|
|
||||||
<td class="weight">bodyweight</td>
|
|
||||||
<td>
|
|
||||||
<div class="exercise-muscles">
|
|
||||||
<span class="muscle-tag core">Core</span>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
<td><a class="video-link" href="https://www.youtube.com/watch?v=pSHjTRCQxIw" target="_blank">Video</a></td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<div class="note"><strong>Structure:</strong> 2-3 rounds, minimal rest</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<a href="index.html" class="back-link">← Back to all workouts</a>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -0,0 +1,304 @@
|
|||||||
|
<!-- WORKOUT CARD TEMPLATE — 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 X — DATE</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>💪 Workout Day X</h1>
|
||||||
|
<div class="date-header">DATE_HERE</div>
|
||||||
|
<div class="day-badge">Day X — DESCRIPTION</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 circles + hip circles</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>
|
||||||
|
<!-- Fill exercises here -->
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<div class="note"><strong>Structure:</strong> 3 rounds, 60–90s rest</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">30–45s</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>
|
||||||
|
</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>
|
||||||
Reference in New Issue
Block a user