.lx-tools,.lx-panel{--lx-s:8px;--lx-m:16px;--lx-l:24px;color:var(--text-primary);margin:var(--lx-m) 0}
.lx-actions{display:flex;flex-wrap:wrap;gap:8px}
.lx-playback-policy{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:16px}
.lx-playback-policy label{display:flex;align-items:center;gap:8px;min-height:44px;line-height:1.6}
.lx-playback-policy input{width:18px;height:18px;flex:none;accent-color:var(--accent-cyan)}
.lx-panel button:disabled{opacity:.6;cursor:not-allowed}
.vs-player .lx-actions button,.vs-player .lx-actions a{min-height:44px;padding:8px 16px;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);color:var(--text-primary);font:inherit;cursor:pointer;display:inline-flex;align-items:center}
.lx-tools button,.lx-panel button,.lx-panel .lx-link{min-height:44px;padding:8px 16px;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);color:var(--text-primary);font:inherit;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
.lx-tools button:hover,.lx-panel button:hover{border-color:var(--accent-cyan)}
.lx-tools button[aria-pressed=true]{color:var(--accent-cyan);border-color:var(--accent-cyan)}
.lx-tools button:disabled{opacity:.6;cursor:wait}
.lx-tools :focus-visible,.lx-panel :focus-visible{outline:2px solid var(--accent-cyan);outline-offset:4px}
.lx-message:empty{display:none}.lx-message{line-height:1.6}
.lx-feedback,.lx-share,.lx-panel{padding:16px;border:1px solid var(--border);border-radius:12px;background:var(--bg-card)}
.lx-feedback:not([hidden]){display:grid;gap:12px;margin-top:16px}
.lx-tools [hidden],.lx-panel [hidden]{display:none!important}
.lx-tools input,.lx-tools select,.lx-tools textarea{display:block;box-sizing:border-box;width:100%;min-height:44px;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--bg-primary);color:var(--text-primary);font:inherit}
.lx-tools p,.lx-panel p{font-size:.95rem;line-height:1.6;margin:8px 0}.lx-tools label{line-height:1.6}
.lx-share{margin-top:16px}.lx-share button{margin-top:8px}
.lx-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:16px}
.lx-page h1{font-size:1.5rem;font-weight:700;line-height:1.4;margin:0 0 16px}.lx-page>div>p{line-height:1.6;margin:0 0 16px}.lx-panel h2,.lx-panel h3{font-size:1.125rem;font-weight:600;line-height:1.5}
.lx-panel h2,.lx-panel h3{margin:0 0 12px}.lx-panel .lx-link{margin-top:8px}
.la-row{min-height:44px!important}.la-tt{font-size:.9rem!important;white-space:normal!important}.la-copy{min-height:44px!important}
.lx-grid>.lx-panel{display:flex;flex-direction:column;margin:0}.lx-grid>.lx-panel>.lx-tools{margin-top:auto;padding-top:16px}
.lesson-row{height:auto!important;min-height:64px;padding:12px 16px!important}.lesson-row .lr-main{white-space:normal;overflow:visible;overflow-wrap:anywhere}
.vs-toolbar{margin-bottom:8px!important}.vs-next{min-height:44px!important;padding:8px 12px!important;gap:8px!important}.vs-stage{border-radius:8px!important}.vs-status{margin:8px 0!important;font-size:.875rem!important}
@media(max-width:640px){.lesson-row{display:grid!important;grid-template-columns:24px minmax(0,1fr) auto 18px;gap:8px!important}.lesson-row .lr-icon{grid-area:1/1}.lesson-row .lr-main{grid-area:1/2}.lesson-row .lr-dur{grid-area:1/3}.lesson-row .lr-chev{grid-area:1/4}.lesson-row .lr-badge,.lesson-row .lr-lock-badge{display:inline-flex!important;grid-area:2/2/3/4;justify-self:start;padding:4px 8px;font-size:.75rem}}
@media(max-width:640px){.lx-actions>*{flex:1 1 auto}.lx-tools{font-size:1rem}}

/* One spacious preview workspace. lxp- is isolated from the existing site. */
.lxp-dialog,.lxp-launch,.lxp-lesson-heading,.lxp-resources,.lxp-locked-intro{--lxp-xs:4px;--lxp-s:8px;--lxp-sm:12px;--lxp-m:16px;--lxp-l:24px;--lxp-xl:32px}
.lxp-launch{display:flex;align-items:center;flex-wrap:wrap;gap:var(--lxp-m);margin-bottom:var(--lxp-m)}
.lxp-launch[hidden]{display:none}
.lxp-launch button{min-height:44px;padding:var(--lxp-s) var(--lxp-m);font:inherit;cursor:pointer}
.lxp-launch>span{font-size:.875rem;line-height:1.6;color:var(--text-secondary)}
.lxp-dialog{box-sizing:border-box;width:min(1280px,calc(100vw - 48px));height:min(900px,calc(100vh - 48px));height:min(900px,calc(100dvh - 48px));max-width:none;max-height:none;margin:auto;padding:0;border:1px solid var(--border);border-radius:16px;background:var(--bg-primary);color:var(--text-primary);overflow:hidden;box-shadow:0 24px 64px rgba(0,0,0,.4);font-family:inherit}
.lxp-dialog[open]{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto}
.lxp-dialog.is-expanded{width:100vw;height:100vh;height:100dvh;border:0;border-radius:0}
.lxp-dialog{--accent-gradient:linear-gradient(135deg,#1e3a8a,#08758d)}
.lxp-dialog:not([open]),.lxp-dialog [hidden]{display:none!important}
.lxp-dialog::backdrop{background:rgba(5,8,16,.8);backdrop-filter:blur(4px)}
.lxp-head{display:flex;align-items:center;gap:var(--lxp-m);padding:var(--lxp-m) var(--lxp-l);border-bottom:1px solid var(--border);background:var(--bg-card)}
.lxp-head-title{flex:1;min-width:0}
.lxp-head-title>span{font-size:.75rem;color:var(--accent-cyan);font-weight:600}
.lxp-head h2{font-size:1rem;line-height:1.5;font-weight:650;margin:var(--lxp-xs) 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lxp-dialog button{font-family:inherit;cursor:pointer}
.lxp-close,.lxp-expand,.lxp-list-jump,.lxp-next,.lxp-help{min-height:44px;padding:var(--lxp-s) var(--lxp-m);border:1px solid var(--border);border-radius:8px;background:var(--bg-card);color:var(--text-primary);font-size:.875rem;line-height:1.5}
.lxp-close{display:flex;align-items:center;gap:var(--lxp-s);flex-shrink:0;color:#fca5a5;border-color:rgba(252,165,165,.4)}
.lxp-close:hover{background:var(--bg-secondary);border-color:currentColor}
.lxp-expand{flex-shrink:0}
.lxp-expand[aria-pressed="true"]{color:var(--accent-cyan);border-color:var(--accent-cyan)}
.lxp-list-jump{display:none}
.lxp-dialog :focus-visible,.lxp-launch :focus-visible{outline:2px solid var(--accent-cyan);outline-offset:4px}
.lxp-body{display:grid;grid-template-columns:minmax(0,1fr) 360px;min-height:0;overflow:hidden;overflow-anchor:none}
.lxp-main{min-width:0;overflow-y:auto;overscroll-behavior:contain;overflow-anchor:none;padding:var(--lxp-m) var(--lxp-l)}
.lxp-dialog .preview-wrap{padding:0;gap:var(--lxp-m)}
.lxp-lesson-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--lxp-xs) var(--lxp-s);align-items:start}
.lxp-lesson-heading p{margin:0;font-size:.8125rem;line-height:1.6;color:var(--text-secondary)}
.lxp-lesson-heading h3{grid-column:1/-1;grid-row:2;margin:0;font-size:1.25rem;line-height:1.5;font-weight:650;overflow-wrap:anywhere}
.lxp-lesson-heading h3:focus{outline:none}
.lxp-dialog .vs-stage{width:min(100%,var(--lxp-video-width,100%));height:auto;aspect-ratio:16/9;min-height:0;max-height:none;margin-inline:auto;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)}
.lxp-tag{grid-column:2;grid-row:1;display:inline-flex;padding:var(--lxp-xs) var(--lxp-s);border-radius:4px;font-size:.75rem;font-weight:600;color:var(--accent-cyan);background:rgba(56,189,248,.08)}
.lxp-tag.is-locked{color:var(--text-secondary);background:var(--bg-secondary)}
.lxp-dialog .lx-tools{margin:0}
.lxp-dialog .lx-actions{gap:var(--lxp-s)}
.lxp-dialog .lx-actions button{font-size:.875rem}
.lxp-dialog .lx-message a{display:inline-flex;align-items:center;min-height:44px;padding:var(--lxp-s);color:var(--accent-cyan)}
.lxp-dialog .ld-box.compact .ld-body{font-size:.9375rem;max-width:100%;overflow-wrap:anywhere}
.lxp-dialog .ld-box.compact .ld-label{font-size:.8125rem}
.lxp-dialog .ld-more,.lxp-dialog .la-toggle{min-height:44px}
.lxp-curriculum{display:flex;flex-direction:column;min-height:0;min-width:0;border-left:1px solid var(--border);background:var(--bg-secondary);overflow:hidden}
.lxp-curriculum>summary{flex:none;list-style:none;display:flex;flex-direction:column;gap:var(--lxp-xs);padding:var(--lxp-m);border-bottom:1px solid var(--border);font-size:1rem;font-weight:650;cursor:default}
.lxp-curriculum>summary::-webkit-details-marker{display:none}
.lxp-curriculum>summary>span{font-size:.8125rem;font-weight:400;color:var(--text-secondary)}
.lxp-lessons{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:var(--lxp-s)}
.lxp-group+ .lxp-group{margin-top:var(--lxp-m)}
.lxp-group h3{margin:0;padding:var(--lxp-sm) var(--lxp-s);font-size:.875rem;line-height:1.5;font-weight:650;overflow-wrap:anywhere}
.lxp-lesson{box-sizing:border-box;display:flex;align-items:flex-start;gap:var(--lxp-sm);width:100%;min-height:64px;text-align:left;padding:var(--lxp-sm) var(--lxp-s);border:1px solid transparent;border-radius:8px;background:transparent;color:var(--text-primary);text-decoration:none}
.lxp-lesson:hover{background:var(--bg-card);border-color:var(--border)}
.lxp-lesson[aria-current="true"]{border-color:var(--accent-cyan);background:var(--bg-card)}
.lxp-lesson-number{display:flex;align-items:center;justify-content:center;flex:0 0 24px;min-height:24px;font-size:.8125rem;font-weight:600;color:var(--accent-cyan)}
.lxp-lesson-info{display:flex;flex-direction:column;gap:var(--lxp-xs);min-width:0}
.lxp-lesson-title{font-size:.9375rem;font-weight:600;line-height:1.5;overflow-wrap:anywhere}
.lxp-lesson-meta{font-size:.75rem;line-height:1.6;color:var(--accent-cyan)}
.lxp-lesson.is-locked .lxp-lesson-title,.lxp-lesson.is-locked .lxp-lesson-meta{color:var(--text-secondary)}
.lxp-lesson.is-locked .lxp-lesson-title{font-weight:500}
.lxp-locked-intro{padding:var(--lxp-l);border:1px solid var(--border);border-radius:12px;background:var(--bg-card)}
.lxp-lock-icon{display:block;font-size:1.5rem;margin-bottom:var(--lxp-sm)}
.lxp-locked-intro h4{font-size:1.125rem;line-height:1.5;font-weight:650;margin:0 0 var(--lxp-sm)}
.lxp-locked-intro p,.lxp-empty{font-size:.9375rem;line-height:1.7;margin:var(--lxp-s) 0;color:var(--text-secondary)}
.lxp-locked-intro strong{color:var(--text-primary);font-weight:600}
.lxp-resources{padding-top:var(--lxp-m);border-top:1px solid var(--border)}
.lxp-resource-note{font-size:.8125rem;line-height:1.6;color:var(--text-secondary);margin:0 0 var(--lxp-sm)}
.lxp-resources .la-box.compact{border:0;padding:0}
.lxp-resources .la-head{flex-wrap:wrap;gap:var(--lxp-s)}
.lxp-resources .la-box.compact .la-head{font-size:.8125rem;letter-spacing:0;text-transform:none}
.lxp-resources .la-mt{white-space:normal;text-align:right}
.lxp-next-area{margin-top:var(--lxp-l);padding-top:var(--lxp-m);border-top:1px solid var(--border)}
.lxp-next-area p{margin:var(--lxp-s) 0 0;font-size:.8125rem;line-height:1.6;color:var(--text-secondary)}
.lxp-next{border-color:var(--accent-cyan);color:var(--accent-cyan)}
.lxp-foot{display:flex;align-items:center;gap:var(--lxp-l);justify-content:space-between;padding:var(--lxp-m) var(--lxp-l);border-top:1px solid var(--border);background:var(--bg-card)}
.lxp-offer{display:flex;flex-direction:column;gap:var(--lxp-xs);min-width:0}
.lxp-offer>span{font-size:.8125rem;line-height:1.5;color:var(--text-secondary)}
.lxp-offer>strong{font-size:1.25rem;font-weight:700;color:var(--accent-gold-strong)}
.lxp-purchase{display:flex;align-items:center;gap:var(--lxp-sm);max-width:65%;min-width:0}
.lxp-purchase>a,.lxp-purchase>button,.lxp-purchase>span{box-sizing:border-box;min-width:0;min-height:44px;display:flex!important;align-items:center;justify-content:center;padding:var(--lxp-s) var(--lxp-m)!important;line-height:1.5!important;font-size:.875rem!important;border-radius:8px!important;white-space:normal!important}
.lxp-purchase>.lxp-help{background:transparent;white-space:nowrap;width:auto}
.lxp-purchase>button:disabled{cursor:default}
.lxp-purchase>a,.lxp-purchase>button:not(.lxp-help):not(:disabled){background:var(--accent-gradient)!important;color:#fff!important}
.lxp-purchase>.btn-enter-learn::before{display:none}
html[data-theme="light"] .lxp-dialog{--accent-gradient:linear-gradient(135deg,#1e4fb4,#08758d)}
html[data-theme="light"] .lxp-close{color:#b91c1c;border-color:rgba(185,28,28,.4)}
html[data-theme="light"] .lxp-dialog .la-copy.done{color:#146b4f;border-color:#146b4f}
@media(max-width:1000px){.lxp-body{grid-template-columns:minmax(0,1fr) 320px}.lxp-purchase>.lxp-help{white-space:normal}}
@media(max-width:960px),(max-width:1100px) and (max-height:500px){
 .lxp-dialog{width:100vw;height:100vh;height:100dvh;border:0;border-radius:0}
 .lxp-head{padding:var(--lxp-sm) var(--lxp-m);gap:var(--lxp-s)}
 .lxp-head h2{font-size:.9375rem}.lxp-head-title>span{font-size:.6875rem}
 .lxp-close{padding:var(--lxp-s) var(--lxp-sm);justify-content:center}
 .lxp-expand{display:none}
 .lxp-list-jump{display:block;padding:var(--lxp-s);font-size:.8125rem;flex:none}
 .lxp-body{display:block;overflow-y:auto;overscroll-behavior:contain}
 .lxp-main{overflow:visible;padding:var(--lxp-m)}
 .lxp-lesson-heading h3{font-size:1.125rem}
 .lxp-lesson-heading{display:block}.lxp-lesson-heading p{margin-bottom:var(--lxp-xs)}.lxp-lesson-heading h3{margin-bottom:var(--lxp-s)}
 .lxp-curriculum{display:block;border-left:0;border-top:1px solid var(--border);overflow:visible}
 .lxp-curriculum>summary{cursor:pointer;position:relative;padding-right:var(--lxp-xl)}
 .lxp-curriculum>summary::after{content:'+';position:absolute;right:var(--lxp-m);top:var(--lxp-m);color:var(--accent-cyan)}
 .lxp-curriculum[open]>summary::after{content:'−'}
 .lxp-lessons{overflow:visible}.lxp-locked-intro{padding:var(--lxp-m)}
 .lxp-foot{padding:var(--lxp-sm) var(--lxp-m);gap:var(--lxp-sm)}
 .lxp-offer{flex:1}.lxp-offer>span{font-size:.75rem}.lxp-offer>strong{font-size:1.125rem}
 .lxp-purchase{flex:1.5;flex-direction:column;align-items:stretch;gap:var(--lxp-xs);max-width:65%}
 .lxp-purchase>.lxp-help{border:0;background:transparent;font-size:.75rem!important}
 .lxp-next-area{margin-top:var(--lxp-m)}
}
@media(max-width:480px){
 .lxp-head{display:grid;grid-template-columns:minmax(0,1fr) auto}
 .lxp-head-title{grid-column:1/-1}.lxp-head-title>span{display:none}
 .lxp-list-jump{justify-self:start}.lxp-close{justify-self:end}
}
@media(max-height:700px){
 .lxp-head{padding-top:var(--lxp-s);padding-bottom:var(--lxp-s)}.lxp-head-title>span{display:none}
 .lxp-head h2{margin-top:0}
 .lxp-foot{padding-top:var(--lxp-s);padding-bottom:var(--lxp-s)}
}
@media(max-width:1100px) and (max-height:500px){
 .lxp-head{padding:var(--lxp-s) var(--lxp-m)}.lxp-head-title>span{display:none}
 .lxp-foot{padding:var(--lxp-s) var(--lxp-m)}.lxp-offer>span{display:none}
 .lxp-purchase{flex-direction:row;justify-content:flex-end;max-width:70%}
 .lxp-purchase>.lxp-help{white-space:nowrap!important}
 .lxp-lesson-heading{display:grid}.lxp-lesson-heading h3,.lxp-lesson-heading p{margin:0}
}
@media(prefers-reduced-motion:reduce){.lxp-dialog *{scroll-behavior:auto!important}}
