.lr-page{background:var(--bg);min-height:80vh;padding:1.5rem 1.25rem 3rem}.lr-layout{grid-template-columns:300px 1fr;align-items:start;gap:1.5rem;max-width:1280px;margin:0 auto;display:grid}.lr-back{color:var(--navy-mid);margin-bottom:1rem;font-weight:700;text-decoration:none;display:inline-block}.lr-back:hover{text-decoration:underline}.lr-side{background:var(--white);border-radius:14px;max-height:calc(100vh - 2rem);padding:1.1rem 1.2rem;position:sticky;top:1rem;overflow-y:auto;box-shadow:0 2px 10px #0d1b3e14}.lr-side-title{color:var(--navy);margin:0 0 .9rem;font-size:1.05rem;font-weight:900;line-height:1.4}.lr-mod{margin-bottom:1rem}.lr-mod-title{color:var(--navy-mid);margin:0 0 .35rem;font-size:.9rem;font-weight:800}.lr-list{margin:0;padding:0;list-style:none}.lr-item{margin-bottom:.15rem}.lr-link{color:var(--text);border-radius:8px;align-items:center;gap:.4rem;padding:.45rem .5rem;font-size:.92rem;line-height:1.45;text-decoration:none;display:flex}.lr-link:hover{background:#f1f5fb}.lr-link.is-current{background:var(--gold-light);color:var(--navy);font-weight:800}.lr-item-locked{color:#94a3b8;align-items:center;gap:.4rem;padding:.45rem .5rem;font-size:.92rem;line-height:1.45;display:flex}.lr-item-name{flex:1}.lr-item-dur{color:var(--text-mid);white-space:nowrap;font-size:.8rem}.lr-done{color:#16a34a;font-weight:900}.lr-preview-tag{background:var(--gold-light);color:var(--navy);white-space:nowrap;border-radius:999px;padding:.05rem .4rem;font-size:.72rem;font-weight:800}.lr-main{background:var(--white);border-radius:14px;padding:1.25rem;box-shadow:0 2px 10px #0d1b3e14}.lr-lesson-title{color:var(--navy);margin:0 0 1rem;font-size:1.4rem;font-weight:900;line-height:1.35}.lr-locked{text-align:center;color:var(--text-mid);padding:3rem 1.5rem}.lr-locked-icon{margin-bottom:.75rem;font-size:2.5rem;display:block}.lr-text{color:var(--text);line-height:1.85}.lr-text p{margin:0 0 .9rem}.lp-wrap{width:100%}.lp-viewer{background:#0b1020;border-radius:10px;overflow:hidden}.lp-stage{justify-content:center;align-items:center;min-height:200px;display:flex;position:relative}.lp-slide{width:100%;height:auto;display:block}.lp-caption{color:#fff;text-align:center;white-space:pre-line;background:#0b1020;justify-content:center;align-items:center;min-height:3.4rem;margin:0;padding:.6rem 1rem;font-size:1.15rem;font-weight:600;line-height:1.55;display:flex}.lp-viewer.is-fullscreen{border-radius:0;flex-direction:column;width:100vw;height:100vh;display:flex}.lp-viewer.is-fullscreen .lp-stage{flex:1;min-height:0}.lp-viewer.is-fullscreen .lp-slide{object-fit:contain;width:100%;height:100%}.lp-viewer.is-fullscreen .lp-caption{flex:none;min-height:4rem;padding:.8rem 2rem;font-size:1.4rem}.lp-cta{color:var(--white);text-align:center;background:#0d1b3eed;flex-direction:column;justify-content:center;align-items:center;gap:.6rem;padding:1.5rem;display:flex;position:absolute;inset:0}.lp-cta-title{margin:0;font-size:1.3rem;font-weight:900}.lp-cta-text{opacity:.9;margin:0;font-size:1rem;line-height:1.6}.lp-cta-btn{background:var(--gold);color:var(--navy);border-radius:999px;margin-top:.5rem;padding:.7rem 1.5rem;font-weight:800;text-decoration:none}.lp-cta-btn:hover{background:var(--gold-dim)}.lp-bar{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.9rem;display:flex}.lp-btn{background:var(--navy);color:var(--white);cursor:pointer;border:none;border-radius:8px;padding:.5rem .9rem;font-size:1rem;font-weight:700}.lp-btn:hover:not(:disabled){background:var(--navy-mid)}.lp-btn:disabled{opacity:.35;cursor:default}.lp-btn-play{min-width:6rem}.lp-btn-toggle{color:var(--navy);background:#e2e8f0}.lp-btn-toggle.is-on{background:var(--gold)}.lp-count{color:var(--text-mid);margin-left:.3rem;font-size:.95rem;font-weight:700}.lp-speed{color:var(--text-mid);align-items:center;gap:.35rem;margin-left:auto;font-size:.9rem;display:inline-flex}.lp-speed select{border:1px solid #cbd5e1;border-radius:6px;padding:.3rem .4rem;font-size:.9rem}.lp-progress{background:#e2e8f0;border-radius:999px;height:6px;margin-top:.7rem;overflow:hidden}.lp-progress-fill{background:var(--gold);height:100%;transition:width .2s}.lp-hint{color:var(--text-mid);margin:.6rem 0 0;font-size:.82rem}.lp-empty{color:var(--text-mid);text-align:center;padding:2rem 0}@media (max-width:900px){.lr-layout{grid-template-columns:1fr}.lr-side{order:2;max-height:none;position:static}.lr-main{order:1}}@media (max-width:640px){.lr-page{padding:1rem .75rem 2.5rem}.lr-main{padding:.9rem}.lp-caption{min-height:3rem;padding:.5rem .75rem;font-size:1.02rem}.lp-speed{margin-left:0}.lp-hint{display:none}}
