clean layout: remove announcement, diagram labels, smaller text; workout scrolls independently

This commit is contained in:
Ash
2026-04-22 16:04:09 +00:00
parent 1a7e463f10
commit b7257c38a8
2 changed files with 110 additions and 105 deletions
+56 -55
View File
@@ -34,13 +34,13 @@
}
.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; }
.table td { padding: 12px 16px; border-top: 1px solid rgba(255,255,255,0.08); font-size: 0.95rem; color: #e0e0e0; }
.exercise-name { font-weight: 500; }
.reps { color: #666; font-size: 0.9rem; }
.weight { color: #666; font-size: 0.9rem; }
.reps { font-size: 0.9rem; color: #e0e0e0; }
.weight { font-size: 0.9rem; color: #e0e0e0; }
.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; }
.form-note { color: #888; 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; }
@@ -50,18 +50,16 @@
background: rgba(255,255,255,0.04);
border: 1px solid rgba(255,255,255,0.08);
border-radius: 12px;
padding: 20px;
padding: 16px;
margin-bottom: 24px;
}
.anatomy-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 16px; flex-wrap: wrap; gap: 12px; }
.anatomy-header { margin-bottom: 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; border: 2px solid transparent; transition: all 0.3s ease; }
.diagram-container h3 { font-size: 0.85rem; color: #888; margin-bottom: 12px; text-transform: uppercase; letter-spacing: 0.5px; }
.anatomy-diagrams { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; align-items: start; }
.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.75rem; color: #888; margin-bottom: 8px; text-transform: uppercase; letter-spacing: 0.5px; }
.diagram-container img { width: auto; max-width: 100%; height: auto; max-height: 550px; 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.02); }
.muscle-label { font-size: 0.75rem; color: #aaa; margin-top: 8px; font-style: italic; }
/* Muscle tags */
.exercise-muscles { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 6px; }
@@ -105,8 +103,18 @@
h1 { grid-column: 1 / -1; }
.date-header { grid-column: 1 / -1; }
.day-badge { grid-column: 1 / -1; }
.workout-column { grid-column: 1; grid-row: 4; }
.anatomy-column { grid-column: 2; grid-row: 4; position: sticky; top: 40px; }
.workout-column {
grid-column: 1;
grid-row: 4;
overflow-y: auto;
max-height: calc(100vh - 200px);
}
.anatomy-column {
grid-column: 2;
grid-row: 4;
position: sticky;
top: 40px;
}
.back-link { grid-column: 1 / -1; }
.anatomy-diagrams { grid-template-columns: 1fr; gap: 16px; }
.diagram-container img { max-height: 38vh; }
@@ -116,43 +124,42 @@
@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; }
h1 { font-size: 2.4rem; }
h2 { font-size: 1.5rem; }
.date-header { font-size: 1.1rem; margin-bottom: 20px; }
.day-badge { font-size: 1rem; padding: 6px 16px; margin-bottom: 32px; }
.table th { padding: 14px 20px; font-size: 1rem; }
.table td { padding: 14px 20px; font-size: 1.15rem; }
.exercise-name { font-size: 1.25rem; }
.reps { font-size: 1.05rem; }
.weight { font-size: 1.05rem; }
.video-link { font-size: 1rem; }
.form-note { font-size: 1rem; }
.note { padding: 18px 20px; font-size: 1rem; }
.section { margin-bottom: 40px; }
}
/* === TV MODE: very large text === */
/* === TV MODE === */
@media (min-width: 1600px) {
body { padding: 50px 60px; }
.container { gap: 60px; }
h1 { font-size: 3.5rem; margin-bottom: 8px; }
h2 { font-size: 2.2rem; margin-bottom: 20px; }
.date-header { font-size: 1.6rem; }
.day-badge { font-size: 1.3rem; padding: 8px 20px; border-radius: 20px; }
.table th { padding: 18px 24px; font-size: 1.3rem; }
.table td { padding: 18px 24px; font-size: 1.5rem; }
.exercise-name { font-size: 1.6rem; }
.reps, .weight { font-size: 1.3rem; }
.video-link { font-size: 1.2rem; }
.form-note { font-size: 1.2rem; }
.note { padding: 22px 26px; font-size: 1.2rem; margin-top: 20px; }
.section { margin-bottom: 40px; }
.breadcrumb { font-size: 1rem; margin-bottom: 28px; }
.back-link { font-size: 1.1rem; margin-top: 36px; }
.anatomy-title { font-size: 1.4rem; }
.anatomy-hint { font-size: 1rem; }
.muscle-tag { font-size: 0.95rem; padding: 5px 12px; }
.muscle-label { font-size: 0.95rem; }
body { padding: 40px 50px; }
.container { gap: 50px; }
h1 { font-size: 2.8rem; margin-bottom: 8px; }
h2 { font-size: 1.6rem; margin-bottom: 16px; }
.date-header { font-size: 1.2rem; }
.day-badge { font-size: 1.1rem; padding: 6px 16px; border-radius: 16px; }
.table th { padding: 14px 20px; font-size: 1.1rem; }
.table td { padding: 14px 20px; font-size: 1.25rem; }
.exercise-name { font-size: 1.35rem; }
.reps, .weight { font-size: 1.1rem; }
.video-link { font-size: 1.05rem; }
.form-note { font-size: 1.05rem; }
.note { padding: 18px 20px; font-size: 1.05rem; margin-top: 16px; }
.section { margin-bottom: 32px; }
.breadcrumb { font-size: 0.9rem; margin-bottom: 24px; }
.back-link { font-size: 1rem; margin-top: 32px; }
.anatomy-title { font-size: 1.2rem; }
.anatomy-diagrams { gap: 16px; }
.diagram-container img { max-height: 42vh; }
}
@keyframes pulse { 0% { opacity: 0.6; } 50% { opacity: 1; } 100% { opacity: 0.6; } }
@@ -168,9 +175,6 @@
<!-- WORKOUT COLUMN -->
<div class="workout-column">
<div class="note" style="margin-bottom:24px;"><strong>🎉 New gear:</strong> BowFlex SelectTech 840 adjustable KB (up to 40 lbs) arrived. Current workout uses fixed weights — feel free to dial up on the KB moves.</div>
<!-- Main workout table -->
<div class="section">
<h2>Main Workout</h2>
@@ -182,7 +186,7 @@
<td>1</td>
<td class="exercise-name">KB Around the World</td>
<td class="reps">20 (10/dir)</td>
<td class="weight">25 lb KB → 35 lb</td>
<td class="weight">35 lb KB</td>
<td>
<div class="exercise-muscles">
<span class="muscle-tag shoulders" data-muscle="shoulders">Shoulders</span>
@@ -251,7 +255,7 @@
<td>6</td>
<td class="exercise-name">DB Glute Bridge</td>
<td class="reps">12</td>
<td class="weight">15 lb on hips → 20 lb</td>
<td class="weight">20 lb on hips</td>
<td>
<div class="exercise-muscles">
<span class="muscle-tag glutes" data-muscle="glutes">Glutes</span>
@@ -328,18 +332,15 @@
<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>
+54 -50
View File
@@ -34,13 +34,13 @@
}
.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; }
.table td { padding: 12px 16px; border-top: 1px solid rgba(255,255,255,0.08); font-size: 0.95rem; color: #e0e0e0; }
.exercise-name { font-weight: 500; }
.reps { color: #666; font-size: 0.9rem; }
.weight { color: #666; font-size: 0.9rem; }
.reps { font-size: 0.9rem; color: #e0e0e0; }
.weight { font-size: 0.9rem; color: #e0e0e0; }
.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; }
.form-note { color: #888; 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; }
@@ -50,18 +50,16 @@
background: rgba(255,255,255,0.04);
border: 1px solid rgba(255,255,255,0.08);
border-radius: 12px;
padding: 20px;
padding: 16px;
margin-bottom: 24px;
}
.anatomy-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 16px; flex-wrap: wrap; gap: 12px; }
.anatomy-header { margin-bottom: 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; border: 2px solid transparent; transition: all 0.3s ease; }
.diagram-container h3 { font-size: 0.85rem; color: #888; margin-bottom: 12px; text-transform: uppercase; letter-spacing: 0.5px; }
.anatomy-diagrams { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; align-items: start; }
.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.75rem; color: #888; margin-bottom: 8px; text-transform: uppercase; letter-spacing: 0.5px; }
.diagram-container img { width: auto; max-width: 100%; height: auto; max-height: 550px; 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.02); }
.muscle-label { font-size: 0.75rem; color: #aaa; margin-top: 8px; font-style: italic; }
/* Muscle tags */
.exercise-muscles { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 6px; }
@@ -105,8 +103,18 @@
h1 { grid-column: 1 / -1; }
.date-header { grid-column: 1 / -1; }
.day-badge { grid-column: 1 / -1; }
.workout-column { grid-column: 1; grid-row: 4; }
.anatomy-column { grid-column: 2; grid-row: 4; position: sticky; top: 40px; }
.workout-column {
grid-column: 1;
grid-row: 4;
overflow-y: auto;
max-height: calc(100vh - 200px);
}
.anatomy-column {
grid-column: 2;
grid-row: 4;
position: sticky;
top: 40px;
}
.back-link { grid-column: 1 / -1; }
.anatomy-diagrams { grid-template-columns: 1fr; gap: 16px; }
.diagram-container img { max-height: 38vh; }
@@ -116,43 +124,42 @@
@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; }
h1 { font-size: 2.4rem; }
h2 { font-size: 1.5rem; }
.date-header { font-size: 1.1rem; margin-bottom: 20px; }
.day-badge { font-size: 1rem; padding: 6px 16px; margin-bottom: 32px; }
.table th { padding: 14px 20px; font-size: 1rem; }
.table td { padding: 14px 20px; font-size: 1.15rem; }
.exercise-name { font-size: 1.25rem; }
.reps { font-size: 1.05rem; }
.weight { font-size: 1.05rem; }
.video-link { font-size: 1rem; }
.form-note { font-size: 1rem; }
.note { padding: 18px 20px; font-size: 1rem; }
.section { margin-bottom: 40px; }
}
/* === TV MODE: very large text === */
/* === TV MODE === */
@media (min-width: 1600px) {
body { padding: 50px 60px; }
.container { gap: 60px; }
h1 { font-size: 3.5rem; margin-bottom: 8px; }
h2 { font-size: 2.2rem; margin-bottom: 20px; }
.date-header { font-size: 1.6rem; }
.day-badge { font-size: 1.3rem; padding: 8px 20px; border-radius: 20px; }
.table th { padding: 18px 24px; font-size: 1.3rem; }
.table td { padding: 18px 24px; font-size: 1.5rem; }
.exercise-name { font-size: 1.6rem; }
.reps, .weight { font-size: 1.3rem; }
.video-link { font-size: 1.2rem; }
.form-note { font-size: 1.2rem; }
.note { padding: 22px 26px; font-size: 1.2rem; margin-top: 20px; }
.section { margin-bottom: 40px; }
.breadcrumb { font-size: 1rem; margin-bottom: 28px; }
.back-link { font-size: 1.1rem; margin-top: 36px; }
.anatomy-title { font-size: 1.4rem; }
.anatomy-hint { font-size: 1rem; }
.muscle-tag { font-size: 0.95rem; padding: 5px 12px; }
.muscle-label { font-size: 0.95rem; }
body { padding: 40px 50px; }
.container { gap: 50px; }
h1 { font-size: 2.8rem; margin-bottom: 8px; }
h2 { font-size: 1.6rem; margin-bottom: 16px; }
.date-header { font-size: 1.2rem; }
.day-badge { font-size: 1.1rem; padding: 6px 16px; border-radius: 16px; }
.table th { padding: 14px 20px; font-size: 1.1rem; }
.table td { padding: 14px 20px; font-size: 1.25rem; }
.exercise-name { font-size: 1.35rem; }
.reps, .weight { font-size: 1.1rem; }
.video-link { font-size: 1.05rem; }
.form-note { font-size: 1.05rem; }
.note { padding: 18px 20px; font-size: 1.05rem; margin-top: 16px; }
.section { margin-bottom: 32px; }
.breadcrumb { font-size: 0.9rem; margin-bottom: 24px; }
.back-link { font-size: 1rem; margin-top: 32px; }
.anatomy-title { font-size: 1.2rem; }
.anatomy-diagrams { gap: 16px; }
.diagram-container img { max-height: 42vh; }
}
@keyframes pulse { 0% { opacity: 0.6; } 50% { opacity: 1; } 100% { opacity: 0.6; } }
@@ -196,7 +203,6 @@
<div class="wake-locked" id="wakeLockStatus">Screen locked for workout</div>
<script>
// Wake Lock API — works on mobile, not most TVs
let wakeLock = null;
async function requestWakeLock() {
try {
@@ -213,7 +219,6 @@
}
}
// Always show the lock button, even if wakeLock isn't supported (TVs often block it)
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;';
@@ -221,7 +226,6 @@
if ('wakeLock' in navigator) {
requestWakeLock();
} else {
// Fallback for TVs: go fullscreen + show a persistent overlay
const status = document.getElementById('wakeLockStatus');
status.style.display = 'block';
status.textContent = '🔒 Screen locked (fullscreen)';