.lesson_image_editor{position:fixed;inset:0;z-index:12000;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(15,23,42,.68);box-sizing:border-box}
.lesson_image_editor[hidden]{display:none}
.lesson_image_editor *{box-sizing:border-box}
.lesson_image_editor_panel{width:100%;max-width:520px;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);display:flex;flex-direction:column;overflow:hidden;border-radius:18px;background:#fff;box-shadow:0 24px 60px rgba(15,23,42,.28)}
.lesson_image_editor_header{display:flex;align-items:center;justify-content:space-between;min-height:60px;padding:0 18px;border-bottom:1px solid #e5e7eb}
.lesson_image_editor_title{margin:0;font-size:19px;font-weight:700;color:#111827}
.lesson_image_editor_close{width:38px;height:38px;display:grid;place-items:center;padding:0;border:0;background:transparent;color:#4b5563;font-size:31px;line-height:1;cursor:pointer}
.lesson_image_editor_body{min-height:0;overflow:auto;padding:14px}
.lesson_image_editor_stage{height:440px;height:min(54dvh,440px);min-height:280px;overflow:hidden;background:#15191f}
.lesson_image_editor_stage img{display:block;max-width:100%}
.lesson_image_editor_help{margin:10px 0 0;color:#64748b;font-size:13px;text-align:center}
.lesson_image_editor_zoom{display:grid;grid-template-columns:40px minmax(0,1fr) 40px;align-items:center;gap:8px;margin-top:13px}
.lesson_image_editor_zoom button,.lesson_image_editor_tools button{height:40px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;color:#334155;font-size:16px;font-weight:700;cursor:pointer}
.lesson_image_editor_zoom input{width:100%;accent-color:#2563eb}
.lesson_image_editor_tools{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:9px}
.lesson_image_editor_tools button{font-size:13px;font-weight:600}
.lesson_image_editor_footer{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:14px 18px max(14px,env(safe-area-inset-bottom));border-top:1px solid #e5e7eb;background:#fff}
.lesson_image_editor_footer button{height:48px;border-radius:11px;font-size:16px;font-weight:700;cursor:pointer}
.lesson_image_editor_cancel{border:1px solid #cbd5e1;background:#fff;color:#334155}
.lesson_image_editor_apply{border:1px solid #2563eb;background:#2563eb;color:#fff}
.lesson_image_editor_apply:disabled{opacity:.55;cursor:wait}
body.lesson_image_editor_open{overflow:hidden}
@media(max-width:420px){
	.lesson_image_editor{padding:0;align-items:stretch}
	.lesson_image_editor_panel{width:100%;max-height:100vh;max-height:100dvh;border-radius:0}
	.lesson_image_editor_body{padding:10px}
	.lesson_image_editor_stage{height:calc(100vh - 270px);height:calc(100dvh - 270px);min-height:240px}
}
