.exercise-catalog-screen { min-width: 0; }
.exercise-catalog-toolbar { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: stretch; }
.exercise-catalog-search { margin: 0; }
.exercise-catalog-search > span:first-child { color: var(--muted); font-size: 22px; line-height: 1; }
.exercise-create-button { min-width: 88px; padding-inline: 12px; color: var(--accent); }
.exercise-create-button > span { font-size: 20px; vertical-align: -1px; }
.exercise-source-switch { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 10px 0 8px; border: 1px solid var(--line); padding: 3px; background: #0b0d0b; }
.exercise-source-switch button { min-height: 36px; border: 0; background: transparent; color: var(--muted); font-size: 12px; }
.exercise-source-switch button[aria-pressed="true"] { background: var(--surface-2); color: var(--text); }
.exercise-group-filters { display: flex; gap: 7px; margin: 0 -16px; padding: 4px 16px 8px; overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: none; }
.exercise-group-filters::-webkit-scrollbar { display: none; }
.exercise-group-filters button { flex: 0 0 auto; min-height: 34px; border: 1px solid var(--line); background: transparent; color: var(--muted); padding: 6px 10px; font-size: 11px; }
.exercise-group-filters button[aria-pressed="true"] { border-color: var(--accent); background: var(--accent-dark); color: var(--text); }
.exercise-catalog-result-count { margin: 3px 0 14px; font-size: 11px; }
.exercise-catalog-group { min-width: 0; margin-bottom: 22px; }
.exercise-catalog-list { border-top: 1px solid var(--line); }
.exercise-catalog-row { min-width: 0; min-height: 72px; display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: stretch; border-bottom: 1px solid var(--line); content-visibility: auto; contain-intrinsic-size: auto 72px; }
.exercise-catalog-row.selected { background: #0d1710; }
.exercise-catalog-info { min-width: 0; border: 0; background: transparent; padding: 10px 8px 10px 0; display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 12px; text-align: left; }
.exercise-catalog-thumb { width: 50px; height: 50px; display: grid; place-items: center; overflow: hidden; border: 1px solid var(--line); background: var(--surface); }
.exercise-catalog-thumb img { width: 100%; height: 100%; object-fit: cover; }
.exercise-catalog-thumb.is-placeholder { color: var(--accent); font-size: 18px; font-weight: 800; }
.exercise-catalog-copy { min-width: 0; display: grid; gap: 5px; }
.exercise-catalog-copy strong { overflow-wrap: anywhere; line-height: 1.28; }
.exercise-catalog-copy small { color: var(--muted); line-height: 1.35; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.exercise-catalog-edit,
.exercise-catalog-toggle { align-self: center; width: 38px; height: 38px; padding: 0; display: grid; place-items: center; border: 1px solid var(--line); background: var(--surface); color: var(--muted); }
.exercise-catalog-edit { margin-right: 5px; font-size: 17px; }
.exercise-catalog-toggle span { font-size: 21px; line-height: 1; }
.exercise-catalog-toggle[aria-pressed="true"] { border-color: var(--accent); background: var(--accent); color: #071108; }
.exercise-catalog-toggle:disabled { opacity: 1; }
.exercise-detail { padding-bottom: 64px; }
.exercise-detail-hero { min-height: 108px; display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 16px; align-items: center; border-bottom: 1px solid var(--line); padding: 10px 0 18px; }
.exercise-detail-hero .exercise-catalog-thumb { width: 78px; height: 78px; font-size: 26px; }
.exercise-detail-hero > div { min-width: 0; }
.exercise-detail-hero span { color: var(--accent); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.exercise-detail-hero h1 { margin: 5px 0 4px; overflow-wrap: anywhere; }
.exercise-detail-hero p { margin: 0; font-size: 12px; }
.exercise-detail-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; margin: 14px 0; background: var(--line); border: 1px solid var(--line); }
.exercise-detail-facts > span { min-width: 0; padding: 12px; background: var(--surface); display: grid; gap: 4px; }
.exercise-detail-facts small { color: var(--muted); font-size: 9px; text-transform: uppercase; }
.exercise-detail-facts strong { font-size: 12px; overflow-wrap: anywhere; }
.exercise-detail-section { border-top: 1px solid var(--line); padding: 14px 0 8px; }
.exercise-detail-section h2 { margin-bottom: 9px; color: var(--muted); font-size: 10px; text-transform: uppercase; }
.exercise-detail-section ul { margin: 0; padding-left: 19px; color: var(--text); line-height: 1.5; }
.exercise-detail-section li { padding: 2px 0; }
.exercise-detail-note { border-left: 3px solid #e9a23b; background: #1c180f; padding: 12px; font-size: 12px; }
.custom-exercise-editor { padding-bottom: 20px; }
.custom-exercise-editor .field { margin-bottom: 14px; }
.custom-exercise-editor select { width: 100%; min-height: 46px; border: 1px solid var(--line); background: var(--surface); color: var(--text); padding: 10px 12px; }
.custom-exercise-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.custom-exercise-save { margin-top: 4px; }
.add-exercise-button { width: 100%; min-height: 58px; margin-top: 20px; border: 1px solid var(--line); background: var(--surface); display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 10px 13px; text-align: left; }
.add-exercise-button > span { display: grid; gap: 4px; }
.add-exercise-button small { color: var(--muted); }
.add-exercise-button svg { width: 19px; height: 19px; fill: none; stroke: var(--accent); stroke-width: 1.8; }
.set-head,
.set-row { grid-template-columns: 42px repeat(var(--set-columns, 2), minmax(0, 1fr)); }
#workout-set-form fieldset { grid-template-columns: repeat(var(--form-columns, 2), minmax(0, 1fr)); }

@media (max-width: 380px) {
  .exercise-catalog-toolbar { grid-template-columns: 1fr; }
  .exercise-create-button { width: 100%; }
  .custom-exercise-grid { grid-template-columns: 1fr; }
  .exercise-detail-hero .exercise-catalog-thumb { width: 64px; height: 64px; }
}

@media (prefers-reduced-motion: reduce) {
  .exercise-catalog-row { content-visibility: visible; }
}
