.public-lesson { max-width: 960px; margin-inline: auto; }
.public-lesson .page-heading { margin-top: 24px; }
.public-lesson .study-note h2 { margin-top: 0; font-size: var(--heading-sm); }
.public-lesson-modes { display: grid; gap: 16px; margin-block: 20px 28px; }
.public-lesson-modes .level-card { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.public-lesson-modes > .level-card > h3, .public-lesson-modes > .level-card > p { margin: 0; }
.public-lesson-example { width: 100%; box-sizing: border-box; padding: 16px; background: var(--surface-alt); border-radius: 8px; overflow-wrap: anywhere; }
.public-lesson-example p { margin-top: 8px; white-space: pre-line; }
.public-lesson-access { color: var(--muted); }
.public-lesson-start { margin-top: 8px; max-width: 100%; white-space: normal; }
.public-lesson-levels { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
.public-lesson-levels a { padding: 8px 16px; border: 1px solid var(--line); border-radius: 8px; text-decoration: none; }
.public-lesson-levels a[aria-current="page"] { background: var(--accent-soft); color: var(--accent); border-color: var(--accent); font-weight: 700; }
.public-lesson:not(.is-practicing) .practice-header { display: none; }
.public-lesson:not(.is-practicing) .practice-shell { max-width: none; margin: 16px 0 0; padding-top: 20px; border-top: 1px solid var(--line); }
.public-lesson:not(.is-practicing) .practice-instruction { margin: 0 0 16px; }
.public-lesson:not(.is-practicing) #quiz-form,
.public-lesson:not(.is-practicing) #score,
.public-lesson:not(.is-practicing) #result-time { display: none; }
.public-lesson #start-error:empty { display: none; }
.public-lesson #start-error:not(:empty) { margin-top: 16px; }
.public-lesson.is-practicing { max-width: none; }
.public-lesson.is-practicing > :not(.public-lesson-modes) { display: none; }
.public-lesson.is-practicing .public-lesson-modes { display: block; margin: 0; }
.public-lesson.is-practicing .level-card { display: block; padding: 0; border: 0; border-radius: 0; background: transparent; }
.public-lesson.is-practicing .level-card > :not(.practice-shell) { display: none; }
.public-lesson .practice-shell { width: 100%; }
