.lesson-reading,.lr-dialog,.lr-image-dialog{
  --lr-surface:var(--portal-surface,var(--mentor-surface-strong,var(--bg-card,#161032)));
  --lr-muted-surface:var(--portal-surface-muted,var(--mentor-accent-soft,var(--bg-card-alt,#211943)));
  --lr-ink:var(--portal-ink,var(--mentor-ink,var(--text-primary,#fafafa)));
  --lr-muted:var(--portal-muted,var(--mentor-muted,var(--text-secondary,#c3bbdf)));
  --lr-border:var(--portal-border,var(--mentor-border,var(--border,#3d335b)));
  --lr-accent:var(--portal-brand-dark,var(--mentor-brand-dark,var(--accent,#14cfbc)));
  color:var(--lr-ink);font-family:inherit;
}
.lr-article{max-width:760px;margin:0 auto;padding:12px 0 30px;overflow-wrap:anywhere;}
.lr-meta{font-size:.8125rem;color:var(--lr-muted);margin:0 0 12px;}
.lr-title{font-size:clamp(1.5rem,3vw,2.1rem);line-height:1.3;letter-spacing:-.025em;margin:0 0 16px;color:var(--lr-ink);}
.lr-summary{color:var(--lr-muted);font-size:1.0625rem;line-height:1.8;margin-bottom:30px;}
.lr-content{font-size:1rem;line-height:1.85;}
.lr-content>p,.lr-callout p{white-space:pre-wrap;margin:0 0 22px;}
.lr-content h3{font-size:1.25rem;line-height:1.45;margin:32px 0 14px;color:var(--lr-ink);}
.lr-content ul{padding-left:24px;margin:0 0 24px;}
.lr-content li{padding-left:4px;margin-bottom:6px;}
.lr-code{position:relative;background:var(--lr-muted-surface);border:1px solid var(--lr-border);border-radius:12px;margin:24px 0;}
.lr-code pre{overflow:auto;max-width:100%;margin:0;padding:24px 20px 58px;font: .9375rem/1.7 ui-monospace,SFMono-Regular,Consolas,monospace;tab-size:4;color:var(--lr-ink);}
.lr-copy{position:absolute;bottom:10px;right:12px;background:transparent;color:var(--lr-accent);border:0;padding:6px 8px;font:inherit;font-size:.8125rem;cursor:pointer;}
.lr-media{margin:24px 0;}
.lr-image-button{display:block;width:100%;padding:0;background:transparent;border:0;cursor:zoom-in;margin:0 0 16px;}
.lr-image-button img{display:block;max-width:100%;height:auto;margin:auto;border-radius:10px;}
.lr-media video{display:block;width:100%;max-height:560px;border-radius:10px;background:#161032;}
.lr-media figcaption{font-size:.8125rem;color:var(--lr-muted);line-height:1.6;margin-top:10px;text-align:center;}
.lr-callout{background:var(--lr-muted-surface);border-left:3px solid var(--lr-accent);padding:20px 24px;border-radius:0 10px 10px 0;margin:28px 0;}
.lr-callout strong{display:block;margin-bottom:8px;}
.lr-callout p{margin:0;}
.lr-legacy-frame{width:100%;height:75vh;min-height:400px;border:1px solid var(--lr-border);background:white;border-radius:10px;}
.lr-toolbar,.lr-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;max-width:760px;margin:0 auto 24px;}
.lr-footer{border-top:1px solid var(--lr-border);padding-top:22px;margin-top:24px;}
.lr-button{font:inherit;font-size:.9375rem;border-radius:10px;padding:10px 16px;min-height:44px;border:1px solid var(--lr-border);background:var(--lr-surface);color:var(--lr-ink);cursor:pointer;}
.lr-button--primary{background:var(--lr-accent);border-color:var(--lr-accent);color:var(--portal-surface,var(--mentor-surface-strong,var(--text-inverse,#161032)));font-weight:600;}
.lr-button:disabled{opacity:.7;cursor:default;}
.lr-status{font-size:.8125rem;color:var(--lr-muted);}
.lr-dialog{width:min(980px,96vw);max-height:94vh;padding:24px;border:1px solid var(--lr-border);border-radius:16px;background:var(--lr-surface);overflow:auto;}
.lr-dialog::backdrop,.lr-image-dialog::backdrop{background:#080616b8;}
.lr-dialog-head{display:flex;justify-content:flex-end;margin-bottom:12px;}
.lr-image-dialog{max-width:96vw;max-height:96vh;padding:18px;border:1px solid var(--lr-border);border-radius:14px;background:var(--lr-surface);}
.lr-image-dialog img{display:block;max-width:100%;max-height:80vh;object-fit:contain;margin:16px auto 0;}
.lr-image-dialog p{color:var(--lr-muted);}
@media(max-width:600px){.lr-dialog{padding:16px;}.lr-callout{padding:16px;}.lr-code pre{padding:18px 14px 56px;}.lr-title{font-size:1.5rem;}}

.lesson-reading button:focus-visible,.lr-dialog button:focus-visible,.lr-image-dialog button:focus-visible{outline:3px solid var(--lr-accent);outline-offset:3px;}
