/* Lucy English: lesson page, catalog and submitted list (W2). Tokens only; components live in app.css. */

.lsec { scroll-margin-top: 56px; }
.lsec > h2 { margin-bottom: 4px; }
.toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; }

/* Vocabulary and patterns */
.vocab { border-top: 1px solid var(--rule); }
.vw { padding: 12px 0; border-bottom: 1px solid var(--rule); }
.vw-main { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; }
.vw-ex { display: flex; align-items: flex-start; gap: 12px; }
.vw-main + .vw-ex { margin-top: 8px; }
.vw-ex > div { min-width: 0; }
.gap { display: inline-block; width: 32px; height: 1px; flex-shrink: 0; }
.hide-meaning .meaning { visibility: hidden; }

/* Dialogue */
.dialogue { border-top: 1px solid var(--rule); }
.dline {
  display: block; width: 100%; min-height: 44px; padding: 12px 0;
  text-align: left; background: none; border: 0; border-bottom: 1px solid var(--rule);
  transition: background-color 120ms;
}
.dline:disabled { cursor: default; }
.dline .who { font-weight: 600; margin-right: 8px; }
.dline .vi { display: block; }

/* Reading, listening, questions */
.passage { max-width: 62ch; }
.script-line + .script-line { margin-top: 8px; }
.script .who { font-weight: 600; margin-right: 8px; }
.qs > .q + .q { margin-top: 24px; }
.q-prompt.en { font-weight: 400; }
.q-prompt .blank { display: inline-block; width: 9em; max-width: 100%; margin: 0 4px; vertical-align: baseline; }
.q-feedback > * + * { margin-top: 4px; }
.q-feedback .vi { color: var(--muted); }
.hint { margin-left: 4px; }

/* Speaking and writing */
.criteria { padding-left: 20px; }
.criteria li + li { margin-top: 4px; }
.recorder > * + * { margin-top: 12px; }
.score > * + * { margin-top: 4px; }
.score-line { font-weight: 600; }
.points { padding-left: 20px; }
.writing-box { min-height: 200px; }
.plan td:first-child { white-space: nowrap; width: 1%; }

/* Foot bar */
.footbar { flex-wrap: wrap; }
.foot-left.bad { color: var(--red); }
.foot-left.ok { color: var(--green); font-weight: 600; }

/* Submitted list */
.row-block { border-bottom: 1px solid var(--rule); }
.row-block > .row { border-bottom: 0; }
.row-open { padding: 0 0 16px; }
.row-open > * + *, .detail > * + * { margin-top: 16px; }
.rec-item > * + * { margin-top: 8px; }
.rec-item + .rec-item { margin-top: 16px; }

@media (max-width: 639px) {
  .q-prompt .blank { width: 7em; }
}
