/* BharatFirm Books Learn — extends books.css. Reading layout: 70ch lesson column with a sticky course outline. */
.lnavl{display:flex;gap:4px;align-items:center}
.lnavl a{text-decoration:none;color:var(--muted);font-weight:500;padding:8px 12px;border-radius:10px}
.lnavl a:hover,.lnavl a.on{color:var(--brand);background:var(--brand-soft)}
.hsearch{display:flex}.hsearch input{width:200px;padding:8px 12px;border-radius:999px}
@media (max-width:1100px){.hsearch{display:none}}
.lhero{position:relative;overflow:hidden;isolation:isolate;border-bottom:1px solid var(--line)}
.lhero::before{content:"";position:absolute;inset:0;z-index:-1;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Crect x='10.5' y='10.5' width='3' height='3' fill='%23181A27' fill-opacity='.16'/%3E%3C/svg%3E");-webkit-mask-image:linear-gradient(90deg,transparent 30%,#000 90%);mask-image:linear-gradient(90deg,transparent 30%,#000 90%)}
.lhero-in{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:40px;align-items:center;padding-block:clamp(40px,6vw,80px)}
@media (max-width:900px){.lhero-in{grid-template-columns:1fr}}
.lsearch{display:flex;gap:8px;max-width:620px}
.lsearch input{border-radius:999px;padding:12px 16px}
.lstat{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.lstat div{background:#FFFFFF;border:1px solid var(--line);border-radius:14px;padding:18px;display:flex;flex-direction:column;gap:4px}
.lstat.light{grid-template-columns:repeat(3,1fr);margin:18px 0}
@media (max-width:520px){.lstat.light{grid-template-columns:1fr}}
.lstat b{font:740 1.8rem var(--f-display)}.lstat span{color:var(--muted);font-size:.9rem}
.courses{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
@media (max-width:1050px){.courses{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.courses{grid-template-columns:1fr}}
.course{position:relative;display:flex;flex-direction:column;gap:10px;background:#FFFFFF;border:1px solid var(--line);border-radius:16px;padding:22px;text-decoration:none;transition:transform .2s,box-shadow .2s;min-width:0}
.course:hover{transform:translateY(-3px);box-shadow:0 22px 44px -32px rgba(24,26,39,.5)}
.course .chip{align-self:flex-start}
.cnum{position:absolute;top:18px;right:20px;font:700 1.6rem var(--f-display);color:#8C91A1}
.course p{color:var(--muted);font-size:.94rem}
.cmeta{margin-top:auto;font:500 .76rem var(--f-mono);color:var(--muted)}
.lbar{height:6px;border-radius:999px;background:var(--paper);overflow:hidden}
.lbar i{display:block;height:100%;background:var(--leaf)}
.lgrid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media (max-width:800px){.lgrid3{grid-template-columns:1fr}}
.tile{background:#FFFFFF;border:1px solid var(--line);border-radius:16px;padding:22px;text-decoration:none;display:flex;flex-direction:column;gap:8px}
.tile b{font:700 1.15rem var(--f-display)}.tile span{color:var(--muted)}.tile:hover{border-color:var(--brand)}
.narrow{max-width:900px}
.crumbs{font:500 .8rem var(--f-mono);color:var(--muted);margin-bottom:14px}.crumbs a{color:var(--muted)}
.mt{margin-top:12px}
.lessons{list-style:none;margin:24px 0;padding:0;display:flex;flex-direction:column;gap:8px}
.lessons a{display:flex;gap:14px;align-items:center;background:#FFFFFF;border:1px solid var(--line);border-radius:12px;padding:14px 16px;text-decoration:none}
.lessons a:hover{border-color:var(--brand)}
.lessons small{display:block;color:var(--muted);font-size:.84rem}
.ln{flex:0 0 34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--paper);font:700 .95rem var(--f-display);color:var(--muted)}
.lessons .done .ln{background:var(--leaf-soft);color:var(--leaf)}
.lesson-wrap{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:40px;align-items:start}
@media (max-width:1000px){.lesson-wrap{grid-template-columns:1fr}}
.lesson{max-width:76ch;min-width:0}
.lesson h1{font-size:clamp(2rem,4vw,2.8rem);margin:6px 0 18px}
.lbody{font-size:1.04rem;line-height:1.75;display:flex;flex-direction:column;gap:14px}
.lbody h4{font:700 1.2rem var(--f-display);margin-top:10px}
.lbody ul,.lbody ol{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:6px}
.lbody table{border-collapse:collapse;width:100%;font-size:.92rem;display:block;overflow-x:auto}
.lbody th,.lbody td{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}
.lbody th{background:var(--paper);font-weight:600}
.lbody code{font-family:var(--f-mono);background:var(--paper);padding:1px 6px;border-radius:5px;font-size:.9em}
.lbody .example,.lbody .tip,.lbody .warn,.callout{border-radius:12px;padding:14px 16px;border-left:4px solid var(--c-roc);background:#F1F5FC}
.lbody .example{border-left-color:var(--c-roc);background:#F1F5FC}
.lbody .example::before{content:"Worked example";display:block;font:600 .75rem var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--c-roc);margin-bottom:6px}
.lbody .tip{border-left-color:var(--leaf);background:var(--leaf-soft)}
.lbody .tip::before{content:"Tip";display:block;font:600 .75rem var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--leaf);margin-bottom:6px}
.lbody .warn{border-left-color:var(--brand);background:var(--brand-soft)}
.lbody .warn::before{content:"Common mistake";display:block;font:600 .75rem var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--brand);margin-bottom:6px}
.callout{margin:22px 0;border-left-color:var(--marigold);background:var(--marigold-soft)}
.callout ul{margin:8px 0 0;padding-left:20px;display:flex;flex-direction:column;gap:4px}
.callout.ok{border-left-color:var(--leaf);background:var(--leaf-soft)}.callout.brand{border-left-color:var(--brand);background:var(--brand-soft);display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.btn.sm{padding:7px 14px;font-size:.86rem}
.quiz{margin:28px 0;display:flex;flex-direction:column;gap:12px}
.q{border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin:0 0 12px;display:flex;flex-direction:column;gap:8px;background:#FFFFFF}
.q legend{padding:0 4px;font-weight:500}
.q label{display:flex;gap:10px;align-items:flex-start;cursor:pointer;padding:6px 8px;border-radius:8px}
.q label:hover{background:var(--paper)}.q input{width:auto;margin-top:5px;accent-color:var(--brand)}
.q.right{border-color:#9FD3B4;background:#F6FBF8}.q.wrong{border-color:#F0B4AD;background:#FFF8F7}
.qfb{font-size:.92rem;margin:4px 0 0}
.lnav{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:28px 0 16px;padding-top:18px;border-top:1px solid var(--line)}
.lnav .btn{white-space:normal;text-align:center}
.lside{position:sticky;top:90px;background:#FFFFFF;border:1px solid var(--line);border-radius:14px;padding:18px;display:flex;flex-direction:column;gap:10px;font-size:.92rem}
@media (max-width:1000px){.lside{position:static}}
.lside h3{font-size:1rem}
.lside ol,.lside ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px}
.lside li.cur a{color:var(--brand);font-weight:600}.lside li.done a{color:var(--leaf)}
.lside a{text-decoration:none}.lside a:hover{text-decoration:underline}
.kbtools{display:flex;flex-direction:column;gap:12px;margin:18px 0}
.kbtools input{max-width:520px}
.tabs{display:flex;gap:6px;flex-wrap:wrap}
.tabs button,.tabl{border:1.5px solid var(--line);background:#FFFFFF;border-radius:999px;padding:6px 12px;font-size:.84rem;font-weight:600;color:var(--muted);cursor:pointer;text-decoration:none}
.tabs button[aria-pressed="true"]{border-color:var(--ink);color:var(--ink)}
.kbgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
@media (max-width:1000px){.kbgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.kbgrid{grid-template-columns:1fr}}
.kb{display:flex;flex-direction:column;gap:8px;background:#FFFFFF;border:1px solid var(--line);border-radius:14px;padding:18px;text-decoration:none;min-width:0}
.kb:hover{border-color:var(--brand)}.kb .chip{align-self:flex-start;background:var(--paper);color:var(--muted)}.kb span:last-child{color:var(--muted);font-size:.9rem}
.az{display:flex;flex-wrap:wrap;gap:4px;margin:14px 0}
.az a{width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;text-decoration:none;font-weight:600;background:#FFFFFF}
.az a:hover{border-color:var(--brand);color:var(--brand)}
.gl{margin:0 0 20px;display:grid;grid-template-columns:minmax(140px,220px) minmax(0,1fr);gap:0}
.gl dt,.gl dd{padding:10px 0;border-bottom:1px solid var(--line);margin:0}
.gl dt{font-weight:700;padding-right:14px}
.gl dd{color:var(--muted)}
@media (max-width:600px){.gl{grid-template-columns:1fr}.gl dt{border-bottom:0;padding-bottom:0}}
#gl h2{margin-top:22px;color:var(--brand)}
.rates{display:flex;flex-direction:column;gap:16px;margin-top:16px}
.card{background:#FFFFFF;border:1px solid var(--line);border-radius:14px;padding:20px;min-width:0}
.rt h2{margin-bottom:10px}
.rt .tw{overflow-x:auto}
.rt table{border-collapse:collapse;width:100%;font-size:.92rem;min-width:520px}
.rt th,.rt td{border-bottom:1px solid var(--line);padding:9px 10px;text-align:left;vertical-align:top}
.rt th{background:var(--paper);font:600 .75rem var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.res{list-style:none;margin:0 0 20px;padding:0;display:flex;flex-direction:column;gap:8px}
.res a{display:flex;flex-direction:column;background:#FFFFFF;border:1px solid var(--line);border-radius:12px;padding:12px 16px;text-decoration:none}
.res a:hover{border-color:var(--brand)}.res span{color:var(--muted);font-size:.86rem}
.narrow h2{margin:22px 0 10px}
.plist{display:flex;flex-direction:column;gap:8px}
.prow{display:grid;grid-template-columns:minmax(0,1fr) 60px 160px auto;gap:14px;align-items:center;background:#FFFFFF;border:1px solid var(--line);border-radius:12px;padding:12px 16px}
.prow a{text-decoration:none}
@media (max-width:640px){.prow{grid-template-columns:1fr auto}.prow .lbar{grid-column:1/-1}}
.empty{padding:26px;text-align:center;color:var(--muted)}
.cert-tools{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;margin-bottom:18px}
.cert-tools label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:.9rem}
.cert{border:2px solid var(--ink);outline:6px solid var(--paper);border-radius:6px;padding:clamp(28px,6vw,64px);text-align:center;display:flex;flex-direction:column;gap:12px;align-items:center;background:#FFFFFF;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Crect x='10.5' y='10.5' width='3' height='3' fill='%239B1C2E' fill-opacity='.07'/%3E%3C/svg%3E")}
.cert h1{font-size:clamp(1.8rem,4vw,2.6rem);color:var(--brand)}
.cname{font:700 clamp(1.6rem,4vw,2.4rem) var(--f-display);border-bottom:2px solid var(--marigold);padding:0 24px 6px}
@media print{header.site,.topbar,footer.site,.noprint,.lside,.lnav,.quiz{display:none!important}.band{padding:0}}
.lnavl a.btn,.lnavl a.btn:hover{color:#FFFFFF;background:var(--brand);padding:10px 18px;border-radius:999px}
.quiz h2,.narrow h2{font-size:1.5rem}
.lesson .lbody h4+p{margin-top:-6px}
