.home-exercise-support { margin: 10px 0; text-align: left; }
.home-exercise-support summary { cursor: pointer; color: var(--primary-dk); font-weight: 650; padding: 9px 0; }
.home-exercise-support label { display: grid; gap: 5px; margin: 12px 0; font-size: 12px; font-weight: 600; }
.home-exercise-support textarea { width: 100%; min-width: 0; padding: 10px; border: 1px solid rgba(var(--primary-rgb),.2); border-radius: 10px; font: inherit; font-weight: 400; resize: vertical; background: var(--surface, #fff); color: var(--tx); }
.home-booklet-dialog { width: min(980px, calc(100vw - 28px)); max-height: calc(100dvh - 28px); padding: 0; border: 1px solid rgba(var(--primary-rgb),.16); border-radius: 24px; background: var(--surface,#faf8f5); color: var(--tx); box-shadow: 0 28px 85px #251b3840; }
.home-booklet-dialog::backdrop { background: #241d3e66; backdrop-filter: blur(5px); }
.home-booklet-dialog > header { display: flex; justify-content: space-between; align-items: start; gap: 18px; padding: 22px 26px 16px; }
.home-booklet-dialog h2 { margin: 5px 0; font-size: 26px; }
.home-booklet-dialog header span { font-size: 11px; letter-spacing: .1em; color: var(--primary-dk); }
.home-booklet-dialog header p { margin: 0; }
.home-booklet-preview { padding: 0 22px; max-height: 53dvh; overflow-y: auto; border-top: 1px solid #e4deeb; border-bottom: 1px solid #e4deeb; background: #eeeaf2; }
.home-booklet-preview iframe { display: block; width: 100%; height: 52dvh; border: 1px solid #cfc8dc; border-radius: 12px; background: #e8e4ed; }
.home-booklet-preview > details { margin-top: 10px; }
.home-booklet-dialog > footer { display: grid; gap: 12px; padding: 18px 26px 24px; }
.home-booklet-dialog footer small { color: var(--tx-3); line-height: 1.5; }
.home-booklet-dialog .home-booklet-review { display: flex; align-items: start; gap: 10px; font-size: 14px; line-height: 1.5; }
.home-booklet-review input { width: 19px; height: 19px; flex: none; margin-top: 1px; }
.home-booklet-blockers { padding: 12px 16px; border-radius: 12px; background: #fbefdf; color: #644c29; }
.home-booklet-blockers ul { margin: 6px 0 0; padding-left: 20px; }
.home-booklet-page { background: white; color: #292438; margin: 16px auto; padding: 24px; max-width: 790px; border-radius: 14px; box-shadow: 0 4px 20px #2c203312; text-align: left; }
.home-booklet-page header span { font-size: 10px; color: #69518d; }
.home-booklet-page h2 { font-size: 20px; margin: 8px 0 16px; }
.home-booklet-page p { white-space: pre-wrap; font-size: 13px; line-height: 1.55; }
.home-booklet-dose { padding: 12px; border-radius: 10px; background: #f1edf7; }
.home-booklet-steps { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; padding: 0; list-style-position: inside; }
.home-booklet-steps img { display: block; width: 100%; height: 135px; object-fit: contain; margin-bottom: 8px; }
.home-booklet-steps strong { font-size: 12px; }
.home-booklet-steps p { font-size: 11px; }
.home-booklet-empty { color: #706776; }
.home-booklet-patient-copy { text-align: left; padding: 12px 0; }
.home-booklet-patient-copy strong { color: var(--primary-dk); font-size: 12px; }
.home-booklet-patient-copy p { font-size: 13px; line-height: 1.5; margin: 4px 0 12px; white-space: pre-wrap; }
body.session-gym-workspace-open .exercise-animation-overlay { z-index: 1900; }
.exercise-animation-overlay.is-booklet-reader .exercise-animation-dialog { width: min(850px,100%); }
.exercise-animation-overlay.is-booklet-reader .exercise-animation-stage { display: block; height: auto; min-height: 0; max-height: 66dvh; overflow-y: auto; background: transparent; }
.home-booklet-dialog button { min-height: 44px; }
.home-booklet-dialog button:focus-visible, .home-exercise-support textarea:focus-visible { outline: 3px solid var(--primary); outline-offset: 3px; }
@media(max-width:600px) {
  .home-booklet-dialog > header,.home-booklet-dialog > footer { padding: 16px; }
  .home-booklet-preview { padding: 0 10px; }
  .home-booklet-page { padding: 16px; }
  .home-booklet-steps { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
  .home-booklet-steps img { height: 110px; }
  .exercise-animation-mode-switch { flex-wrap: wrap; }
}
