/* Componentes do modelo reutilizável de aulas de conteúdo */
.lesson-template-page .lesson-hero { padding-top: 36px; }
.lesson-breadcrumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 34px; color: var(--ink-soft); font-size: 0.66rem; font-weight: 700; }
.lesson-breadcrumbs a { transition: color 160ms ease; }
.lesson-breadcrumbs a:hover { color: var(--purple); }
.lesson-breadcrumbs span[aria-current="page"] { overflow: hidden; max-width: 280px; color: var(--ink); text-overflow: ellipsis; white-space: nowrap; }
.lesson-title-row { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 9px; }
.lesson-title-row .lesson-kicker { margin: 0; }
.lesson-level { display: inline-flex; min-height: 25px; align-items: center; padding: 4px 9px; border: 1px solid #d5cdfb; border-radius: 999px; background: rgba(255,255,255,0.75); color: var(--purple); font-size: 0.53rem; font-weight: 800; letter-spacing: 0.08em; }
.lesson-template-page .lesson-meta > span { min-width: 135px; }
.lesson-template-page .lesson-hero-grid { grid-template-columns: minmax(0, 1fr) 370px; gap: 58px; }
.lesson-template-page .lesson-hero h1 { font-size: clamp(3rem, 5.4vw, 5.2rem); }

.lesson-copy { display: grid; gap: 13px; max-width: 790px; }
.lesson-copy p { margin: 0; color: var(--ink-soft); font-size: 0.82rem; line-height: 1.75; }
.lesson-copy strong { color: var(--ink); }
.lesson-copy-lead p:first-child { color: var(--ink); font-size: 0.91rem; }

.notebook-sheet { position: relative; overflow: hidden; padding: 31px 31px 31px 53px; border: 1px solid #ded8fb; border-radius: 21px; background: repeating-linear-gradient(to bottom, #fff 0, #fff 33px, #e9e7f6 34px); box-shadow: 0 16px 38px rgba(45, 41, 74, 0.08); }
.notebook-sheet::before { position: absolute; top: 0; bottom: 0; left: 29px; width: 2px; background: #f2a7aa; content: ""; }
.notebook-heading { display: grid; gap: 2px; margin-bottom: 22px; padding-bottom: 13px; border-bottom: 2px solid #bfb5f4; }
.notebook-heading span, .notebook-heading small { color: var(--purple); font-size: 0.54rem; font-weight: 800; letter-spacing: 0.12em; }
.notebook-heading strong { font-family: "Manrope", sans-serif; font-size: 1.25rem; }
.notebook-heading small { color: var(--ink-soft); letter-spacing: 0.06em; }
.notebook-block { margin-top: 21px; }
.notebook-block h3 { margin: 0 0 8px; color: var(--ink); font-size: 0.86rem; }
.notebook-block p, .notebook-block li { color: #4f586d; font-size: 0.7rem; line-height: 1.72; }
.notebook-block p { margin: 5px 0; }
.notebook-block ul { display: grid; gap: 2px; margin: 7px 0 0; padding-left: 19px; }
.notebook-block b, .notebook-block strong { color: var(--ink); }
.notebook-mnemonic-card { display: grid; grid-template-columns: 130px minmax(0, 1fr); align-items: center; gap: 14px; margin: 10px 0 8px; padding: 15px 18px; border: 1px solid #dcd4ff; border-left: 4px solid var(--purple); border-radius: 0 15px 15px 0; background: linear-gradient(135deg, rgba(248,246,255,0.97), rgba(253,252,255,0.97)); box-shadow: 0 8px 22px rgba(83, 63, 156, 0.08); }
.notebook-mnemonic-name { display: grid; gap: 1px; }
.notebook-mnemonic-name small { color: var(--purple); font-size: 0.54rem; font-weight: 800; }
.notebook-mnemonic-name strong { color: var(--ink); font-family: "Manrope", sans-serif; font-size: 1rem; letter-spacing: 0.025em; }
.notebook-mnemonic-items { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.notebook-mnemonic-items span { display: flex; min-width: 0; align-items: baseline; justify-content: center; gap: 5px; padding: 3px 11px; border-left: 1px solid #ddd7f6; white-space: nowrap; }
.notebook-mnemonic-items b { color: var(--purple); font-family: "Manrope", sans-serif; font-size: 0.83rem; }
.notebook-mnemonic-items em { overflow: hidden; color: var(--ink); font-size: 0.61rem; font-style: normal; font-weight: 750; text-overflow: ellipsis; }
.notebook-rule { display: grid; grid-template-columns: auto 1fr; gap: 9px; margin: 10px 0; padding: 10px 13px; border-left: 3px solid var(--purple); border-radius: 0 10px 10px 0; background: rgba(242, 239, 255, 0.9); color: var(--ink-soft); font-size: 0.64rem; line-height: 1.55; }
.notebook-rule b { color: var(--purple); }
.notebook-keywords { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 23px; padding-top: 15px; border-top: 1px dashed #c9c3e8; }
.notebook-keywords span { padding: 6px 9px; border-radius: 8px; background: #f2efff; color: var(--purple); font-size: 0.56rem; font-weight: 800; }
.practical-example-grid, .summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.phonology-traps { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.concept-equation { position: relative; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; margin-top: 25px; padding: 22px; border: 1px solid #ded8fb; border-radius: 19px; background: linear-gradient(145deg, #f7f5ff, #fbfaff); }
.concept-equation > div { display: grid; grid-template-columns: 1fr auto 28px auto; align-items: center; gap: 8px; padding: 13px 16px; border: 1px solid rgba(108,76,241,0.12); border-radius: 13px; background: white; }
.concept-equation small { color: var(--purple); font-size: 0.53rem; font-weight: 800; letter-spacing: 0.08em; }
.concept-equation strong { display: grid; min-width: 38px; min-height: 38px; place-items: center; border-radius: 10px; background: var(--purple-light); color: var(--purple); font-family: "Manrope", sans-serif; font-size: 1.05rem; }
.concept-equation > div > span { color: #a5aabd; text-align: center; }
.concept-equation > p { grid-column: 1 / -1; margin: 5px 0 0; color: var(--ink-soft); font-size: 0.66rem; text-align: center; }

.contest-context-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin-top: 18px; }
.contest-context-grid article { display: flex; align-items: flex-start; gap: 12px; padding: 17px; border: 1px solid var(--border); border-radius: 15px; background: #fbfbfd; }
.contest-context-grid article > span { display: grid; flex: 0 0 auto; width: 35px; height: 35px; place-items: center; border-radius: 10px; background: var(--purple-light); color: var(--purple); font-weight: 800; }
.contest-context-grid strong { display: block; margin-bottom: 3px; font-size: 0.68rem; }
.contest-context-grid p { margin: 0; color: var(--ink-soft); font-size: 0.61rem; line-height: 1.55; }

.relationship-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }
.relationship-card { overflow: hidden; padding: 23px; border: 1px solid var(--border); border-radius: 20px; background: #fbfbfd; }
.relationship-card.direct-card { border-top: 4px solid var(--purple); }
.relationship-card.inverse-card { border-top: 4px solid var(--orange); }
.relationship-card-head { display: flex; align-items: center; gap: 11px; margin-bottom: 13px; }
.relationship-card-head > span { display: grid; flex: 0 0 auto; width: 40px; height: 40px; place-items: center; border-radius: 12px; background: var(--purple-light); color: var(--purple); font-size: 1.1rem; font-weight: 800; }
.inverse-card .relationship-card-head > span { background: #fff0df; color: #c8782c; }
.relationship-card-head small { color: var(--purple); font-size: 0.51rem; font-weight: 800; letter-spacing: 0.1em; }
.inverse-card .relationship-card-head small { color: #b56d2b; }
.relationship-card h3 { margin: 1px 0 0; font-size: 1rem; }
.relationship-card > p { min-height: 65px; margin-bottom: 17px; color: var(--ink-soft); font-size: 0.68rem; }
.relationship-visual { display: grid; gap: 8px; padding: 13px; border-radius: 14px; background: white; box-shadow: inset 0 0 0 1px var(--border); }
.relationship-visual > div { display: grid; grid-template-columns: 78px 1fr auto; align-items: center; gap: 8px; padding: 8px 4px; border-bottom: 1px solid var(--border); }
.relationship-visual > div:last-child { border: 0; }
.relationship-visual small { color: var(--ink-soft); font-size: 0.56rem; }
.relationship-visual strong { font-family: "Manrope", sans-serif; font-size: 0.78rem; }
.relationship-visual strong span { color: #a7abba; }
.relationship-visual em { min-width: 66px; color: var(--green); font-size: 0.54rem; font-style: normal; font-weight: 800; text-align: right; }
.inverse-card .relationship-visual > div:last-child em { color: var(--orange); }
.relationship-example { margin-top: 13px; color: var(--ink-soft); font-size: 0.61rem; line-height: 1.55; }
.relationship-example strong { color: var(--ink); }
.decision-test { display: flex; align-items: center; gap: 15px; margin-top: 17px; padding: 18px; border-radius: 16px; background: var(--ink); color: white; }
.decision-test > span { display: grid; flex: 0 0 auto; width: 40px; height: 40px; place-items: center; border-radius: 12px; background: rgba(255,255,255,0.1); color: #cabfff; font-family: "Manrope", sans-serif; font-weight: 800; }
.decision-test strong { display: block; margin-bottom: 2px; font-size: 0.7rem; }
.decision-test p { margin: 0; color: #b9c1d1; font-size: 0.62rem; }

.lesson-step-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 11px; margin: 0; padding: 0; list-style: none; }
.lesson-step-list li { display: flex; align-items: flex-start; gap: 13px; min-height: 137px; padding: 19px; border: 1px solid var(--border); border-radius: 17px; background: #fbfbfd; }
.lesson-step-list li > span { display: grid; flex: 0 0 auto; width: 35px; height: 35px; place-items: center; border-radius: 11px; background: var(--purple); color: white; font-family: "Manrope", sans-serif; font-size: 0.71rem; font-weight: 800; box-shadow: 0 8px 17px rgba(108,76,241,0.2); }
.lesson-step-list strong { display: block; margin-bottom: 4px; font-size: 0.72rem; }
.lesson-step-list p { margin: 0; color: var(--ink-soft); font-size: 0.62rem; line-height: 1.6; }
.method-summary { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 7px; margin-top: 18px; padding: 15px; border-radius: 14px; background: #f2efff; }
.method-summary span { padding: 6px 9px; border-radius: 8px; background: white; color: var(--purple); font-size: 0.56rem; font-weight: 800; }
.method-summary i { color: #a89bdc; font-size: 0.66rem; font-style: normal; }

.worked-problem { padding: 22px; border-radius: 18px; background: linear-gradient(145deg, #17213b, #283653); color: white; }
.worked-problem-label { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-bottom: 13px; }
.worked-problem-label span { color: #c8bcff; font-size: 0.56rem; font-weight: 800; letter-spacing: 0.12em; }
.worked-problem-label small { padding: 4px 8px; border-radius: 99px; background: rgba(255,255,255,0.1); color: #d9deea; font-size: 0.51rem; }
.worked-problem > p { margin: 0; font-size: 0.81rem; line-height: 1.7; }
.worked-problem > p strong { color: #d1c8ff; }
.worked-solution { margin-top: 15px; }
.worked-solution > ol { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.worked-solution > ol > li { display: grid; grid-template-columns: 36px 1fr; gap: 13px; padding: 17px; border: 1px solid var(--border); border-radius: 15px; }
.worked-solution > ol > li > span { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 10px; background: var(--purple-light); color: var(--purple); font-size: 0.65rem; font-weight: 800; }
.worked-solution strong { display: block; margin-bottom: 3px; font-size: 0.7rem; }
.worked-solution p { margin: 0; color: var(--ink-soft); font-size: 0.62rem; }
.proportion-table { overflow: hidden; max-width: 380px; margin-top: 10px; border: 1px solid var(--border); border-radius: 11px; }
.proportion-table > div { display: grid; grid-template-columns: repeat(2, 1fr); }
.proportion-table > div > * { padding: 7px 11px; border-right: 1px solid var(--border); text-align: center; }
.proportion-table > div > *:last-child { border-right: 0; }
.proportion-table > div:first-child { background: #f3f1fb; color: var(--ink-soft); font-size: 0.54rem; font-weight: 800; }
.proportion-table > div:not(:first-child) { border-top: 1px solid var(--border); }
.proportion-table strong { margin: 0; font-family: "Manrope", sans-serif; }
.calculation-line { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 9px; color: var(--ink); font-family: "Manrope", sans-serif; font-size: 0.85rem; font-weight: 800; }
.calculation-line span { padding: 6px 10px; border-radius: 8px; background: #f3f1fb; color: var(--purple); }
.calculation-line i { color: #9fa4b3; font-style: normal; }
.calculation-line b { color: #9fa4b3; }
.final-calculation span:last-child { background: #daf5e9; color: #278361; }
.worked-answer { display: flex; align-items: center; gap: 13px; margin-top: 14px; padding: 17px; border: 1px solid #bde6d7; border-radius: 15px; background: #eaf8f2; color: #286e56; }
.worked-answer > span { display: grid; flex: 0 0 auto; width: 36px; height: 36px; place-items: center; border-radius: 11px; background: var(--green); color: white; font-weight: 800; }
.worked-answer p { display: grid; margin: 0; }
.worked-answer small { font-size: 0.51rem; font-weight: 800; letter-spacing: 0.1em; }
.worked-answer strong { font-size: 0.72rem; }

.contest-tip-box { display: grid; grid-template-columns: auto 1fr; gap: 20px; padding: 25px; border: 1px solid #ffd9b4; border-radius: 21px; background: linear-gradient(145deg, #fff8ef, #fffdf9); }
.contest-tip-icon { display: grid; width: 54px; height: 54px; place-items: center; border-radius: 17px; background: var(--orange); color: white; font-family: "Manrope", sans-serif; font-size: 1.3rem; font-weight: 800; box-shadow: 0 10px 20px rgba(245,155,69,0.2); }
.contest-tip-box > div:last-child > span { color: #b46825; font-size: 0.53rem; font-weight: 800; letter-spacing: 0.12em; }
.contest-tip-box h3 { margin: 3px 0 8px; font-size: 1.25rem; }
.contest-tip-box p { margin: 0; color: var(--ink-soft); font-size: 0.68rem; line-height: 1.65; }
.contest-tip-rule { margin-top: 16px; padding: 14px; border-radius: 13px; background: white; box-shadow: inset 0 0 0 1px #f4e1cd; }
.contest-tip-rule strong { display: block; color: #9a5e27; font-size: 0.65rem; }
.contest-checklist { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 14px; }
.contest-checklist article { display: flex; align-items: center; gap: 10px; padding: 14px; border: 1px solid var(--border); border-radius: 14px; }
.contest-checklist article > span { display: grid; flex: 0 0 auto; width: 29px; height: 29px; place-items: center; border-radius: 9px; background: var(--purple-light); color: var(--purple); font-size: 0.6rem; font-weight: 800; }
.contest-checklist p { display: grid; margin: 0; }
.contest-checklist strong { font-size: 0.62rem; }
.contest-checklist small { color: var(--ink-soft); font-size: 0.53rem; }

.practice-composition { display: flex; flex-wrap: wrap; gap: 8px; margin: -8px 0 21px; }
.practice-composition span { padding: 7px 10px; border: 1px solid var(--border); border-radius: 99px; background: #fbfbfd; color: var(--ink-soft); font-size: 0.57rem; }
.practice-composition b { color: var(--purple); }
.lesson-quiz { padding: 24px; border: 1px solid #ddd8f5; border-radius: 21px; background: linear-gradient(145deg, #f9f8ff, #fff); }
.lesson-quiz-topline { display: flex; align-items: center; justify-content: space-between; gap: 15px; }
.lesson-quiz-topline > div { display: grid; }
.lesson-quiz-topline span { color: var(--ink-soft); font-size: 0.55rem; font-weight: 800; letter-spacing: 0.07em; }
.lesson-quiz-topline strong { margin-top: 2px; font-size: 0.68rem; }
.quiz-difficulty-pill { padding: 6px 10px; border-radius: 99px; background: #e8f7f0; color: #287c60 !important; letter-spacing: 0 !important; }
.quiz-difficulty-pill[data-difficulty="Média"] { background: #fff0df; color: #a86525 !important; }
.quiz-difficulty-pill[data-difficulty="Estilo concurso"] { background: var(--purple-light); color: var(--purple) !important; }
.quiz-progress-track { height: 6px; margin: 13px 0 23px; }
.lesson-quiz h3 { max-width: 780px; margin-bottom: 20px; font-size: clamp(1.12rem, 2.4vw, 1.55rem); line-height: 1.45; }
.lesson-quiz h3:focus { outline: none; }
.lesson-answer-list { display: grid; gap: 9px; }
.lesson-answer-option { display: grid; grid-template-columns: 35px minmax(0, 1fr) 20px; align-items: center; gap: 11px; width: 100%; min-height: 58px; padding: 11px 13px; border: 1px solid var(--border); border-radius: 14px; background: white; text-align: left; cursor: pointer; transition: border-color 160ms ease, background 160ms ease, transform 160ms ease; }
.lesson-answer-option:hover:not(:disabled) { border-color: #b9aaff; background: #faf9ff; transform: translateX(2px); }
.lesson-answer-option .option-letter { display: grid; width: 31px; height: 31px; place-items: center; border-radius: 10px; background: #eff0f5; color: var(--ink-soft); font-size: 0.64rem; font-weight: 800; }
.lesson-answer-option > span:nth-child(2) { font-size: 0.7rem; }
.lesson-answer-option em { font-style: normal; font-weight: 800; text-align: center; }
.lesson-answer-option.selected { border-color: #a998f9; background: #f5f2ff; box-shadow: inset 0 0 0 1px #d2c8ff; }
.lesson-answer-option.selected .option-letter { background: var(--purple); color: white; }
.lesson-answer-option.correct { border-color: var(--green); background: #eaf8f2; box-shadow: none; }
.lesson-answer-option.correct .option-letter { background: var(--green); color: white; }
.lesson-answer-option.correct em { color: var(--green); }
.lesson-answer-option.wrong { border-color: #e87982; background: #fff0f1; box-shadow: none; }
.lesson-answer-option.wrong .option-letter { background: #e87982; color: white; }
.lesson-answer-option.wrong em { color: #d05b66; }
.lesson-answer-option:disabled { cursor: default; }
.lesson-answer-feedback { display: grid; grid-template-columns: 42px 1fr; gap: 13px; margin-top: 16px; padding: 17px; border-radius: 15px; }
.lesson-answer-feedback.correct { border: 1px solid #bde6d7; background: #eaf8f2; color: #286e56; }
.lesson-answer-feedback.wrong { border: 1px solid #f1c7a9; background: #fff3e9; color: #80532e; }
.feedback-status-icon { display: grid; width: 39px; height: 39px; place-items: center; border-radius: 12px; background: var(--green); color: white; font-weight: 800; }
.lesson-answer-feedback.wrong .feedback-status-icon { background: var(--orange); }
.lesson-answer-feedback strong { display: block; font-size: 0.74rem; }
.lesson-answer-feedback p { margin: 3px 0 0; font-size: 0.63rem; line-height: 1.6; }
.feedback-correct-answer { font-weight: 700; }
.lesson-quiz-actions { display: flex; align-items: center; justify-content: flex-end; gap: 11px; margin-top: 18px; }
.lesson-quiz-actions > span { margin-right: auto; color: var(--ink-soft); font-size: 0.58rem; font-weight: 700; }
.lesson-quiz-actions .button { min-width: 145px; }
.lesson-quiz-actions [hidden], .lesson-answer-feedback[hidden] { display: none; }

.lesson-performance-summary { padding: 28px; border: 1px solid #d8d2f8; border-radius: 23px; background: linear-gradient(145deg, #f7f5ff, #fff); text-align: center; }
.lesson-performance-summary:focus { outline: none; }
.performance-celebration { display: grid; width: 58px; height: 58px; place-items: center; margin: 0 auto 15px; border-radius: 19px; background: var(--purple); color: white; font-size: 1.3rem; font-weight: 800; box-shadow: 0 12px 24px rgba(108,76,241,0.22); }
.lesson-performance-summary h3 { margin: 9px 0 4px; font-size: 1.55rem; }
.lesson-performance-summary > p { margin: 0 auto 22px; color: var(--ink-soft); font-size: 0.7rem; }
.performance-summary-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 9px; }
.performance-summary-grid article { display: grid; min-height: 115px; align-content: center; padding: 14px; border: 1px solid var(--border); border-radius: 15px; background: white; }
.performance-summary-grid small { color: var(--ink-soft); font-size: 0.49rem; font-weight: 800; letter-spacing: 0.06em; }
.performance-summary-grid strong { margin: 2px 0; font-family: "Manrope", sans-serif; font-size: 1.45rem; }
.performance-summary-grid span { color: var(--ink-soft); font-size: 0.52rem; }
.performance-summary-grid .correct-metric strong { color: var(--green); }
.performance-summary-grid .wrong-metric strong { color: #df6a74; }
.performance-summary-grid .percentage-metric strong { color: var(--purple); }
.performance-level-card { display: grid; grid-template-columns: 190px 1fr; align-items: center; gap: 18px; margin-top: 11px; padding: 16px; border: 1px solid var(--border); border-radius: 15px; background: white; text-align: left; }
.performance-level-card > div:first-child { display: grid; }
.performance-level-card small, .study-recommendation small { color: var(--ink-soft); font-size: 0.5rem; font-weight: 800; letter-spacing: 0.07em; }
.performance-level-card strong { font-size: 0.78rem; }
.performance-level-bar { overflow: hidden; height: 9px; border-radius: 99px; background: #ececf3; }
.performance-level-bar span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--purple), var(--blue)); transition: width 500ms ease; }
.study-recommendation { display: flex; align-items: flex-start; gap: 12px; margin-top: 11px; padding: 17px; border-radius: 15px; background: var(--ink); color: white; text-align: left; }
.study-recommendation > span { display: grid; flex: 0 0 auto; width: 34px; height: 34px; place-items: center; border-radius: 10px; background: rgba(255,255,255,0.1); color: #c8bcff; }
.study-recommendation > div { display: grid; }
.study-recommendation small { color: #9fa9bc; }
.study-recommendation strong { margin-top: 2px; font-size: 0.66rem; font-weight: 600; }
.performance-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 9px; margin-top: 17px; }
.performance-actions .button { min-height: 44px; }
.lesson-performance-summary[hidden] { display: none; }

.lesson-template-completion .completion-actions { min-width: 190px; }
.lesson-template-completion .completion-actions small { max-width: 190px; color: #9fa9bc; font-size: 0.53rem; text-align: center; }
.lesson-template-completion.completed .completion-actions small { color: #c4e6db; }
.lesson-template-completion #next-topic-button:disabled { background: #485268; color: #8f99aa; box-shadow: none; cursor: not-allowed; transform: none; }

@media (max-width: 1050px) {
  .lesson-template-page .lesson-hero-grid { grid-template-columns: 1fr 330px; gap: 35px; }
  .performance-summary-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 820px) {
  .relationship-grid, .lesson-step-list { grid-template-columns: 1fr; }
  .relationship-card > p { min-height: 0; }
  .contest-checklist { grid-template-columns: 1fr; }
}

@media (max-width: 740px) {
  .lesson-template-page .lesson-hero-grid { grid-template-columns: 1fr; }
  .concept-equation, .contest-context-grid { grid-template-columns: 1fr; }
  .concept-equation > p { grid-column: auto; }
  .lesson-quiz { padding: 19px 15px; }
  .lesson-quiz-actions { flex-wrap: wrap; }
  .lesson-quiz-actions > span { flex: 1 1 100%; }
  .lesson-quiz-actions .button { flex: 1; }
  .performance-level-card { grid-template-columns: 1fr; }
  .notebook-sheet { padding: 24px 18px 24px 39px; }
  .notebook-sheet::before { left: 22px; }
  .practical-example-grid, .summary-grid, .phonology-traps { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
  .lesson-breadcrumbs { gap: 6px; }
  .lesson-breadcrumbs span[aria-current="page"] { max-width: 150px; }
  .lesson-template-page .lesson-hero h1 { font-size: clamp(2.75rem, 14vw, 4rem); }
  .concept-equation { padding: 14px; }
  .concept-equation > div { grid-template-columns: 1fr auto 20px auto; padding: 11px; }
  .relationship-card { padding: 18px 15px; }
  .relationship-visual > div { grid-template-columns: 65px 1fr; }
  .relationship-visual em { grid-column: 2; text-align: left; }
  .lesson-step-list li { min-height: 0; padding: 16px; }
  .method-summary i { display: none; }
  .contest-tip-box { grid-template-columns: 1fr; padding: 20px 17px; }
  .contest-tip-icon { width: 46px; height: 46px; }
  .worked-solution > ol > li { grid-template-columns: 31px 1fr; padding: 14px 12px; }
  .worked-solution > ol > li > span { width: 29px; height: 29px; }
  .lesson-answer-option { grid-template-columns: 33px minmax(0, 1fr) 17px; padding: 10px; }
  .lesson-answer-option > span:nth-child(2) { font-size: 0.66rem; }
  .lesson-answer-feedback { grid-template-columns: 1fr; }
  .performance-summary-grid { grid-template-columns: 1fr 1fr; }
  .performance-summary-grid article { min-height: 100px; padding: 10px 6px; }
  .lesson-performance-summary { padding: 22px 14px; }
  .notebook-rule { grid-template-columns: 1fr; gap: 2px; }
  .notebook-mnemonic-card { grid-template-columns: 1fr; gap: 10px; padding: 14px 12px; }
  .notebook-mnemonic-items { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; padding-top: 5px; }
  .notebook-mnemonic-items span { justify-content: flex-start; padding: 7px 9px; border: 1px solid #e2dcfa; border-radius: 9px; background: rgba(255,255,255,0.82); white-space: normal; }
  .notebook-mnemonic-items em { overflow: visible; text-overflow: clip; }
  .performance-actions { display: grid; }
}
