.library-app { font-size: 16px; line-height: 1.6; }
.library-app .welcome { max-width: 460px; margin: 10vh auto; padding: 32px; }
.library-app h1,.library-app h2,.library-app h3 { font-family: 'Source Serif 4',serif; line-height: 1.2; }
.library-app h1 { font-size: clamp(1.8rem,4vw,2.5rem); }
.library-app .welcome form,.library-app .field-label { display:grid; gap:12px; }
.library-app .field-label,.library-app .button,.library-app .sidebar-nav .nav-item { font-size: .875rem; }
.library-app .field { font-size: 1rem; }
.library-app .teacher-workspace { max-width: 1400px; }
.library-app .nav-label,.library-app .eyebrow,.library-app .brand small,.library-app .meta,.library-app .badge { font-size: .75rem; }
.library-app .identity strong { font-size: .875rem; }
.library-app .sidebar-foot span { font-size: .8125rem; }
.library-app .topbar-title { font-size: 1.25rem; }
.library-app .topbar { height:auto; min-height:var(--topbar-height); }
.library-app .topbar-inner { min-height:var(--topbar-height); }
.library-app .lesson-card h2,.library-app .page-head h1 { overflow-wrap:anywhere; }
.library-app .quiet { display:inline-block; }
.library-app .languages button { min-width:40px; font-size:.75rem; }
.library-app .page-head p { font-size: 1rem; }
.library-app .filters { display:grid; grid-template-columns:2fr repeat(3,1fr); gap:12px; margin:24px 0; }
.library-app .lesson-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr)); gap:20px; }
.library-app .lesson-card { padding:24px; display:flex; flex-direction:column; align-items:flex-start; gap:12px; }
.library-app .lesson-card h2 { font-size:1.5rem; margin:0; }
.library-app .lesson-card p { margin:0; }
.library-app .lesson-card .button { margin-top:auto; }
.library-app .crumb { color:var(--ink-soft); overflow-wrap:anywhere; font-size:.875rem; }
.library-app .study-layout { display:grid; grid-template-columns:minmax(0,2.3fr) minmax(220px,1fr); gap:24px; align-items:start; }
.library-app .study-layout>*,.library-app fieldset { min-width:0; }
.library-app video { width:100%; max-height:65vh; background:#18151e; border-radius:7px; }
.library-app .section { margin:24px 0; }
.library-app .prose { white-space:pre-wrap; overflow-wrap:anywhere; }
.library-app .cue { display:block; text-align:left; width:100%; border:0; background:transparent; color:var(--ink); padding:10px; cursor:pointer; font-size:1rem; }
.library-app .cue:hover { background:var(--brand-soft); }
.library-app .transcript { max-height:420px; overflow:auto; }
.library-app .progress { width:100%; accent-color:var(--brand); }
.library-app fieldset { padding:20px; margin:20px 0; border:1px solid var(--line); border-radius:7px; }
.library-app legend { font-weight:600; padding:0 8px; }
.library-app .option { display:flex; align-items:baseline; gap:10px; margin:10px 0; }
.library-app .editor-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.library-app .wide { grid-column:1/-1; }
.library-app .repeat-row { border:1px solid var(--line); border-radius:7px; padding:16px; margin:16px 0; background:var(--surface-muted); }
.library-app .editor-actions { position:sticky; bottom:0; z-index:5; padding:16px 0; background:var(--paper); border-top:1px solid var(--line); }
.library-app .library-notice { margin:16px 0; }
.library-app .muted { color:var(--ink-soft); }
.library-app .upload-status:empty { display:none; }
.library-app .review-note { padding:16px; border-left:3px solid var(--brand); background:var(--brand-soft); }
@media(max-width:980px) { .library-app .filters { grid-template-columns:repeat(2,minmax(0,1fr)); } .library-app .study-layout { grid-template-columns:1fr; } .library-app .editor-actions { bottom:68px; } .library-app .sidebar-nav .nav-item { min-width:130px; font-size:.875rem; } }
@media(max-width:600px) { .library-app .filters,.library-app .editor-grid { grid-template-columns:1fr; } .library-app .welcome { padding:24px; margin:5vh auto; } .library-app .topbar-context { max-width:40vw; } .library-app .languages button { padding:0 5px; } .library-app .panel { padding:16px; } }
@media(max-width:720px) { .library-app .topbar-inner { flex-wrap:wrap; gap:8px; } .library-app .topbar-context { max-width:100%; } .library-app .top-actions { flex-wrap:wrap; } }
