.course-library { width:min(1260px,100%); min-height:calc(100vh - 170px); margin:auto; padding:42px 28px 92px; }
.course-library-heading { display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,400px); align-items:end; gap:24px; margin-bottom:23px; }
.course-library-heading h1 { margin:7px 0 8px; font-size:clamp(32px,4vw,46px); line-height:1.12; letter-spacing:-.045em; }
.course-library-heading p { max-width:600px; margin:0; color:var(--ink-muted); }
.course-search { width:100%; min-height:48px; padding:0 15px; border:1px solid var(--line-strong); border-radius:var(--radius-sm); color:var(--ink); background:var(--surface); }
.course-filters { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 20px; }
.course-results-note { margin:0 0 15px; color:var(--ink-weak); font-size:13px; }
.course-library-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.course-library-card { display:flex; min-height:220px; flex-direction:column; padding:20px; border:1px solid var(--line); border-radius:var(--radius-md); color:var(--ink); background:var(--surface); box-shadow:var(--shadow-1); text-decoration:none; transition:transform var(--motion-fast),box-shadow var(--motion-fast),border-color var(--motion-fast); }
.course-library-card:hover { transform:translateY(-2px); border-color:var(--line-strong); box-shadow:var(--shadow-2); }
.course-library-card h2 { margin:9px 0 8px; font-size:19px; line-height:1.4; }
.course-library-card p { flex:1; margin:0; color:var(--ink-muted); font-size:14px; }
.course-library-card footer { display:flex; justify-content:space-between; gap:10px; margin-top:18px; color:var(--ink-weak); font-size:12px; }
.course-library-card footer strong { color:var(--accent); }
.course-library-empty { padding:24px; border:1px dashed var(--line-strong); border-radius:var(--radius-md); color:var(--ink-muted); background:var(--surface); }
.course-library-error { display:grid; gap:10px; max-width:600px; margin:40px auto; padding:24px; border:1px solid var(--danger); border-radius:var(--radius-md); color:var(--danger); background:var(--surface); }
.course-library .course-card { min-height:220px; padding:20px; border-radius:var(--radius-md); transition:transform var(--motion-fast),border-color var(--motion-fast),box-shadow var(--motion-fast); }
.course-library .course-card:hover { transform:translateY(-2px); border-color:var(--line-strong); box-shadow:var(--shadow-2); }
.course-library .course-meta a { display:inline-flex; min-height:36px; align-items:center; padding:0 12px; border-radius:var(--radius-pill); color:#fffefa; background:var(--accent); font-weight:700; text-decoration:none; white-space:nowrap; }
.course-library .course-meta a:hover { background:var(--accent-hover); }
@media (max-width:900px) { .course-library-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:720px) { .course-library { padding:25px 16px 110px; } .course-library-heading { display:block; } .course-library-heading h1 { font-size:34px; } .course-search { margin-top:18px; } .course-library-grid { grid-template-columns:1fr; } .course-library-card { min-height:180px; } }
