/* Exercise library: grouped horizontal cards with one consistent visual system. */
.exercise-library .lead{margin-bottom:42px}
.exercise-library-section{margin-top:8px}
.exercise-section-heading{display:flex;align-items:center;gap:18px;margin:0 0 26px}
.exercise-section-icon{width:58px;height:58px;border-radius:18px;background:#eee9fb;display:grid;place-items:center;font-size:28px;flex:none}
.exercise-section-heading h2{margin:0 0 5px;font-size:30px}
.exercise-section-heading p{margin:0;color:var(--muted);font-size:15px}
.exercise-group{margin-top:34px}
.exercise-group:first-of-type{margin-top:0}
.exercise-group-heading{display:flex;align-items:center;gap:10px;margin:0 0 13px 4px}
.exercise-group-heading>span{font-size:22px;line-height:1}
.exercise-group-heading h3{margin:0;font-size:21px;letter-spacing:-.01em}
.exercise-list{display:grid;gap:14px}
.exercise-card-horizontal{display:grid;grid-template-columns:110px minmax(0,1fr) auto;align-items:center;min-height:132px;padding:20px 26px;gap:22px;border-radius:26px;background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.exercise-card-horizontal:hover{transform:translateY(-2px);box-shadow:0 20px 45px rgba(37,61,89,.12);border-color:#cbd9df}
.exercise-card-image{width:88px;height:88px;border-radius:24px;background:#eaf8f7;display:grid;place-items:center;overflow:hidden}
.exercise-card-image img{display:block;width:88px;height:88px;object-fit:contain}
.exercise-card-copy{min-width:0}
.exercise-card-horizontal h4{font-size:22px;line-height:1.2;margin:0 0 7px;color:var(--ink)}
.exercise-card-horizontal p{font-size:15px;line-height:1.45;margin:0 0 9px;color:var(--muted);max-width:900px}
.exercise-card-horizontal small{font-size:12px;color:#748190}
.exercise-card-arrow{font-size:32px;color:var(--ink);font-weight:500;padding:0 4px}
@media(max-width:760px){
  .exercise-library .lead{margin-bottom:32px}
  .exercise-section-heading{gap:12px;margin-bottom:20px}
  .exercise-section-icon{width:50px;height:50px;border-radius:16px;font-size:24px}
  .exercise-section-heading h2{font-size:25px}
  .exercise-section-heading p{font-size:13px}
  .exercise-group{margin-top:28px}
  .exercise-group-heading{margin-bottom:10px}
  .exercise-group-heading>span{font-size:19px}
  .exercise-group-heading h3{font-size:18px}
  .exercise-list{gap:11px}
  .exercise-card-horizontal{grid-template-columns:72px minmax(0,1fr) auto;min-height:104px;padding:14px 14px;gap:13px;border-radius:21px}
  .exercise-card-image{width:64px;height:64px;border-radius:18px}
  .exercise-card-image img{width:64px;height:64px}
  .exercise-card-horizontal h4{font-size:17px;margin-bottom:4px}
  .exercise-card-horizontal p{font-size:12px;line-height:1.4;margin-bottom:6px}
  .exercise-card-horizontal small{font-size:10px}
  .exercise-card-arrow{font-size:27px}
}
@media(max-width:430px){
  .exercise-card-horizontal{grid-template-columns:58px minmax(0,1fr) auto;padding:12px 11px;gap:10px}
  .exercise-card-image{width:54px;height:54px;border-radius:16px}
  .exercise-card-image img{width:54px;height:54px}
  .exercise-card-horizontal h4{font-size:15px}
  .exercise-card-horizontal p{font-size:11px}
}

/* Cognitive training categories — separate from the active language exercises. */
.cognitive-library-section{margin-top:64px;padding-top:46px;border-top:1px solid var(--line)}
.cognitive-section-heading{margin-bottom:26px}
.cognitive-section-icon{background:#eef1fb}
.cognitive-category-list{display:grid;gap:14px}
.cognitive-category-card{display:grid;grid-template-columns:110px minmax(0,1fr) auto;align-items:center;min-height:132px;padding:20px 26px;gap:22px;border-radius:26px;background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow)}
.cognitive-category-icon{width:88px;height:88px;border-radius:24px;background:#f1f3fb;display:grid;place-items:center;overflow:hidden;font-size:32px}
.cognitive-category-copy{min-width:0}
.cognitive-category-copy h3{font-size:22px;line-height:1.2;margin:0 0 7px;color:var(--ink)}
.cognitive-category-copy p{font-size:15px;line-height:1.45;margin:0 0 9px;color:var(--muted);max-width:900px}
.cognitive-category-copy small{font-size:12px;color:#748190}
.cognitive-coming-soon{white-space:nowrap;font-size:12px;font-weight:700;color:#748190;border:1px solid var(--line);border-radius:999px;padding:7px 11px;background:#fafbfc}
@media(max-width:760px){
  .cognitive-library-section{margin-top:48px;padding-top:34px}
  .cognitive-category-card{grid-template-columns:72px minmax(0,1fr) auto;min-height:104px;padding:14px 14px;gap:13px;border-radius:21px}
  .cognitive-category-icon{width:64px;height:64px;border-radius:18px;font-size:27px}
  .cognitive-category-image img{width:64px;height:64px}
  .cognitive-category-copy h3{font-size:17px;line-height:1.2;margin:0 0 4px;color:var(--ink)}
  .cognitive-category-copy p{font-size:12px;line-height:1.4;margin:0 0 6px;color:var(--muted);max-width:900px}
  .cognitive-category-copy small{font-size:10px;color:#748190}
  .cognitive-coming-soon{white-space:nowrap;padding:6px 9px;font-size:10px}
}
.cognitive-category-card-link{color:inherit;text-decoration:none;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.cognitive-category-card-link:hover{transform:translateY(-2px);box-shadow:0 20px 45px rgba(37,61,89,.12);border-color:#cbd9df}
.cognitive-category-arrow{font-size:32px;color:var(--ink);font-weight:500;padding:0 4px}
@media(max-width:760px){.cognitive-category-arrow{font-size:27px}}
.cognitive-category-image{width:88px;height:88px;border-radius:24px;background:#f1f3fb;display:grid;place-items:center;overflow:hidden}.cognitive-category-image img{display:block;width:88px;height:88px;object-fit:contain}


@media(max-width:430px){
  .cognitive-category-card{grid-template-columns:58px minmax(0,1fr) auto;min-height:104px;padding:12px 11px;gap:10px;border-radius:21px}
  .cognitive-category-icon{width:54px;height:54px;border-radius:16px;font-size:24px}
  .cognitive-category-image img{width:54px;height:54px}
  .cognitive-category-copy h3{font-size:15px;line-height:1.2;margin:0 0 4px;color:var(--ink)}
  .cognitive-category-copy p{font-size:11px;line-height:1.4;margin:0 0 6px;color:var(--muted)}
  .cognitive-category-copy small{font-size:10px;color:#748190}
  .cognitive-category-arrow{font-size:27px}
}

.exercise-dynamic-group{margin-top:34px}
.exercise-empty-state{padding:30px;border:1px solid var(--line);border-radius:22px;background:var(--card);box-shadow:var(--shadow)}

.free-exercise-limit-note{display:flex;gap:10px;align-items:baseline;margin:18px 0;padding:14px 16px;border:1px solid #E4EDF1;border-radius:14px;background:#F8FCFC}
.free-exercise-limit-note strong{font-weight:800}
.free-exercise-limit-note span{color:#5E748D}
.exercise-card.is-completed-today{cursor:default;opacity:.72}
.exercise-card-complete-badge{margin-left:auto;align-self:center;font-size:12px;font-weight:800;color:#5E748D}


/* Access state is rendered consistently for every exercise type. */
.exercise-card-horizontal.is-locked,.cognitive-category-card.is-locked{cursor:not-allowed;opacity:.88}
.exercise-card-horizontal.is-locked:hover,.cognitive-category-card.is-locked:hover{transform:none;box-shadow:var(--shadow);border-color:var(--line)}
.exercise-card-premium-badge,.cognitive-category-premium-badge{white-space:nowrap;font-size:12px;font-weight:800;color:#66768A;border:1px solid var(--line);border-radius:999px;padding:8px 12px;background:#F7FAFB}
