/* Home-only presentation; player transforms and exercise timing are untouched. */
.exercise-browser-actions { display: flex; align-items: center; justify-content: center; min-height: 46px; margin: 20px 0 0; overflow-anchor: none; }
#exercise-count.exercise-total { margin: -8px 0 18px; font-size: 13px; }
#exercise-list-toggle { display: inline-flex; align-items: center; gap: 10px; border-radius: 24px; padding: 10px 18px; color: #215c46; border-color: #b5c7bb; background: #f8faf7; font-weight: 650; }
#exercise-list-toggle[aria-expanded="true"] { position: fixed; right: max(20px, env(safe-area-inset-right)); bottom: calc(20px + env(safe-area-inset-bottom)); z-index: 20; color: #fff; border-color: #215c46; background: #215c46; box-shadow: 0 4px 16px rgb(33 92 70 / 20%); }
#exercise-list-toggle[aria-expanded="true"]:hover { background: #174630; }
.program-card.home-enter-pending { opacity: 0; }
.exercise-list-chevron { font-size: 19px; line-height: 1; }
#exercise-grid { overflow-anchor: none; }
#selection:has(#exercise-list-toggle[aria-expanded="true"]) { padding-bottom: calc(72px + env(safe-area-inset-bottom)); }
#selection :is(.program-card, .exercise-card) { transition: transform 180ms cubic-bezier(.2,0,.3,1); }
@media (hover: hover) and (pointer: fine) {
  #selection :is(.program-card, .exercise-card):hover:not(:disabled) { transform: translateY(-2px); box-shadow: 0 5px 14px rgb(33 92 70 / 9%); }
}
#selection :is(.program-card, .exercise-card):active:not(:disabled) { transform: scale(.985); transition-duration: 100ms; }
.home-footer { margin-top: 36px; padding: 28px 30px; border-top: 1px solid #c9d8cc; border-radius: 0 0 14px 14px; background: #e8eee7; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.home-footer-brand { display: flex; align-items: center; gap: 14px; }
.home-footer-brand img { display: block; object-fit: contain; flex: 0 0 auto; }
.home-footer-brand strong { font-size: 17px; font-weight: 750; letter-spacing: -.025em; color: #215c46; }
.home-footer-brand p { margin-top: 3px; font-size: 13px; color: #53655b; }
.home-footer small { color: #53655b; font-size: 12px; line-height: 1.6; }
@media (max-width: 760px) {
  .home-footer { padding: 24px 16px; flex-direction: column; gap: 16px; text-align: center; }
  .home-footer-brand { flex-direction: column; gap: 3px; }
}
@media (prefers-reduced-motion: reduce) {
  .program-card.home-enter-pending { opacity: 1; }
  #selection :is(.program-card, .exercise-card) { transition: none; }
  #selection :is(.program-card, .exercise-card):is(:hover, :active) { transform: none; }
}
