
html{scroll-snap-type:none!important;overscroll-behavior-y:auto}
body{overflow-y:auto!important;overscroll-behavior-y:auto}
#course,.lesson,.lesson-shell,.lesson-grid,.copy{overflow:visible}
.lesson{scroll-snap-align:none!important}
.picture{overflow-x:auto!important;overflow-y:hidden!important;overscroll-behavior:auto}
html.concept-diagrams-ready .picture>pre{display:none!important}

.lesson-pager{margin-top:34px;border-top:1px solid var(--line);padding-top:20px;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.lesson-pager .pager-link,.lesson-pager .next{min-width:0;min-height:82px;display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,rgba(20,26,37,.82),rgba(12,16,23,.92));color:inherit;text-decoration:none;padding:14px 16px;transition:transform .15s ease,border-color .15s ease}
.lesson-pager .pager-link:hover,.lesson-pager .next:hover{transform:translateY(-1px);border-color:rgba(134,241,193,.30)}
.lesson-pager .pager-link.previous{justify-content:flex-start}
.lesson-pager .next{justify-content:space-between;text-align:right;margin:0}
.lesson-pager .pager-link small,.lesson-pager .next small{display:block;color:#738196;text-transform:uppercase;letter-spacing:.11em;font-size:8px;font-weight:850;margin-bottom:4px}
.lesson-pager .pager-link span,.lesson-pager .next span{display:block;color:#edf2f8;font-size:17px;line-height:1.2;font-weight:800;letter-spacing:-.025em;overflow:hidden;text-overflow:ellipsis}
.lesson-pager .pager-arrow,.lesson-pager .next-arrow{flex:0 0 40px;width:40px;height:40px;display:grid;place-items:center;border-radius:13px;background:rgba(138,168,255,.08);color:#9bb0f4;font-size:20px}
.lesson-pager .next-arrow{background:var(--accent);color:#07100d}
.lesson-pager .finish{margin:0;min-height:82px;border:1px solid rgba(134,241,193,.22);border-radius:18px;background:rgba(134,241,193,.045);padding:14px 16px}
.lesson-pager .finish p{margin:5px 0 8px;color:#8f9cad;font-size:11px}
.lesson-pager .finish a{color:var(--accent);font-size:10px}
@media(max-width:680px){.lesson-pager{grid-template-columns:1fr}.lesson-pager .next{text-align:left}}

/* Learn layout hotfix — prevent large lesson titles from overlapping visual panel */
.lesson-grid{
  grid-template-columns:minmax(0,1fr) minmax(360px,470px) !important;
  gap:36px !important;
  align-items:start;
}

.copy{
  min-width:0 !important;
}

.copy h1{
  max-width:100%;
  font-size:clamp(56px,6.2vw,96px) !important;
  line-height:.92 !important;
  letter-spacing:-.055em;
  text-wrap:balance;
  overflow-wrap:normal;
}

.visual{
  min-width:0;
}

.visual-card{
  width:100%;
  box-sizing:border-box;
}

@media(max-width:980px){
  .lesson-grid{
    grid-template-columns:1fr !important;
  }

  .copy h1{
    font-size:clamp(52px,10vw,88px) !important;
  }
}

@media(max-width:600px){
  .copy h1{
    font-size:clamp(46px,14vw,70px) !important;
  }
}
