
.lesson49-page{font-size:16px!important}
.lesson49-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}
.lesson49-page pre{font-size:15px!important;line-height:1.6!important}
.lesson49-page .sah-codebar *{font-size:15px!important}
.lesson49-page{max-width:100%;overflow-x:clip}
.lesson49-content{min-width:0}
.lesson49-breadcrumb{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0 0 20px;color:#667085;font-size:15px!important}
.lesson49-breadcrumb a{color:#475467;text-decoration:none}
.lesson49-hero{margin-bottom:28px}
.lesson49-label{font-size:15px!important;font-weight:900;letter-spacing:.08em;color:#7c3aed;margin-bottom:8px}
.lesson49-hero h1{margin:0;font-size:46px!important;line-height:1.08;letter-spacing:-.02em}
.lesson49-hero p{margin:16px 0 14px;font-size:18px!important;line-height:1.65;color:#475467}
.lesson49-meta{display:flex;gap:9px;flex-wrap:wrap;color:#667085;font-size:15px!important}
.lesson49-objectives{padding:20px 22px;border:1px solid #e4e7ec;border-radius:12px;background:#fff;margin:0 0 38px}
.lesson49-objectives h2{margin:0 0 12px;font-size:24px!important}
.lesson49-objectives ul,.lesson49-takeaways ul{margin:0;padding-left:22px}
.lesson49-objectives li,.lesson49-takeaways li{margin:8px 0;color:#475467;font-size:16px!important;line-height:1.6}
.lesson49-section{display:grid;grid-template-columns:34px minmax(0,1fr);gap:13px;margin:44px 0}
.lesson49-number{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#efe7ff;color:#6d28d9;font-weight:900;font-size:15px!important}
.lesson49-body{min-width:0}
.lesson49-body h2{margin:0 0 12px;font-size:29px!important;line-height:1.2}
.lesson49-body p{margin:11px 0;color:#475467;font-size:16px!important;line-height:1.72}
.lesson49-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}
.lesson49-flow,.lesson49-rag{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;gap:8px;align-items:center;margin:21px 0}
.lesson49-flow>div,.lesson49-rag>div{padding:15px;border:1px solid #e4e7ec;border-radius:10px;background:#fff;min-width:0}
.lesson49-flow b,.lesson49-rag b{font-size:15px!important;text-align:center}
.lesson49-flow span,.lesson49-rag span{display:block;margin-top:6px;color:#667085;font-size:15px!important;line-height:1.45}
.lesson49-example-grid,.lesson49-size-grid,.lesson49-mistakes,.lesson49-eval{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin:20px 0}
.lesson49-example-grid>div,.lesson49-size-grid>div,.lesson49-mistakes>div,.lesson49-eval>div{padding:17px;border:1px solid #e4e7ec;border-radius:11px;background:#fff;min-width:0}
.lesson49-example-grid span,.lesson49-size-grid span,.lesson49-mistakes span,.lesson49-eval span,.lesson49-compare span,.lesson49-embedding-flow span,.lesson49-boundaries span{display:block;color:#7c3aed;font-size:15px!important;font-weight:900;letter-spacing:.05em}
.lesson49-example-grid b,.lesson49-size-grid h3,.lesson49-mistakes b,.lesson49-eval b{display:block;margin:6px 0;font-size:16px!important}
.lesson49-example-grid p,.lesson49-size-grid p,.lesson49-mistakes p,.lesson49-eval p{margin:0;font-size:15px!important;line-height:1.55}
.lesson49-compare{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:10px;align-items:stretch;margin:20px 0}
.lesson49-compare>div{padding:17px;border:1px solid #e4e7ec;border-radius:11px;background:#fff;min-width:0}
.lesson49-compare h3{margin:7px 0 10px;font-size:20px!important}
.lesson49-compare p{margin:0;font-size:15px!important}
.lesson49-note{margin:17px 0;padding:13px 15px;border-radius:9px;background:#f8fafc;color:#475467;font-size:15px!important;line-height:1.6}
.lesson49-embedding-flow{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center;margin:20px 0}
.lesson49-embedding-flow>div{padding:15px;border:1px solid #e4e7ec;border-radius:10px;background:#fff;min-width:0}
.lesson49-embedding-flow b{display:block;margin-top:6px;font-size:15px!important;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;word-break:break-word}
.lesson49-record-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:20px 0}
.lesson49-record-grid>div{padding:15px;border:1px solid #e4e7ec;border-radius:10px;background:#fff;min-width:0}
.lesson49-record-grid span{color:#7c3aed;font-size:15px!important;font-weight:900}
.lesson49-record-grid strong{display:block;margin:7px 0;font-size:15px!important;word-break:break-word}
.lesson49-record-grid small{color:#667085;font-size:15px!important;line-height:1.45}
.lesson49-size-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.lesson49-size-grid>div:nth-child(2){border-color:#ddd2f0;background:#faf8ff}
.lesson49-tradeoff{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin:20px 0}
.lesson49-tradeoff>div{padding:18px;border:1px solid #e4e7ec;border-radius:11px;background:#fff;min-width:0}
.lesson49-tradeoff b{font-size:18px!important}
.lesson49-tradeoff ul{padding-left:20px}
.lesson49-tradeoff li{margin:7px 0;color:#475467;font-size:15px!important;line-height:1.55}
.lesson49-rag>div{padding:15px;border:1px solid #e4e7ec;border-radius:10px;background:#fff}
.lesson49-boundaries{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin:20px 0}
.lesson49-boundaries>div{padding:17px;border-radius:11px;border:1px solid #e4e7ec;min-width:0}
.lesson49-boundary-bad{background:#fff8f7}.lesson49-boundary-good{background:#f8fcf8}
.lesson49-boundaries p{font-size:15px!important}
.lesson49-boundary-bad span{color:#b42318}.lesson49-boundary-good span{color:#15803d}
.lesson49-scale{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:20px 0}
.lesson49-scale>div{padding:15px;border:1px solid #e4e7ec;border-radius:10px;background:#fff;min-width:0}
.lesson49-scale b,.lesson49-scale span{display:block}
.lesson49-scale b{font-size:16px!important}.lesson49-scale span{margin-top:5px;color:#667085;font-size:15px!important;line-height:1.5}
.lesson49-practice{display:grid;grid-template-columns:34px minmax(0,1fr);gap:13px;margin:48px 0}
.lesson49-practice-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:18px;border:1px solid #ddd2f0;border-radius:12px;background:#faf8ff;margin-top:18px}
.lesson49-practice-card h3{margin:6px 0 8px;font-size:20px!important}.lesson49-practice-card p{margin:0;font-size:15px!important;line-height:1.55}
.lesson49-practice-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:flex-end}
.lesson49-hint{border:1px solid #7c3aed;background:#fff;color:#6d28d9;border-radius:8px;padding:9px 13px;font-size:15px!important;font-weight:700;cursor:pointer}
.lesson49-hint-text{max-width:360px;font-size:15px!important;color:#475467;line-height:1.55}
.lesson49-quiz{margin:48px 0}.lesson49-quiz h2,.lesson49-recap h2,.lesson49-takeaways h2{font-size:29px!important}
.lesson49-quiz-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.lesson49-quiz details{border:1px solid #e4e7ec;border-radius:10px;background:#fff;padding:14px 16px}
.lesson49-quiz summary{cursor:pointer;font-weight:700;font-size:16px!important}.lesson49-quiz details p{font-size:15px!important;color:#475467;line-height:1.6;margin:10px 0 0}
.lesson49-recap{margin:48px 0}.lesson49-recap-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.lesson49-recap-grid>div{padding:16px;border:1px solid #e4e7ec;border-radius:10px;background:#fff;min-width:0}
.lesson49-recap-grid strong{display:block;font-size:16px!important;margin-bottom:6px}.lesson49-recap-grid p{margin:0;color:#475467;font-size:15px!important;line-height:1.5}
.lesson49-takeaways{margin:48px 0}.lesson49-bottom-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:44px 0 20px}
.lesson49-bottom-nav a{display:flex;align-items:center;justify-content:center;text-align:center;min-height:48px;padding:11px 14px;border:1px solid #e4e7ec;border-radius:10px;background:#fff;color:#344054;text-decoration:none;font-size:15px!important;line-height:1.35}
.lesson49-bottom-nav a:hover{border-color:#c084fc;background:#faf8ff}
@media(max-width:900px){
 .lesson49-record-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .lesson49-flow,.lesson49-rag{grid-template-columns:1fr;gap:8px}
 .lesson49-flow>b,.lesson49-rag>b{display:none}
 .lesson49-scale{grid-template-columns:1fr}
}
@media(max-width:760px){
 .lesson49-hero h1{font-size:36px!important}.lesson49-hero p{font-size:17px!important}.lesson49-body h2,.lesson49-quiz h2,.lesson49-recap h2,.lesson49-takeaways h2{font-size:25px!important}
 .lesson49-section,.lesson49-practice{grid-template-columns:1fr;gap:10px;margin:36px 0}
 .lesson49-number{margin-bottom:-2px}
 .lesson49-example-grid,.lesson49-size-grid,.lesson49-mistakes,.lesson49-eval,.lesson49-tradeoff,.lesson49-boundaries,.lesson49-quiz-grid{grid-template-columns:1fr}
 .lesson49-compare,.lesson49-embedding-flow{grid-template-columns:1fr}
 .lesson49-compare> b,.lesson49-embedding-flow> b{display:none}
 .lesson49-record-grid{grid-template-columns:1fr 1fr}
 .lesson49-practice-card{grid-template-columns:1fr}
 .lesson49-practice-actions{justify-content:flex-start}
 .lesson49-hint-text{max-width:none}
 .lesson49-recap-grid{grid-template-columns:1fr 1fr}
 .lesson49-bottom-nav{grid-template-columns:1fr}
 .lesson49-callout{grid-template-columns:1fr}
}
@media(max-width:480px){
 .lesson49-hero h1{font-size:32px!important}
 .lesson49-record-grid,.lesson49-recap-grid{grid-template-columns:1fr}
}

/* Lesson 45 hardening: keep every lesson text readable and prevent card collapse. */
.lesson49-page,
.lesson49-page * { box-sizing:border-box; }
.lesson49-page { font-size:16px !important; overflow-x:clip; }
.lesson49-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;
}
.lesson49-page pre { font-size:15px !important; line-height:1.6 !important; overflow-x:auto; }
.lesson49-page .sah-codebar,
.lesson49-page .sah-codebar * { font-size:15px !important; }
.lesson49-page .lesson49-flow,
.lesson49-page .lesson49-rag { min-width:0; }
.lesson49-page .lesson49-size-grid,
.lesson49-page .lesson49-example-grid,
.lesson49-page .lesson49-mistakes,
.lesson49-page .lesson49-eval { min-width:0; }
.lesson49-page .lesson49-size-grid > div,
.lesson49-page .lesson49-example-grid > div,
.lesson49-page .lesson49-mistakes > div,
.lesson49-page .lesson49-eval > div { min-width:0; overflow-wrap:anywhere; }
.lesson49-page .lesson49-compare { min-width:0; }
.lesson49-page .lesson49-compare > div { min-width:0; }
.lesson49-page .lesson49-practice-card { min-width:0; }
@media (max-width: 760px) {
  .lesson49-page .lesson49-flow,
  .lesson49-page .lesson49-rag { grid-template-columns:1fr; }
  .lesson49-page .lesson49-flow > b,
  .lesson49-page .lesson49-rag > b { transform:rotate(90deg); margin:0 auto; }
  .lesson49-page .lesson49-example-grid,
  .lesson49-page .lesson49-size-grid,
  .lesson49-page .lesson49-mistakes,
  .lesson49-page .lesson49-eval { grid-template-columns:1fr; }
  .lesson49-page .lesson49-compare { grid-template-columns:1fr; }
  .lesson49-page .lesson49-compare > b { display:none; }
  .lesson49-page .lesson49-body h2 { font-size:25px !important; }
  .lesson49-page .lesson49-hero h1 { font-size:36px !important; }
}
@media (max-width: 480px) {
  .lesson49-page .lesson49-hero h1 { font-size:32px !important; }
  .lesson49-page .lesson49-body h2 { font-size:23px !important; }
}

/* Lesson 46 readability/layout hardening */
.lesson49-page, .lesson49-page * { box-sizing:border-box; }
.lesson49-page { font-size:16px !important; overflow-x:clip; }
.lesson49-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;
}
.lesson49-page pre { font-size:15px !important; line-height:1.6 !important; overflow-x:auto; }
.lesson49-page .sah-codebar, .lesson49-page .sah-codebar * { font-size:15px !important; }
.lesson49-page .lesson49-size-grid > div,
.lesson49-page .lesson49-example-grid > div,
.lesson49-page .lesson49-mistakes > div,
.lesson49-page .lesson49-eval > div,
.lesson49-page .lesson49-compare > div,
.lesson49-page .lesson49-practice-card > div { min-width:0; overflow-wrap:anywhere; }
@media (max-width:760px) {
  .lesson49-page .lesson49-flow,
  .lesson49-page .lesson49-rag { grid-template-columns:1fr; }
  .lesson49-page .lesson49-flow > b,
  .lesson49-page .lesson49-rag > b { transform:rotate(90deg); margin:0 auto; }
  .lesson49-page .lesson49-example-grid,
  .lesson49-page .lesson49-size-grid,
  .lesson49-page .lesson49-mistakes,
  .lesson49-page .lesson49-eval { grid-template-columns:1fr; }
  .lesson49-page .lesson49-compare { grid-template-columns:1fr; }
  .lesson49-page .lesson49-compare > b { display:none; }
  .lesson49-page .lesson49-hero h1 { font-size:36px !important; }
  .lesson49-page .lesson49-body h2 { font-size:25px !important; }
}
@media (max-width:480px) {
  .lesson49-page .lesson49-hero h1 { font-size:32px !important; }
  .lesson49-page .lesson49-body h2 { font-size:23px !important; }
}

.lesson49-page,.lesson49-page *{box-sizing:border-box}.lesson49-page{font-size:16px!important;overflow-x:clip}
.lesson49-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}
.lesson49-page pre{font-size:15px!important;line-height:1.6!important;overflow-x:auto}.lesson49-page .sah-codebar,.lesson49-page .sah-codebar *{font-size:15px!important}
.lesson49-page .lesson49-size-grid>div,.lesson49-page .lesson49-example-grid>div,.lesson49-page .lesson49-mistakes>div,.lesson49-page .lesson49-eval>div,.lesson49-page .lesson49-compare>div,.lesson49-page .lesson49-practice-card>div{min-width:0;overflow-wrap:anywhere}
@media(max-width:760px){.lesson49-page .lesson49-flow,.lesson49-page .lesson49-rag{grid-template-columns:1fr}.lesson49-page .lesson49-flow>b,.lesson49-page .lesson49-rag>b{transform:rotate(90deg);margin:0 auto}.lesson49-page .lesson49-example-grid,.lesson49-page .lesson49-size-grid,.lesson49-page .lesson49-mistakes,.lesson49-page .lesson49-eval{grid-template-columns:1fr}.lesson49-page .lesson49-compare{grid-template-columns:1fr}.lesson49-page .lesson49-compare>b{display:none}.lesson49-page .lesson49-hero h1{font-size:36px!important}.lesson49-page .lesson49-body h2{font-size:25px!important}}
@media(max-width:480px){.lesson49-page .lesson49-hero h1{font-size:32px!important}.lesson49-page .lesson49-body h2{font-size:23px!important}}

.lesson49-page,.lesson49-page *{box-sizing:border-box}.lesson49-page{font-size:16px!important;overflow-x:clip}
.lesson49-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}
.lesson49-page pre{font-size:15px!important;line-height:1.6!important;overflow-x:auto}.lesson49-page .sah-codebar,.lesson49-page .sah-codebar *{font-size:15px!important}
.lesson49-page .lesson49-size-grid>div,.lesson49-page .lesson49-example-grid>div,.lesson49-page .lesson49-mistakes>div,.lesson49-page .lesson49-eval>div,.lesson49-page .lesson49-compare>div,.lesson49-page .lesson49-practice-card>div{min-width:0;overflow-wrap:anywhere}
@media(max-width:760px){.lesson49-page .lesson49-flow,.lesson49-page .lesson49-rag{grid-template-columns:1fr}.lesson49-page .lesson49-flow>b,.lesson49-page .lesson49-rag>b{transform:rotate(90deg);margin:0 auto}.lesson49-page .lesson49-example-grid,.lesson49-page .lesson49-size-grid,.lesson49-page .lesson49-mistakes,.lesson49-page .lesson49-eval{grid-template-columns:1fr}.lesson49-page .lesson49-compare{grid-template-columns:1fr}.lesson49-page .lesson49-compare>b{display:none}.lesson49-page .lesson49-hero h1{font-size:36px!important}.lesson49-page .lesson49-body h2{font-size:25px!important}}
@media(max-width:480px){.lesson49-page .lesson49-hero h1{font-size:32px!important}.lesson49-page .lesson49-body h2{font-size:23px!important}}
.lesson49-flow > div{min-width:0}
.lesson49-flow > div span{display:block;margin-top:5px;color:#667085;line-height:1.5}
.lesson49-tradeoff > div,.lesson49-size-grid > div,.lesson49-compare > div{min-width:0}
.lesson49-practice-card{align-items:start}
.lesson49-practice-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-start}
.lesson49-hint-text{line-height:1.6;min-width:220px}
@media (max-width:760px){.lesson49-hero h1{font-size:36px!important}.lesson49-flow{grid-template-columns:1fr!important}.lesson49-flow>b{display:none}.lesson49-tradeoff,.lesson49-size-grid{grid-template-columns:1fr!important}.lesson49-practice-card{grid-template-columns:1fr!important}.lesson49-practice-actions{width:100%}.lesson49-hint-text{min-width:0;width:100%}}
