/* Shared lesson modal for topic setup and saved-only History. */
.lsm-backdrop {
  --lsm-text:#f3efe9;--lsm-muted:#a49eaa;--lsm-line:#ffffff10;--lsm-surface:#151419;--lsm-accent:#f4bf62;
  position:fixed;inset:0;z-index:220;display:flex;align-items:center;justify-content:center;
  padding:24px;background:rgba(0,0,0,.63);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);
  font-family:Nunito,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--lsm-text);color-scheme:dark;
}
.lsm-backdrop [hidden],.lsm-backdrop[hidden]{display:none!important}
.lsm-backdrop *,.lsm-backdrop *::before,.lsm-backdrop *::after{box-sizing:border-box}
.lsm-backdrop button,.lsm-backdrop input{font:inherit;color:inherit}
.lsm-backdrop button{cursor:pointer;-webkit-tap-highlight-color:transparent}
.lsm-backdrop button:disabled{cursor:default}
.lsm-backdrop button:focus{outline:none}
.lsm-backdrop input:focus-visible{outline:2px solid var(--lsm-accent);outline-offset:4px}
.lsm-backdrop svg{display:block;flex-shrink:0;pointer-events:none}
.lsm-modal{position:relative;width:100%;max-width:380px;max-height:calc(100dvh - 48px);overflow-y:auto;overscroll-behavior:contain;padding:27px 28px 28px;border:1px solid #ffffff14;border-radius:28px;background:var(--lsm-surface);box-shadow:0 28px 90px #0008,inset 0 1px 0 #ffffff06;animation:lsm-arrive .24s ease-out}
@keyframes lsm-arrive{from{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}
.lsm-close{position:absolute;right:9px;top:9px;width:44px;height:44px;display:grid;place-items:center;border:0;background:none;color:var(--lsm-muted)!important;border-radius:50%}
.lsm-close:hover{background:#ffffff08}
.lsm-ara{display:block;width:74px;height:70px;margin:0 auto 15px;animation:lsm-float 4s ease-in-out infinite}
@keyframes lsm-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
.lsm-eyes{transform-box:fill-box;transform-origin:center;animation:lsm-blink 7s ease-in-out infinite}
@keyframes lsm-blink{0%,45%,49%,100%{transform:scaleY(1)}47%{transform:scaleY(.08)}}
.lsm-topic-heading{display:flex;align-items:center;justify-content:center;gap:3px;text-align:center}
.lsm-topic-heading h2{font:800 25px/1.2 Nunito,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:-.65px;margin:0;overflow-wrap:anywhere;min-width:0;color:var(--lsm-text)}
.lsm-edit{display:grid;place-items:center;flex-shrink:0;width:32px;height:44px;padding:0;border:0;border-radius:8px;background:none;color:var(--lsm-muted)!important}
.lsm-description-slot{display:grid;align-items:center;width:100%;max-width:290px;min-height:4.65em;margin:10px auto 0;font-size:13px;line-height:1.55;text-align:center}
.lsm-description{font-size:inherit;line-height:inherit;color:var(--lsm-muted);margin:0}
.lsm-description-shimmer{display:grid;justify-items:center;gap:10px}
.lsm-description-shimmer span{position:relative;display:block;width:94%;height:10px;border-radius:5px;overflow:hidden;background:color-mix(in srgb,var(--lsm-muted) 18%,transparent)}
.lsm-description-shimmer span:nth-child(2){width:86%}
.lsm-description-shimmer span:last-child{width:62%}
.lsm-description-shimmer span::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--lsm-muted) 32%,transparent),transparent);transform:translateX(-100%);animation:lsm-description-shimmer 1.4s ease-in-out infinite}
@keyframes lsm-description-shimmer{to{transform:translateX(100%)}}
.lsm-summary{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin:20px 0 17px;font-size:12px;color:var(--lsm-muted);line-height:1.5;text-align:center}
.lsm-customize{display:flex;align-items:center;justify-content:center;min-height:44px;padding:0 3px;border:0;background:none;color:var(--lsm-accent)!important;font-size:13px!important;font-weight:800!important;text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--lsm-accent) 50%,transparent);text-underline-offset:4px;white-space:nowrap}
.lsm-customize:hover{text-decoration-color:currentColor}
.lsm-launch{display:flex;align-items:center;justify-content:center;gap:11px;width:100%;min-height:49px;padding:12px 17px;border:0;border-radius:14px;background:#ffab00;color:#221704!important;box-shadow:0 3px 0 #ad6900;font:800 16px/1.4 Nunito,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;letter-spacing:normal;text-transform:none;transition:background .15s,transform .15s,box-shadow .15s}
.lsm-launch:hover:not(:disabled){background:#ffba2e;transform:translateY(-1px)}
.lsm-launch:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px 0 #ad6900}
.lsm-launch:disabled{opacity:.65}
.lsm-saved{display:block;min-height:44px;margin:8px auto -10px;padding:7px 10px;border:0;background:none;color:var(--lsm-muted)!important;font-size:11px!important;font-weight:800!important;line-height:1.4;letter-spacing:normal;text-transform:none}
.lsm-settings h2{font-size:23px;font-weight:800;line-height:1.25;letter-spacing:-.5px;margin:8px 30px 21px 0;color:var(--lsm-text)}
.lsm-row{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:69px;font-size:13px;color:var(--lsm-text)}
.lsm-row+.lsm-row{border-top:1px solid var(--lsm-line)}
.lsm-level-row{flex-wrap:wrap;row-gap:8px;padding:12px 0}
.lsm-stepper{display:flex;align-items:center;gap:3px}
.lsm-stepper button{display:grid;place-items:center;min-width:44px;min-height:44px;padding:0;border:0;border-radius:10px;background:#ffffff06;color:#c7bdcf}
.lsm-stepper button:hover:not(:disabled){color:var(--lsm-accent);background:#ffffff0b}
.lsm-stepper button:disabled{opacity:.25}
.lsm-stepper output{min-width:29px;text-align:center;font-size:15px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--lsm-text)}
.lsm-level-cycle{gap:8px;margin-left:auto;flex-shrink:0}
.lsm-level-cycle output{min-width:7em;font-size:13px;font-weight:750;white-space:nowrap}
.lsm-settings .lsm-launch{margin-top:23px}
.lsm-topic-editor{display:flex;align-items:center;gap:8px;margin:0 0 6px}
.lsm-topic-editor input{flex:1;min-width:0;padding:10px 12px;border:1px solid #f5a62360;border-radius:10px;background:#0d0c11;font-size:15px}
.lsm-topic-editor button{min-height:44px;padding:5px;border:0;background:none;color:var(--lsm-accent);font-size:12px}
.lsm-message{font-size:12px;line-height:1.5;text-align:center;color:var(--lsm-accent);margin:16px 0 0}
[data-theme="light"] .lsm-backdrop{--lsm-text:#252127;--lsm-muted:#726a73;--lsm-line:#30201010;--lsm-surface:#fff;--lsm-accent:#99500b;color-scheme:light;background:rgba(61,52,40,.28)}
[data-theme="light"] .lsm-modal{border-color:#30201012;box-shadow:0 28px 90px #30201026,inset 0 1px 0 #fff}
[data-theme="light"] .lsm-close:hover{background:#00000007}
[data-theme="light"] .lsm-stepper button{background:#f2ede7;color:#6f6275}
[data-theme="light"] .lsm-stepper button:hover:not(:disabled){background:#eae3d9;color:var(--lsm-accent)}
[data-theme="light"] .lsm-topic-editor input{background:#fff;border-color:#b4530959}
@media(max-width:600px){.lsm-backdrop{padding:18px 16px}.lsm-modal{max-width:360px;max-height:calc(100dvh - 36px);padding:26px 22px}.lsm-topic-heading h2{font-size:24px}.lsm-summary{font-size:11px;gap:8px;margin:19px 0 17px}.lsm-launch{min-height:53px}}
@media(max-width:360px){.lsm-modal{padding-left:20px;padding-right:20px}.lsm-topic-heading h2{font-size:23px}.lsm-row{gap:8px}.lsm-description-slot{font-size:12px}}
@media(prefers-reduced-motion:reduce){.lsm-backdrop *,.lsm-backdrop *::before,.lsm-backdrop *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
