.lesson43-page{font-size:16px!important}
.lesson43-page :where(p,li,a,button,input,select,textarea,label,small,code,pre,th,td,figcaption,blockquote,dt,dd,span,strong,b,em,i){font-size:max(15px,1em)!important}
.lesson43-page pre{font-size:15px!important;line-height:1.6!important}
.lesson43-page .sah-codebar *{font-size:15px!important}
.lesson43-content{max-width:100%;padding:24px 22px 65px;box-sizing:border-box;color:#172033}
.lesson43-breadcrumb{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin:0 0 18px;color:#667085}
.lesson43-breadcrumb a{color:#6d28d9;text-decoration:none;font-weight:700}
.lesson43-hero{padding:32px 30px;border:1px solid #e4d7f5;border-radius:16px;background:linear-gradient(135deg,#fbf8ff,#fff);margin-bottom:26px}
.lesson43-label{font-size:15px!important;font-weight:900;letter-spacing:.08em;color:#7c3aed;margin-bottom:8px}
.lesson43-hero h1{margin:0;font-size:46px;line-height:1.08;letter-spacing:-.02em}
.lesson43-hero p{margin:16px 0 14px;font-size:18px!important;line-height:1.65;color:#475467}
.lesson43-meta{display:flex;gap:9px;flex-wrap:wrap;color:#667085;font-size:15px!important}
.lesson43-objectives{padding:22px 24px;border:1px solid #e4e7ec;border-radius:13px;background:#fff;margin:0 0 35px}
.lesson43-objectives h2{margin:0 0 12px;font-size:24px!important}
.lesson43-objectives ul{margin:0;padding-left:23px}
.lesson43-objectives li{margin:7px 0;color:#475467;line-height:1.6}
.lesson43-section{display:grid;grid-template-columns:34px minmax(0,1fr);gap:13px;margin:44px 0}
.lesson43-number{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#efe7ff;color:#6d28d9;font-weight:900}
.lesson43-body h2{margin:0 0 12px;font-size:29px!important;line-height:1.2}
.lesson43-body p{margin:11px 0;color:#475467;font-size:16px!important;line-height:1.72}
.lesson43-flow,.lesson43-rag{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;gap:8px;align-items:center;margin:21px 0}
.lesson43-flow>div,.lesson43-rag>div{min-width:0;padding:16px;border:1px solid #e4e7ec;border-radius:11px;background:#fff;text-align:center}
.lesson43-flow b,.lesson43-flow span,.lesson43-rag b,.lesson43-rag span{display:block}
.lesson43-flow b,.lesson43-rag b{font-size:15px!important}
.lesson43-flow span,.lesson43-rag span{margin-top:6px;color:#667085;font-size:15px!important;line-height:1.45}
.lesson43-flow>i,.lesson43-rag>i,.lesson43-query-flow>i,.lesson43-embedding-flow>i{font-style:normal;color:#7c3aed;font-weight:900}
.lesson43-flow-highlight{border-color:#ddd2f0!important;background:#faf8ff!important}
.lesson43-flow-highlight b{color:#6d28d9}
.lesson43-callout{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:10px;margin:18px 0;padding:15px 17px;border:1px solid #e4e7ec;border-radius:10px;background:#f8fafc;color:#475467;font-size:15px!important;line-height:1.6}
.lesson43-callout strong{color:#344054}
.lesson43-callout--purple{border-color:#ddd2f0;background:#faf8ff}
.lesson43-before-after,.lesson43-compare{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:10px;align-items:stretch;margin:20px 0}
.lesson43-before-after>div:not(.lesson43-arrow),.lesson43-compare>div:not(.lesson43-vs){padding:20px;border:1px solid #e4e7ec;border-radius:12px;background:#fff}
.lesson43-before-after>div:last-child,.lesson43-compare>div:last-child{border-color:#ddd2f0;background:#fcfaff}
.lesson43-before-after span,.lesson43-compare span,.lesson43-example-grid span,.lesson43-size-grid span,.lesson43-boundaries span,.lesson43-rag-cards span,.lesson43-eval span,.lesson43-record-grid span,.lesson43-embedding-flow span,.lesson43-score b{display:block;color:#7c3aed;font-size:15px!important;font-weight:900;letter-spacing:.05em}
.lesson43-before-after h3,.lesson43-compare h3{margin:7px 0 10px;font-size:20px!important}
.lesson43-before-after p,.lesson43-compare p{margin:0;font-size:15px!important}
.lesson43-arrow,.lesson43-vs{align-self:center;color:#98a2b3;font-weight:900}
.lesson43-example-grid,.lesson43-size-grid,.lesson43-mistakes,.lesson43-eval{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin:20px 0}
.lesson43-example-grid>div,.lesson43-size-grid>div,.lesson43-mistakes>div,.lesson43-eval>div{padding:17px;border:1px solid #e4e7ec;border-radius:11px;background:#fff}
.lesson43-example-grid b,.lesson43-size-grid h3,.lesson43-mistakes b,.lesson43-eval b{display:block;margin:6px 0;font-size:16px!important}
.lesson43-example-grid p,.lesson43-size-grid p,.lesson43-mistakes p,.lesson43-eval p{margin:0;font-size:15px!important;line-height:1.55}
.lesson43-query-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:9px;align-items:center;margin:20px 0}
.lesson43-query-flow>div{padding:15px;border:1px solid #e4e7ec;border-radius:10px;background:#fff}
.lesson43-query-flow b,.lesson43-query-flow span{display:block}.lesson43-query-flow b{font-size:16px!important}.lesson43-query-flow span{margin-top:5px;color:#667085;font-size:15px!important}
.lesson43-record-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:20px 0}
.lesson43-record-grid>div{padding:15px;border:1px solid #e4e7ec;border-radius:10px;background:#fff}
.lesson43-record-grid strong{display:block;margin:7px 0;font-size:15px!important;word-break:break-word}.lesson43-record-grid small{color:#667085;font-size:15px!important;line-height:1.45}
.lesson43-note,.lesson43-code-note{margin:17px 0;padding:13px 15px;border-radius:9px;background:#f8fafc;color:#475467;font-size:15px!important;line-height:1.6}
.lesson43-note strong,.lesson43-code-note strong{color:#344054}
.lesson43-size-grid{grid-template-columns:repeat(3,1fr)}
.lesson43-size-grid>div:nth-child(2){border-color:#ddd2f0;background:#faf8ff}
.lesson43-scale{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:20px 0}
.lesson43-scale>div{padding:15px;border:1px solid #e4e7ec;border-radius:10px;background:#fff}.lesson43-scale b,.lesson43-scale span{display:block}.lesson43-scale b{font-size:16px!important}.lesson43-scale span{margin-top:5px;color:#667085;font-size:15px!important;line-height:1.5}
.lesson43-boundaries{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin:20px 0}.lesson43-boundaries>div{padding:17px;border-radius:11px;border:1px solid #e4e7ec}.lesson43-boundary-bad{background:#fff8f7}.lesson43-boundary-good{background:#f8fcf8}.lesson43-boundaries p{font-size:15px!important}.lesson43-boundary-bad span{color:#b42318}.lesson43-boundary-good span{color:#15803d}
.lesson43-tradeoff{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin:20px 0}.lesson43-tradeoff>div{padding:18px;border:1px solid #e4e7ec;border-radius:11px;background:#fff}.lesson43-tradeoff b{font-size:18px!important}.lesson43-tradeoff ul{padding-left:20px}.lesson43-tradeoff li{margin:7px 0;color:#475467;font-size:15px!important;line-height:1.55}
.lesson43-embedding-flow{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center;margin:20px 0}.lesson43-embedding-flow>div{padding:15px;border:1px solid #e4e7ec;border-radius:10px;background:#fff}.lesson43-embedding-flow b{display:block;margin-top:6px;font-size:15px!important;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;word-break:break-word}
.lesson43-rag-cards{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin:20px 0}.lesson43-rag-cards>div{padding:18px;border:1px solid #e4e7ec;border-radius:11px;background:#fff}.lesson43-rag-cards h3{margin:7px 0 8px;font-size:20px!important}.lesson43-rag-cards p{margin:0;font-size:15px!important}
.lesson43-mistakes{grid-template-columns:repeat(3,1fr)}
.lesson43-eval{grid-template-columns:repeat(3,1fr)}
.lesson43-score{display:grid;grid-template-columns:1fr 1fr 1fr;gap:9px;margin:20px 0}.lesson43-score>div{padding:15px;border:1px solid #e4e7ec;border-radius:10px;background:#fff}.lesson43-score span,.lesson43-score strong{display:block;margin-top:6px;font-size:15px!important;line-height:1.5}.lesson43-score strong{color:#15803d}
.lesson43-practice,.lesson43-quiz{margin:45px 0;padding:25px;border-radius:14px}.lesson43-practice{border:1px solid #ddd2f0;background:#faf8ff}.lesson43-quiz{border:1px solid #e4e7ec;background:#fff}
.lesson43-practice-label{color:#7c3aed;font-size:15px!important;font-weight:900;letter-spacing:.08em}.lesson43-practice h2,.lesson43-quiz h2,.lesson43-recap h2,.lesson43-takeaways h2{margin:7px 0 17px;font-size:28px!important}.lesson43-practice>p{font-size:16px!important;color:#475467;line-height:1.7}.lesson43-practice ol{padding-left:22px}.lesson43-practice li{margin:8px 0;color:#475467;font-size:16px!important;line-height:1.6}.lesson43-practice-box{margin-top:18px;padding:15px;border:1px solid #e4e7ec;border-radius:9px;background:#fff;color:#475467;font-size:15px!important;line-height:1.6}
.lesson43-question{padding:15px 0;border-top:1px solid #edf0f3}.lesson43-question strong{font-size:16px!important}.lesson43-question p{margin:6px 0 0;font-size:16px!important;line-height:1.6}
.lesson43-recap{margin:45px 0;padding:25px;border-radius:14px;background:#172033;color:#fff}.lesson43-recap h2{color:#fff}.lesson43-recap-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:9px}.lesson43-recap-grid>div{padding:15px;border:1px solid rgba(255,255,255,.15);border-radius:9px;background:rgba(255,255,255,.05)}.lesson43-recap-grid b,.lesson43-recap-grid span{display:block;font-size:15px!important}.lesson43-recap-grid span{margin-top:5px;color:#cbd5e1;line-height:1.45}
.lesson43-takeaways{margin:45px 0;padding:25px;border:1px solid #e4e7ec;border-radius:14px;background:#fff}.lesson43-takeaways h2{margin-top:0}.lesson43-takeaways li{margin:8px 0;color:#475467;font-size:16px!important;line-height:1.6}
.lesson43-bottom-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:45px}.lesson43-bottom-nav a{display:block;padding:14px 16px;border:1px solid #ddd2f0;border-radius:10px;background:#fff;color:#5b21b6;text-decoration:none;font-size:15px!important;font-weight:800;line-height:1.45;text-align:center}.lesson43-bottom-nav a:hover{background:#faf8ff}
@media(max-width:1050px){.lesson43-content{padding-left:18px;padding-right:18px}.lesson43-flow,.lesson43-rag{grid-template-columns:repeat(2,minmax(0,1fr))}.lesson43-flow>i,.lesson43-rag>i{display:none}.lesson43-record-grid{grid-template-columns:repeat(2,1fr)}.lesson43-recap-grid{grid-template-columns:repeat(2,1fr)}.lesson43-mistakes{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.lesson43-content{padding:18px 14px 55px}.lesson43-hero{padding:24px 20px}.lesson43-hero h1{font-size:36px!important}.lesson43-hero p{font-size:17px!important}.lesson43-section{grid-template-columns:30px minmax(0,1fr);gap:10px;margin:34px 0}.lesson43-number{width:30px;height:30px}.lesson43-body h2{font-size:25px!important}.lesson43-flow,.lesson43-rag,.lesson43-before-after,.lesson43-compare,.lesson43-query-flow,.lesson43-embedding-flow{grid-template-columns:1fr}.lesson43-flow>i,.lesson43-rag>i,.lesson43-arrow,.lesson43-vs,.lesson43-query-flow>i,.lesson43-embedding-flow>i{display:none}.lesson43-example-grid,.lesson43-size-grid,.lesson43-boundaries,.lesson43-tradeoff,.lesson43-rag-cards,.lesson43-mistakes,.lesson43-eval,.lesson43-record-grid,.lesson43-scale,.lesson43-score{grid-template-columns:1fr}.lesson43-practice,.lesson43-quiz,.lesson43-recap,.lesson43-takeaways{padding:20px}.lesson43-recap-grid{grid-template-columns:1fr}.lesson43-bottom-nav{grid-template-columns:1fr}.lesson43-bottom-nav a{width:100%;box-sizing:border-box}}
@media(max-width:480px){.lesson43-hero h1{font-size:32px!important}.lesson43-body h2{font-size:23px!important}.lesson43-objectives h2,.lesson43-practice h2,.lesson43-quiz h2,.lesson43-recap h2,.lesson43-takeaways h2{font-size:22px!important}.lesson43-callout{grid-template-columns:1fr;gap:5px}}

/* Accessibility/readability hardening for Lesson 38. */
.lesson43-page :where(p,li,a,button,input,select,textarea,label,small,code,pre,th,td,figcaption,blockquote,dt,dd,span,strong,b,em,i) { font-size: max(15px, 1em); }
.lesson43-page .lesson43-meta,
.lesson43-page .lesson43-label,
.lesson43-page .lesson43-code-note,
.lesson43-page .lesson43-practice-label { font-size: 15px; }
.lesson43-page pre { font-size: 15px; line-height: 1.65; }
.lesson43-page .sah-codebar { flex-wrap: wrap; gap: 8px; }
@media (max-width:760px) {
 .lesson43-page { overflow-x: hidden; }
 .lesson43-page .lesson43-bottom-nav { display:grid; grid-template-columns:1fr; gap:10px; }
 .lesson43-page .lesson43-bottom-nav a { min-width:0; white-space:normal; text-align:center; }
 .lesson43-page .lesson43-recap-grid { grid-template-columns:1fr; gap:12px; }
 .lesson43-page .sah-codebar { align-items:flex-start; }
 .lesson43-page pre { overflow-x:auto; max-width:100%; }
}

/* Lesson 42 specific layout hardening */
.lesson43-page .lesson43-example-grid,
.lesson43-page .lesson43-compare-grid,
.lesson43-page .lesson43-steps,
.lesson43-page .lesson43-eval-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin:18px 0;
}
.lesson43-page .lesson43-card,
.lesson43-page .lesson43-compare-card,
.lesson43-page .lesson43-step,
.lesson43-page .lesson43-eval-card{
  min-width:0; box-sizing:border-box; border:1px solid #e4e7ec;
  border-radius:12px; background:#fff; padding:18px;
}
.lesson43-page .lesson43-card h3,
.lesson43-page .lesson43-compare-card h3,
.lesson43-page .lesson43-step h3,
.lesson43-page .lesson43-eval-card h3{
  margin:6px 0 8px; font-size:20px!important; line-height:1.3;
}
.lesson43-page .lesson43-card p,
.lesson43-page .lesson43-compare-card p,
.lesson43-page .lesson43-step p,
.lesson43-page .lesson43-eval-card p{
  margin:0; font-size:16px!important; line-height:1.65;
}
.lesson43-page .lesson43-tag{
  display:inline-block; font-size:15px!important; font-weight:900;
  letter-spacing:.06em; color:#7c3aed;
}
.lesson43-page .lesson43-formula{
  margin:18px 0; padding:18px 20px; border:1px solid #e4d7f5;
  border-radius:12px; background:#fbf8ff; text-align:center;
  font-size:18px!important; line-height:1.7; overflow-x:auto;
}
.lesson43-page .lesson43-callout,
.lesson43-page .lesson43-note{
  margin:18px 0; padding:16px 18px; border-left:3px solid #8b5cf6;
  background:#fbf8ff; border-radius:0 10px 10px 0; color:#475467;
  font-size:16px!important; line-height:1.65;
}
.lesson43-page .lesson43-table-wrap{overflow-x:auto;margin:18px 0}
.lesson43-page .lesson43-table{width:100%;min-width:620px;border-collapse:collapse;background:#fff}
.lesson43-page .lesson43-table th,.lesson43-page .lesson43-table td{
  padding:12px 14px;border:1px solid #e4e7ec;text-align:left;
  font-size:15px!important;line-height:1.5;
}
.lesson43-page .lesson43-table th{font-weight:800;background:#f8f7fb}
@media(max-width:760px){
  .lesson43-page .lesson43-example-grid,.lesson43-page .lesson43-compare-grid,
  .lesson43-page .lesson43-steps,.lesson43-page .lesson43-eval-grid{grid-template-columns:1fr}
  .lesson43-page .lesson43-card,.lesson43-page .lesson43-compare-card,
  .lesson43-page .lesson43-step,.lesson43-page .lesson43-eval-card{padding:16px}
  .lesson43-page .lesson43-formula{font-size:16px!important;text-align:left}
}

/* Lesson 43 hardening: prevent cards from collapsing and keep 15px minimum text. */
.lesson43-page .lesson43-example-grid, .lesson43-page .lesson43-steps { width:100%; min-width:0; }
.lesson43-page .lesson43-card, .lesson43-page .lesson43-step { min-width:0; overflow-wrap:anywhere; }
.lesson43-page :where(p,li,a,button,input,select,textarea,label,small,code,pre,th,td,figcaption,blockquote,dt,dd,span,strong,b,em,i){font-size:max(15px,1em)!important;}
@media (max-width:760px){ .lesson43-page .lesson43-card, .lesson43-page .lesson43-step { width:100%; } }
