/* Phase 2: premium textbook reader. */
.lesson-reader{background:var(--l2l-bg);color:var(--l2l-text)}
.lesson-reader .public-header{position:relative;z-index:120}
.lesson-layout{grid-template-columns:minmax(280px,340px) minmax(0,1fr);background:var(--l2l-bg)}
.lesson-sidebar{top:0;height:100vh;padding:0;background:color-mix(in srgb,var(--l2l-surface-soft) 92%,transparent);border-color:var(--l2l-border);box-shadow:8px 0 28px color-mix(in srgb,var(--l2l-navy-950) 5%,transparent)}
.outline-sidebar-head{position:sticky;top:0;z-index:3;padding:24px 20px 16px;background:color-mix(in srgb,var(--l2l-surface-soft) 96%,transparent);backdrop-filter:blur(16px);border-bottom:1px solid var(--l2l-border)}
.lesson-course-title{padding:0;color:var(--l2l-text);font-size:clamp(16px,1.4vw,20px);line-height:1.25}
.lesson-count{margin:5px 0 15px;color:var(--l2l-text-muted);font-size:12px}
.outline-progress{display:grid;gap:6px;margin:13px 0 16px}.outline-progress>div{display:flex;justify-content:space-between;font-size:11px;color:var(--l2l-text-muted)}
.outline-progress progress{width:100%;height:7px;border:0;border-radius:99px;overflow:hidden;background:var(--l2l-border)}
.outline-progress progress::-webkit-progress-bar{background:var(--l2l-border)}.outline-progress progress::-webkit-progress-value{background:linear-gradient(90deg,var(--brand),var(--accent))}.outline-progress progress::-moz-progress-bar{background:linear-gradient(90deg,var(--brand),var(--accent))}
.outline-search{display:grid;gap:6px;color:var(--l2l-text-muted);font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.outline-search input{width:100%;min-height:40px;border:1px solid var(--l2l-border);border-radius:10px;background:var(--l2l-surface);color:var(--l2l-text);padding:9px 12px;font:600 13px Inter,system-ui}
.lesson-sidebar>nav{padding:13px 11px 30px}.outline-chapters{margin:0;padding:0;list-style:none}.outline-chapter{border-bottom:1px solid var(--l2l-border)}
.outline-chapter>summary{display:grid;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:8px;cursor:pointer;list-style:none;padding:14px 9px;color:var(--l2l-text);font-size:12px;font-weight:820;line-height:1.3}
.outline-chapter>summary::-webkit-details-marker{display:none}.outline-chapter>summary>span{color:var(--brand);font-size:10px;letter-spacing:.08em}.outline-chapter>summary>small{display:none}.outline-chapter>summary::after{content:'›';grid-column:3;grid-row:1;color:var(--l2l-text-muted);transform:rotate(90deg);transition:transform .16s}.outline-chapter[open]>summary::after{transform:rotate(-90deg)}
.outline-chapter ol{list-style:none;padding:0 0 10px;margin:0}.outline-chapter li{display:grid;grid-template-columns:19px minmax(0,1fr);align-items:start;border-left:2px solid transparent;border-radius:8px;padding:8px 9px;margin:2px 0}
.outline-chapter li:hover{background:color-mix(in srgb,var(--brand) 7%,transparent)}.outline-chapter li.active{border-left-color:var(--accent);background:color-mix(in srgb,var(--brand) 11%,var(--l2l-surface))}
.outline-chapter li a{color:var(--l2l-text);text-decoration:none;font-size:12px;font-weight:650;line-height:1.45}.outline-chapter li.active a{font-weight:830}
.outline-state{width:15px;height:15px;margin-top:2px;border:1px solid var(--l2l-border);border-radius:50%;display:grid;place-items:center;color:white;font-size:9px}.outline-chapter li.complete .outline-state{border-color:var(--l2l-success);background:var(--l2l-success)}
.outline-empty{padding:24px;color:var(--l2l-text-muted);text-align:center;font-size:12px}
.lesson-main{max-width:1080px;padding:clamp(34px,5vw,72px) clamp(22px,6vw,88px) 60px}
.lesson-breadcrumb{font-size:12px;color:var(--l2l-text-muted);margin-bottom:26px}.lesson-breadcrumb ol{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}.lesson-breadcrumb li{display:flex;align-items:center}.lesson-breadcrumb a{color:inherit;text-decoration:none}.lesson-breadcrumb span{margin-right:8px}
#lesson-content>.public-section{display:flow-root;position:relative;padding:0;background:transparent!important}#lesson-content>.public-section>.public-wrap{padding:0;max-width:none}
.lesson-main .prose{display:flow-root;position:relative;max-width:760px;font-family:Inter,system-ui,-apple-system,'Segoe UI',sans-serif;font-size:clamp(16px,1.2vw,18px);line-height:1.82;color:var(--l2l-text)}
.lesson-main .prose h1,.lesson-main .prose h2:first-child{font-size:clamp(34px,4.5vw,58px);line-height:1.07;letter-spacing:-.035em;margin:0 0 34px;color:var(--l2l-text);text-wrap:balance}
.lesson-main .prose h2{font-size:clamp(25px,2.8vw,36px);line-height:1.18;letter-spacing:-.025em;margin:2.1em 0 .65em;color:var(--l2l-text)}
.lesson-main .prose h3{font-size:clamp(20px,2vw,27px);line-height:1.25;margin:1.8em 0 .55em;color:var(--l2l-text)}
.lesson-main .prose p{margin:0 0 1.3em}.lesson-main .prose ul,.lesson-main .prose ol{padding-left:1.4em;margin:0 0 1.4em}.lesson-main .prose li+li{margin-top:.45em}
.lesson-main .prose>:first-child{margin-top:0}.lesson-main .prose>:last-child{margin-bottom:0}
.lesson-main .prose img,.lesson-main .prose video{display:block;max-width:100%;width:auto;height:auto;object-fit:contain;margin:30px auto;border-radius:10px;box-shadow:0 12px 38px color-mix(in srgb,var(--l2l-navy-950) 13%,transparent)}
.lesson-main .prose iframe{aspect-ratio:16/9;height:auto;min-height:0;border-radius:12px;box-shadow:0 12px 38px color-mix(in srgb,var(--l2l-navy-950) 13%,transparent)}
.lesson-main .prose table{margin:25px 0;border-radius:10px;max-width:100%;font-size:.88em}.lesson-main .prose th{background:var(--l2l-surface-soft)}
.lesson-main .prose pre{margin:25px 0;padding:22px;border-radius:12px;box-shadow:none}.lesson-main .prose blockquote{margin:28px 0;padding:12px 0 12px 23px;color:var(--l2l-text-muted)}
.lesson-completion{max-width:760px;margin-top:40px;border:1px solid var(--l2l-border);background:var(--l2l-surface-soft);border-radius:15px;padding:18px 20px;align-items:center;justify-content:space-between;gap:20px}.lesson-completion:not([hidden]){display:flex}.lesson-completion small{display:block;color:var(--l2l-text-muted)}
.lesson-pagination{display:block;max-width:760px;margin-top:34px}.lesson-pagination ul{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:0;padding:0;list-style:none}.lesson-pagination li{display:flex}.lesson-pagination li:last-child{justify-content:flex-end}.lesson-pagination .lesson-nav-link{width:100%;background:var(--l2l-surface);border-color:var(--l2l-border);color:var(--l2l-text);transition:transform .16s,border-color .16s,box-shadow .16s}.lesson-nav-link:hover{transform:translateY(-2px);border-color:var(--brand);box-shadow:var(--l2l-shadow-sm)}
.lesson-outline-toggle{position:fixed;z-index:130;top:auto;right:14px;bottom:14px;left:auto;width:auto;justify-content:initial;border:1px solid var(--l2l-border);border-radius:999px;background:var(--l2l-brand-900);color:white;padding:11px 16px;box-shadow:var(--l2l-shadow-lg);font-weight:800}
@media(min-width:851px){.lesson-outline-toggle{display:none}}
@media(max-width:850px){.lesson-layout{display:block}.lesson-sidebar{display:block;position:fixed;z-index:125;inset:0 auto 0 0;width:min(90vw,350px);height:100vh;max-height:none;transform:translateX(-105%);transition:transform .2s ease;box-shadow:15px 0 45px #07152955}.lesson-sidebar.open{transform:translateX(0)}.lesson-main{padding:34px 20px 70px}.lesson-main .prose{font-size:16px}.lesson-main .prose h1,.lesson-main .prose h2:first-child{font-size:clamp(31px,9vw,45px)}.lesson-pagination ul{grid-template-columns:1fr}.lesson-completion{align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){.lesson-sidebar,.lesson-nav-link,.outline-chapter>summary::after{transition:none}}
.lesson-pagination li:first-child .lesson-nav-link{text-align:left}
