.lesson-page{max-width:780px;color:var(--rv-forest);margin:0 auto;padding:32px 16px 64px;font-family:Montserrat,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}.lesson-header{margin-bottom:24px}.lesson-meta{letter-spacing:.12em;text-transform:uppercase;color:var(--rv-rock);opacity:.85;margin-bottom:6px;font-size:12px}.lesson-title{color:var(--foreground);font-size:2.1rem;font-weight:800;line-height:1.2}.lesson-intro{border:1px solid var(--rv-border);color:var(--rv-rock);background:#f4f1ece6;border-radius:18px;margin-top:18px;margin-bottom:24px;padding:18px 18px 16px;font-size:.95rem;line-height:1.7;box-shadow:0 6px 18px #0000000a}.lesson-intro p:last-child{margin-bottom:0}.lesson-body{color:var(--rv-forest);margin-top:8px;font-size:1rem;line-height:1.8}.lesson-intro p,.lesson-body p{margin:0 0 .9em}.lesson-body h2,.lesson-intro h2{color:var(--rv-forest);margin-top:1.8em;margin-bottom:.5em;font-size:1.35rem;font-weight:800}.lesson-body h3,.lesson-intro h3{margin-top:1.4em;margin-bottom:.4em;font-size:1.15rem;font-weight:700}.lesson-body ul,.lesson-body ol,.lesson-intro ul,.lesson-intro ol{margin:0 0 1em;padding-left:1.3rem}.lesson-body li,.lesson-intro li{margin-bottom:.35em}.lesson-body strong,.lesson-intro strong{color:var(--rv-rust);font-weight:800}.lesson-body blockquote,.lesson-intro blockquote{border-left:3px solid var(--rv-rust);color:var(--rv-rock);background:#f4f1ecd9;border-radius:10px;margin:1.2em 0;padding:.9em 1.1em;font-size:.95rem}@media (min-width:768px){.lesson-page{padding:40px 0 80px}.lesson-title{font-size:2.4rem}.lesson-intro{padding:20px 22px 18px}}.lesson-exercises{border-top:1px solid var(--rv-border);margin-top:40px;padding-top:24px}.lesson-ex-header{justify-content:space-between;align-items:baseline;margin-bottom:16px;display:flex}.lesson-ex-label{text-transform:uppercase;letter-spacing:.12em;color:var(--rv-rock);font-size:.9rem}.lesson-ex-progress{color:var(--rv-rock);opacity:.9;font-size:.85rem}.lesson-ex-body{border:1px solid var(--rv-border);background:#fffefa;border-radius:18px;padding:16px 18px 14px;box-shadow:0 8px 20px #0000000a}.lesson-ex-prompt{margin:0 0 12px;font-weight:600}.lesson-ex-options{margin:0;padding:0;list-style:none}.lesson-ex-option{border:1px solid #385c401f;border-radius:10px;margin-bottom:6px;padding:8px 10px;font-size:.95rem}.lesson-ex-answer{background:#df5c380d;border:1px solid #df5c3840;border-radius:10px;margin-top:12px;padding:10px 12px;font-size:.95rem}.lesson-ex-answer-label{margin-right:6px;font-weight:700}.lesson-ex-footer{justify-content:flex-end;gap:10px;margin-top:14px;display:flex}.lesson-ex-btn{cursor:pointer;border:1px solid #0000;border-radius:999px;padding:7px 14px;font-size:.9rem;transition:background-color .12s,border-color .12s,transform 80ms}.lesson-ex-btn:disabled{opacity:.5;cursor:default;transform:none}.lesson-ex-btn--primary{background:var(--rv-rust);color:#fff;border-color:var(--rv-rust)}.lesson-ex-btn--primary:not(:disabled):hover{background:#c95333}.lesson-ex-btn--primary:not(:disabled):active{transform:translateY(1px)}.lesson-ex-btn--ghost{color:var(--rv-forest);background:#fff;border-color:#385c4040}.lesson-ex-btn--ghost:not(:disabled):hover{background:#385c400a}.lesson-ex-option{cursor:pointer}.lesson-ex-option.is-selected{background:#385c400a;border-color:#385c408c}.lesson-ex-option.is-correct{background:#4caf5014;border-color:#4caf50cc}.lesson-ex-option.is-wrong{background:#df5c3814;border-color:#df5c38cc}.lesson-open-input{resize:vertical;background:#fff;border:1px solid #385c402e;border-radius:12px;width:100%;padding:10px 12px;font-family:inherit;font-size:.95rem}.lesson-order-list{margin:12px 0 0;padding-left:18px}.lesson-order-item{background:#fff;border:1px solid #385c401f;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;padding:8px 10px;display:flex}.lesson-order-actions{gap:6px;display:flex}.lesson-order-btn{cursor:pointer;background:#fff;border:1px solid #385c4040;border-radius:999px;padding:4px 10px}.lesson-match-grid{margin-top:10px}.lesson-match-left{background:#fff;border:1px solid #385c401f;border-radius:10px;grid-template-columns:1fr 1fr;align-items:center;gap:12px;margin-bottom:8px;padding:8px 10px;display:grid}.lesson-match-select{background:#fff;border:1px solid #385c402e;border-radius:10px;padding:8px 10px;font-size:.95rem}.lesson-ex-open{flex-direction:column;gap:10px;margin-top:12px;display:flex}.lesson-ex-open-hint{color:var(--rv-rock);font-size:.9rem}.lesson-ex-open-input{resize:vertical;background:#fffefa;border:1px solid #385c4040;border-radius:12px;outline:none;width:100%;min-height:120px;padding:10px 12px;font-family:inherit;font-size:.95rem;line-height:1.5;transition:border-color .12s,box-shadow .12s,background-color .12s}.lesson-ex-open-input::placeholder{color:#00000059}.lesson-ex-open-input:focus{border-color:var(--rv-rust);background:#fff;box-shadow:0 0 0 2px #df5c382e}.lesson-ex-answer-text{margin-top:8px;font-size:.95rem}.lesson-ex-expected{color:var(--rv-rock);margin-top:6px;font-size:.9rem}.lesson-ex-expected-label{font-weight:600}.lesson-modal-backdrop{z-index:40;background:#0f172a73;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.lesson-modal{background:#fff;border-radius:16px;width:100%;max-width:420px;padding:24px 20px;box-shadow:0 18px 45px #0f172a40}.lesson-modal-title{margin-bottom:8px;font-size:1.25rem;font-weight:700}.lesson-modal-body{color:#4b5563;margin-bottom:20px;font-size:.95rem}.lesson-modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.lesson-modal-btn{cursor:pointer;border:1px solid #0000;border-radius:999px;padding:8px 16px;font-size:.9rem}.lesson-modal-btn--primary{color:#fff;background:#111827}.lesson-modal-btn--secondary{color:#111827;background:#f3f4f6;border-color:#e5e7eb}.lesson-ex-btn--back{margin-right:auto}.lesson-exercises--pre .lesson-ex-body{padding-top:24px}.lesson-ex-preintro{color:var(--rv-rock);margin-top:12px;margin-bottom:24px;font-size:14px;line-height:1.5}.lesson-ex-preactions{flex-wrap:wrap;gap:12px;display:flex}.lesson-ex-btn--primary{min-width:160px}.lesson-exercises{animation:.4s ease-out fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
