/* Sophentis lessons hub (ADR-0012 §9). Generated from the approved design
 * source: catalog rules verbatim, the Grade 5 course shell for every course's
 * reading pages, and only the lesson-content rules the stored bodies use,
 * scoped under .lh-prose. Static file: the Tailwind build is not involved. */
/* ---- theme (LES-158): blue for structure and actions, green for progress
   and learning accents, gray for surfaces and text. Only the lessons layout
   loads this file. ---- */
:root{
--lx-blue-900:#0f2f57;--lx-blue-800:#123a68;--lx-blue-700:#134d95;--lx-blue-600:#1c63bd;--lx-blue-300:#9dbde5;--lx-blue-200:#bed5ff;--lx-blue-100:#e7f0ff;--lx-blue-50:#f1f6fd;
--lx-green-800:#166534;--lx-green-700:#15803d;--lx-green-600:#16a34a;--lx-green-300:#86efac;--lx-green-200:#bbe5c8;--lx-green-100:#dcf3e4;--lx-green-50:#f0faf3;
--lx-gray-900:#1e293b;--lx-gray-800:#273449;--lx-gray-700:#334155;--lx-gray-600:#475569;--lx-gray-500:#64748b;--lx-gray-400:#94a3b8;--lx-gray-300:#cbd5e1;--lx-gray-200:#e2e8f0;--lx-gray-100:#f1f5f9;--lx-gray-50:#f5f7fa;
--lx-on-dark:#d6e2f0;--lx-on-dark-muted:#b7c8dc;--lx-focus:#4598f9
}
/* ---- catalog ---- */
#lessonCatalog{display:none}
body.catalog-mode #lessonCatalog{display:block}
#lessonCatalog{font-family:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;color:var(--lx-gray-900);line-height:1.6;background:var(--lx-gray-50);min-height:100vh}
#lessonCatalog *{box-sizing:border-box}
#lessonCatalog [hidden]{display:none!important}
#lessonCatalog a{color:inherit;text-decoration:none}
#lessonCatalog button,#lessonCatalog input{font:inherit}
#lessonCatalog a:focus-visible,#lessonCatalog button:focus-visible,#lessonCatalog input:focus-visible{outline:3px solid var(--lx-focus);outline-offset:4px}
.lc-header{background:white;border-bottom:1px solid var(--lx-gray-200)}
.lc-header-inner{max-width:1280px;margin:auto;min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 28px}
.lc-brand{display:flex;align-items:center;gap:12px}
.lc-logo{display:grid;place-items:center;width:45px;height:45px;background:var(--lx-blue-800);border-radius:11px;color:white;font:30px Georgia,serif}
.lc-brand strong{font-size:19px;letter-spacing:-.5px;display:block}
.lc-brand small{display:block;font-size:10px;color:var(--lx-gray-500);letter-spacing:.07em}
.lc-header-nav{display:flex;align-items:center;gap:25px;font-size:13px;color:var(--lx-gray-600)}
.lc-header-nav a[aria-current]{color:var(--lx-blue-600);font-weight:750;border-bottom:2px solid var(--lx-blue-600);padding:12px 0}
.lc-header-tag{padding:7px 12px;border:1px solid var(--lx-gray-200);border-radius:30px;font-size:11px;color:var(--lx-gray-600);background:var(--lx-gray-50)}
.lc-main{max-width:1280px;margin:auto;padding:27px 28px 64px}
.lc-breadcrumb{font-size:12px;color:var(--lx-gray-500);margin:0 0 23px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.lc-breadcrumb a:hover{text-decoration:underline}
.lc-hero{background:linear-gradient(115deg,var(--lx-blue-900),var(--lx-blue-700));border-radius:20px;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(220px,.6fr);align-items:center;gap:35px;padding:42px 44px;color:white;overflow:hidden}
.lc-eyebrow{font-size:10px;letter-spacing:.18em;font-weight:800;text-transform:uppercase;margin:0 0 13px}
.lc-hero .lc-eyebrow{color:var(--lx-green-300)}
.lc-hero h1{font-size:clamp(32px,4.5vw,49px);line-height:1.13;letter-spacing:-.045em;font-weight:750;max-width:650px}
.lc-hero p:not(.lc-eyebrow){color:var(--lx-on-dark);font-size:14px;max-width:560px;line-height:1.85;margin:19px 0}
.lc-hero-stats{display:flex;gap:21px;flex-wrap:wrap;font-size:11px;color:var(--lx-on-dark-muted);margin-top:25px}
.lc-hero-stats strong{color:white;font-size:17px;margin-right:5px}
.lc-hero-art{width:100%;max-width:275px;justify-self:center;opacity:.95}
.lc-section-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:34px 0 18px}
.lc-section-head h2{font-size:23px;letter-spacing:-.025em;margin:0;color:var(--lx-gray-900)}
.lc-section-head p{font-size:12px;color:var(--lx-gray-500);margin:3px 0 0}
.lc-search{display:flex;align-items:center;gap:9px;background:white;border:1px solid var(--lx-gray-200);border-radius:10px;padding:0 12px;min-width:280px;color:var(--lx-gray-500)}
.lc-search input{border:0!important;background:transparent;padding:11px 0;outline:none;min-width:0;width:100%;font-size:12px!important}
.lc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
.lc-card{border:1px solid var(--lx-gray-200);border-radius:15px;padding:24px;background:white;display:flex;flex-direction:column;align-items:flex-start;min-width:0;transition:border-color .16s,transform .16s,box-shadow .16s}
.lc-card:hover{border-color:var(--lx-blue-300);transform:translateY(-2px);box-shadow:0 9px 22px #17395b0a}
.lc-card h2,.lc-card h3{font-size:19px;line-height:1.4;letter-spacing:-.02em;color:var(--lx-gray-900);margin:14px 0 8px}
.lc-card p{font-size:12px;line-height:1.85;color:var(--lx-gray-500);margin:0 0 18px;flex:1}
.lc-card-top{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%}
.lc-icon{width:46px;height:46px;display:grid;place-items:center;background:var(--lc-soft,var(--lx-blue-50));color:var(--lc-color,var(--lx-blue-600));border-radius:12px}
.lc-icon svg{width:25px;height:25px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.lc-tag{font-size:9px;text-transform:uppercase;letter-spacing:.07em;background:var(--lx-gray-100);color:var(--lx-gray-500);border-radius:5px;padding:4px 7px;font-weight:750}
.lc-tag.live{background:var(--lx-green-100);color:var(--lx-green-800)}
.lc-card-bottom{border-top:1px solid var(--lx-gray-100);padding-top:14px;display:flex;justify-content:space-between;align-items:center;width:100%;font-size:11px;color:var(--lx-gray-600);gap:12px}
.lc-card-bottom strong{font-size:12px;color:var(--lx-blue-600)}
.lc-available{display:grid;grid-template-columns:1fr 1fr;gap:17px}
.lc-course{background:#fff;border:1px solid var(--lx-gray-200);border-radius:14px;padding:22px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:17px}
.lc-course h3{font-size:17px;color:var(--lx-gray-900);margin:4px 0}
.lc-course p{font-size:12px;color:var(--lx-gray-500);margin:4px 0}
.lc-open{background:var(--lx-blue-600);color:white!important;padding:10px 15px;border-radius:8px;font-size:12px;font-weight:700;display:inline-block}
.lc-open:hover{background:var(--lx-blue-700)}
.lc-note{font-size:12px;line-height:1.8;color:var(--lx-gray-500);margin:24px 0}
.lc-footer{border-top:1px solid var(--lx-gray-200);padding-top:22px;margin-top:35px;color:var(--lx-gray-500);font-size:11px;display:flex;justify-content:space-between;gap:20px}
#lessonCatalog .lc-footer a{text-decoration:underline;text-underline-offset:2px}
.lc-level-heading{display:flex;justify-content:space-between;align-items:center;gap:22px;padding:29px;border:1px solid var(--lx-gray-200);border-radius:16px;background:#fff;margin-bottom:22px}
.lc-level-heading h1{font-size:33px;color:var(--lx-blue-800);letter-spacing:-.035em;line-height:1.2}
.lc-level-heading p{font-size:13px;color:var(--lx-gray-500);margin:10px 0 0;max-width:750px}
.lc-level-heading .lc-eyebrow{font-size:10px;color:var(--lx-green-700);margin-bottom:8px}
.lc-back{display:inline-block;border:1px solid var(--lx-gray-300);background:white;padding:8px 14px;border-radius:8px;font-size:12px;color:var(--lx-gray-700)!important;white-space:nowrap}
.lc-filter-row{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 25px}
.lc-pill{border:1px solid var(--lx-gray-200);border-radius:30px;background:white;color:var(--lx-gray-600);padding:7px 14px;font-size:12px!important;cursor:pointer}
.lc-pill[aria-pressed=true]{background:var(--lx-blue-600);border-color:var(--lx-blue-600);color:white}
.lc-empty{text-align:center;border:1px dashed var(--lx-gray-300);border-radius:14px;padding:42px 20px;background:white}
.lc-empty h2{font-size:22px}
.lc-empty p{font-size:13px;color:var(--lx-gray-500)}
.lc-program-banner{padding:15px 20px;background:var(--lx-green-50);border-left:3px solid var(--lx-green-600);border-radius:8px;font-size:12px;color:var(--lx-green-800);margin:20px 0}
.lc-empty-search{text-align:center;padding:22px;color:var(--lx-gray-500);grid-column:1/-1}
.lc-course-toolbar-link{background:var(--lx-blue-800);color:white;border:1px solid var(--lx-blue-700);border-radius:7px;padding:7px 12px;font-size:12px;text-decoration:none;font-weight:700}
.lc-noscript{background:#fff6dc;color:#6a5525;padding:14px 22px;font-size:13px;border-radius:10px;margin:18px 0}
@media(max-width:1000px){
.lc-grid{grid-template-columns:1fr 1fr}
.lc-course{grid-template-columns:auto 1fr}
.lc-course .lc-open{grid-column:2;justify-self:start}
.lc-hero{padding:32px;gap:20px}
.lc-header-tag{display:none}
}
@media(max-width:650px){
.lc-header-inner{padding:14px 18px}
.lc-brand strong{font-size:17px}
.lc-brand small{font-size:8px}
.lc-header-nav{gap:12px}
.lc-hero-art{display:none}
.lc-header-nav{order:3;flex-basis:100%;flex-wrap:wrap;gap:4px 18px;font-size:14px}
.lc-header-nav a{padding:6px 0}
.lc-header-nav a[aria-current]{padding:6px 0 4px}
.lc-main{padding:20px 16px 40px}
.lc-hero{display:block;padding:30px 24px}
.lc-hero h1{font-size:35px}
.lc-grid,.lc-available{grid-template-columns:1fr}
.lc-section-head{align-items:stretch;flex-direction:column;gap:13px}
.lc-search{min-width:0}
.lc-level-heading{padding:24px;display:block}
.lc-level-heading h1{font-size:29px}
.lc-level-heading .lc-back{margin-top:17px}
.lc-footer{flex-direction:column;gap:5px}
.lc-card{padding:22px}
.lc-course{padding:20px}
.lc-hero-stats{gap:15px}
}
@media print{
.lc-header,.lc-search,.lc-filter-row,.lc-back,.lc-footer{display:none!important}
.lc-main{padding:0}
.lc-hero{background:white;color:#000;border:1px solid #aaa}
.lc-hero p:not(.lc-eyebrow){color:#333}
.lc-hero-art{display:none}
.lc-grid{grid-template-columns:1fr 1fr}
.lc-card,.lc-course{break-inside:avoid}
.lc-section-head{break-after:avoid}
}

/* ---- course shell ---- */
.s5-top{background:#fff;border-bottom:1px solid var(--lx-gray-200);padding:18px max(22px,calc((100% - 1080px)/2));display:flex;gap:22px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.s5-top strong{font-size:20px;color:var(--lx-blue-800)}
.s5-top small{display:block;font-size:10px;letter-spacing:2px;color:var(--lx-gray-500)}
.s5-top a{text-decoration:none;font-size:14px;font-weight:700}
.s5-main{max-width:1080px;margin:auto;padding:32px 22px 70px}
.s5-eyebrow{font-size:12px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:var(--lx-green-700)}
.s5-hero{padding:34px;border-radius:20px;background:linear-gradient(115deg,var(--lx-blue-900),var(--lx-blue-700));color:#fff;margin:18px 0 26px}
.s5-hero h1{color:inherit;font-size:clamp(28px,4vw,43px);line-height:1.18;margin:10px 0 16px}
.s5-hero p{max-width:710px;color:var(--lx-on-dark)}
.s5-hero .s5-eyebrow{color:var(--lx-green-300)}
.s5-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.s5-card{background:#fff;border:1px solid var(--lx-gray-200);border-radius:16px;padding:25px;box-shadow:inset 0 4px 0 var(--lx-green-600)}
.s5-card h2{font-size:22px;line-height:1.3;color:var(--lx-gray-900)}
.s5-card p{font-size:14px;color:var(--lx-gray-600)}
.s5-number{font-size:32px;color:var(--lx-green-700);font-weight:800}
.s5-btn{border:1px solid var(--lx-gray-300);border-radius:8px;padding:10px 16px;background:white;color:var(--lx-gray-700);text-decoration:none;display:inline-block;font-size:14px;font-weight:700;line-height:1.5}
.s5-btn:hover{border-color:var(--lx-gray-400);background:var(--lx-gray-50)}
.s5-actions{display:flex;gap:9px;flex-wrap:wrap;margin:18px 0}
/* LIB-338: the "Menu" dropdown a one-row button group folds into when it does not fit (see course-shell). */
.s5-menu{margin:18px 0}
.s5-menu[hidden]{display:none}
.s5-menu>summary{list-style:none;cursor:pointer;display:inline-block;user-select:none}
.s5-menu>summary::-webkit-details-marker{display:none}
.s5-menu>summary::after{content:" ▾"}
.s5-menu[open]>summary::after{content:" ▴"}
.s5-menu-list{display:flex;flex-direction:column;gap:6px;margin-top:8px;padding:8px;border:1px solid var(--lx-gray-300);border-radius:8px;background:white}
.s5-menu-list .s5-btn{display:block;text-align:left;width:100%;box-sizing:border-box}
.s5-menu-list .s5-meta{padding:2px 4px 4px}
.s5-actions[hidden]{display:none}
.s5-meta{font-size:13px;color:var(--lx-gray-500)}
.s5-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0}
.s5-tabs a{border-radius:9px;text-decoration:none;padding:9px 17px;border:1px solid var(--lx-gray-200);background:white;font-size:14px;font-weight:700}
.s5-tabs a[aria-current="page"]{background:var(--lx-blue-600);border-color:var(--lx-blue-600);color:white!important}
.s5-paper{background:white;border:1px solid var(--lx-gray-200);border-radius:16px;padding:30px;max-width:920px}
.s5-paper h2{font-size:24px;line-height:1.4;margin:32px 0 13px;color:var(--lx-gray-900)}
.s5-paper h2:first-child{margin-top:0}
.s5-paper p{margin:14px 0}
.s5-paper li{margin:9px 0}
.s5-layout{display:grid;grid-template-columns:300px minmax(0,1fr);max-width:1640px;margin:auto;align-items:start}
.s5-layout .s5-main{min-width:0;width:100%;max-width:1120px;padding:30px 30px 70px}
.s5-layout .s5-paper{max-width:none}
#lhSidebar{position:sticky;top:0;background:linear-gradient(145deg,var(--lx-blue-50),var(--lx-gray-50));border-right:1px solid var(--lx-gray-200);padding:28px 18px;min-height:calc(100vh - 88px);max-height:100vh;overflow-y:auto;font:16px/1.5 Arial,sans-serif;color:var(--lx-gray-600)}
#lhSidebar summary{display:none;cursor:pointer;font-weight:700;list-style:none}
#lhSidebar summary::-webkit-details-marker{display:none}
#lhSidebar .s5-side-heading{font-size:12px;letter-spacing:1.2px;font-weight:800;color:var(--lx-gray-500);margin:27px 0 15px}
#lhSidebar a.s5-side-link{display:flex;align-items:flex-start;gap:15px;padding:16px 13px;margin:7px 0;border:1px solid transparent;border-radius:16px;color:var(--lx-gray-700);text-decoration:none;line-height:1.45;transition:background .15s}
#lhSidebar a.s5-side-link:hover{background:var(--lx-gray-100)}
#lhSidebar a.s5-side-link[aria-current="page"]{background:var(--lx-blue-100);border-color:var(--lx-blue-200);color:var(--lx-blue-700)}
#lhSidebar a.s5-side-link[aria-current="true"]{color:var(--lx-blue-700)}
#lhSidebar .s5-side-lessons{list-style:none;margin:-2px 0 10px 47px;padding:0 0 0 12px;border-left:2px solid var(--lx-gray-200)}
#lhSidebar .s5-side-lessons a{display:block;padding:7px 10px;margin:2px 0;border-radius:10px;font-size:14px;line-height:1.4;color:var(--lx-gray-700);text-decoration:none}
#lhSidebar .s5-side-lessons a:hover{background:var(--lx-gray-100)}
#lhSidebar .s5-side-lessons a[aria-current="page"]{background:var(--lx-blue-100);color:var(--lx-blue-700);font-weight:700}
#lhSidebar .s5-side-number{display:grid;place-items:center;flex:0 0 32px;height:36px;border-radius:11px;background:white;box-shadow:0 2px 4px #1f456a18;font-weight:700;color:var(--lx-green-700)}
#lhSidebar .s5-side-label{padding-top:2px;min-width:0}
#lhSidebar small{display:block;font-size:12px;color:var(--lx-gray-500);margin-top:9px}
#lhSidebar .s5-side-done{font-size:12px;color:var(--lx-green-700);margin-top:6px;display:block}
#lhSidebar .s5-progress-card{border:1px solid var(--lx-gray-200);border-radius:18px;background:#fff;padding:22px 18px;margin:28px 0 4px;color:var(--lx-gray-800);font-size:14px;line-height:1.6}
#lhSidebar .s5-progress-card strong{font-size:15px}
#lhSidebar .s5-progress-card p{margin:14px 0 0}
#lhSidebar progress{display:block;width:100%;height:10px;border:0;border-radius:8px;overflow:hidden;margin:17px 0;background:var(--lx-gray-200);accent-color:var(--lx-green-600)}
#lhSidebar progress::-webkit-progress-bar{background:var(--lx-gray-200);border-radius:8px}
#lhSidebar progress::-webkit-progress-value,#lhSidebar progress::-moz-progress-bar{background:var(--lx-green-600);border-radius:8px}
.s5-completion{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin:0 0 22px}
.s5-completion .s5-btn[aria-pressed="true"]{background:var(--lx-green-50);border-color:var(--lx-green-200)}
@media(max-width:700px){
.s5-grid{grid-template-columns:1fr}
.s5-paper{padding:18px}
.s5-hero{padding:24px}
.s5-main{padding:20px 14px 50px}
.s5-top{padding:16px}
.s5-paper h2{font-size:21px}
}
@media(min-width:901px){
#lhSidebar details:not([open])>.s5-side-content{display:block}
}
@media(max-width:1100px) and (min-width:901px){
.s5-layout{grid-template-columns:270px minmax(0,1fr)}
.s5-layout .s5-main{padding:26px 20px 60px}
.s5-layout .s5-grid{grid-template-columns:1fr}
.s5-layout .s5-hero h1{font-size:32px}
}
@media(max-width:900px){
.s5-layout{display:block}
#lhSidebar{position:static;min-height:0;max-height:none;border-right:0;border-bottom:1px solid var(--lx-gray-200);padding:14px 20px}
#lhSidebar summary{display:flex;justify-content:space-between;align-items:center;min-height:34px}
#lhSidebar summary::after{content:'+';font-size:24px}
#lhSidebar details[open] summary::after{content:'−'}
#lhSidebar .s5-progress-card{margin:18px 0 5px}
#lhSidebar .s5-side-heading{margin-top:15px}
.s5-layout .s5-main{padding:22px 18px 60px}
}

/* ---- lesson content ---- */
.lh-prose{--blue:#155eef;--green:#14804a}
.lh-prose img.lib-diagram{display:block;max-width:100%;height:auto;margin:12px auto}
.lh-prose .tab.active{background: white; color: var(--blue); box-shadow: 0 2px 10px rgba(25, 73, 140, .1);}
.lh-prose .btn{min-height: 42px; border: 1px solid #c7d3e4; border-radius: 9px; padding: 8px 14px; background: white; color: #2a4162; font-weight: 800; cursor: pointer;}
.lh-prose .btn:hover{border-color: #8ea6c7;}
.lh-prose .btn-primary{color: white; background: var(--blue); border-color: var(--blue);}
.lh-prose .btn-primary:hover{background: #0d4fd3;}
.lh-prose .btn-answer.active{color: white; background: var(--green); border-color: var(--green);}
.lh-prose .graph-tool.active{color: white; background: #f97316; border-color: #f97316;}
.lh-prose .lesson-nav-btn.active{color: var(--blue); background: white; box-shadow: 0 2px 10px rgba(25,73,140,.1);}
.lh-prose .lesson-section.active{display: block;}
.lh-prose .side-link.active{color: white; background: #155eef;}
.lh-prose .topic-tab.active{color: var(--blue); background: white; box-shadow: 0 2px 9px rgba(25,66,120,.1);}
.lh-prose .topic-pane.active{display: block; animation: lessonIn .25s ease;}
.lh-prose .topic-card{margin-top: 12px; padding: 22px; border: 1px solid #d8e2ef; border-radius: 13px; background: white;}
.lh-prose .topic-card h2,.lh-prose .topic-card h3{color: #153963;}
.lh-prose .topic-card p,.lh-prose .topic-card li{color: #53657d; line-height: 1.65;}
.lh-prose .concept-grid{display: grid; grid-template-columns: repeat(3,1fr); gap: 12px;}
.lh-prose .concept-box{padding: 16px; border: 1px solid #d8e2ef; border-radius: 11px; background: #f8fbff;}
.lh-prose .concept-box b{display: block; margin-bottom: 5px; color: #153963;}
.lh-prose .practice-question .lab-expression{font-size: clamp(17px,2.2vw,21px); line-height: 1.5;}
.lh-prose math.course-math{display: inline-block; margin: 0 .08em; color: #102f63; font-family: "Cambria Math", STIX Two Math, serif; font-size: 1.08em; vertical-align: -.12em;}
.lh-prose math.course-math[display="block"]{display: block; margin: 14px 0; font-size: clamp(21px,3vw,29px);}
.lh-prose .lab-expression{margin: 13px 0; color: #102f63; font-family: "Cambria Math", Cambria, serif; font-size: clamp(21px,3vw,29px); font-weight: 750;}
.lh-prose .division-tutor{margin-top: 18px; padding: 18px; border: 1px solid #c8d8eb; border-radius: 13px; background: #f8fbff;}
.lh-prose .division-tutor__header h2{margin: 0 0 5px; color: #153963;}
.lh-prose .division-tutor__header p{margin: 0; color: #5d6f88;}
.lh-prose .division-method-tabs,.lh-prose .division-example-tabs{display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px;}
.lh-prose .division-method-button,.lh-prose .division-example-button{padding: 9px 13px; border: 1px solid #b9c9dd; border-radius: 8px; color: #294968; background: white; font-weight: 800; cursor: pointer;}
.lh-prose .division-method-button.active,.lh-prose .division-example-button.active{color: white; border-color: #155eef; background: #155eef;}
.lh-prose .division-panel{margin-top: 14px;}
.lh-prose .division-panel[hidden],.lh-prose .division-step[hidden]{display: none;}
.lh-prose .division-problem{padding: 12px 14px; border-left: 4px solid #155eef; color: #102f63; background: white; font-family: "Cambria Math", Cambria, serif; font-size: clamp(19px,2.6vw,27px); font-weight: 750;}
.lh-prose .division-step-list{display: grid; gap: 10px; margin-top: 12px;}
.lh-prose .division-step{padding: 13px 15px; border: 1px solid #d3deec; border-radius: 10px; background: white;}
.lh-prose .division-step h3{margin: 0 0 7px; color: #174b8f; font-size: 15px;}
.lh-prose .division-step p{margin: 5px 0; color: #425978; line-height: 1.55;}
.lh-prose .long-division-wrap{overflow-x: auto; margin-top: 10px; padding: 12px; background: #f3f7fc;}
.lh-prose .long-division-table{width: auto; min-width: 610px; border-collapse: collapse; table-layout: fixed; color: #173b69; font-family: "Cambria Math", Cambria, serif; font-size: clamp(16px,2.2vw,20px);}
.lh-prose .long-division-table col.divisor-column{width: 105px;}
.lh-prose .long-division-table col.term-column{width: 115px;}
.lh-prose .long-division-table td{height: 34px; padding: 3px 12px; text-align: right; white-space: nowrap;}
.lh-prose .long-division-table .ld-quotient td{color: #0d3d78; font-weight: 850;}
.lh-prose .long-division-table .ld-divisor{padding-right: 12px; font-weight: 750;}
.lh-prose .long-division-table .ld-operation{color: #b42318; font-weight: 900; text-align: center;}
.lh-prose .long-division-table .ld-dividend .ld-term,.lh-prose .long-division-table .ld-line{border-top: 2px solid #173b69;}
.lh-prose .long-division-table .ld-dividend .ld-first-term{border-left: 2px solid #173b69;}
.lh-prose .long-division-table .ld-result td{font-weight: 800;}
.lh-prose .long-division-table .ld-zero{color: #0a6b3d; font-weight: 900;}
.lh-prose .synthetic-grid{display: grid; grid-template-columns: 48px repeat(var(--synthetic-columns,4),minmax(58px,1fr)); max-width: 680px; margin-top: 10px; color: #173b69; font-family: "Cambria Math", Cambria, serif; font-size: 18px; text-align: center;}
.lh-prose .synthetic-grid span{padding: 7px 5px; border-bottom: 1px solid #c8d5e5;}
.lh-prose .synthetic-grid .synthetic-c{grid-row: span 3; display: grid; place-items: center; border-right: 2px solid #174b8f; color: #b42318; font-weight: 900;}
.lh-prose .synthetic-grid .synthetic-result{border-top: 2px solid #174b8f; border-bottom: 0; font-weight: 900;}
.lh-prose .synthetic-grid .remainder-cell{color: #b42318; background: #fff2ef;}
.lh-prose .division-controls{display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 14px;}
.lh-prose .division-progress{margin-right: auto; color: #536982; font-size: 12px; font-weight: 850;}
.lh-prose .remainder-check{margin-top: 18px; padding: 16px; border: 1px solid #f0c68e; border-radius: 11px; background: #fff9ed;}
.lh-prose .remainder-check h3{margin: 0 0 7px; color: #7a4600;}
.lh-prose .remainder-check .lab-expression{margin-bottom: 5px; font-size: clamp(18px,2.5vw,25px);}
.lh-prose .school-nav button.active{color: #0d60ea;}
.lh-prose .school-nav button.active::after{content: ""; position: absolute; left: 0; right: 0; bottom: -4px; height: 3px; border-radius: 99px; background: #1c6ff2;}
.lh-prose .rail-lesson.active{color: #075cd9; background: #eaf5ff; font-weight: 850;}
.lh-prose .rail-lesson.active .rail-number{color: white; background: linear-gradient(145deg,#155eef,#2583fb);}
.lh-prose .topic-card{margin-top: 0; border-color: #e0e8f1; border-radius: 12px; box-shadow: 0 8px 22px rgba(40,82,128,.04);}
.lh-prose .topic-footer .btn{min-width: 170px;}
.lh-prose .g6-nav.active{border-color:#c6dafa;background:#e8f1ff;color:#1255ac}
.lh-prose .g6-coursecard .btn{margin-top:15px}
.lh-prose .g6-example{border:1px solid #dce5ef;border-radius:12px;padding:19px 22px;margin:20px 0}
.lh-prose .g6-example h3{color:#1863a8;margin-top:0}
.lh-prose .g6-example li{padding:3px 0}
.lh-prose .g6-tip{background:#fff8e7;border:1px solid #f0dfb3;border-radius:10px;padding:17px 20px;margin:22px 0}
.lh-prose .g6-table{border-collapse:collapse;width:100%;margin:20px 0}
.lh-prose .g6-table td,.lh-prose .g6-table th{border:1px solid #d5e0ee;padding:10px;text-align:left;font-size:14px}
.lh-prose .g6-table th{background:#edf4fd}
.lh-prose .g6-frac{display:inline-flex;vertical-align:middle;flex-direction:column;text-align:center;font-family:Cambria,Georgia,serif;font-size:1.2em;line-height:1.35;margin:0 4px;min-width:24px}
.lh-prose .g6-frac>span:first-child{border-bottom:1.5px solid currentColor;padding:0 5px}
.lh-prose .g6-frac>span:last-child{padding:0 5px}
.lh-prose .g6-repeat{text-decoration:overline;text-decoration-thickness:1px}
.lh-prose .g6-controls .btn{font-size:12px}
.lh-prose .s5-callout{background:var(--lx-green-50);border-left:4px solid var(--lx-green-600);padding:18px 22px;border-radius:5px;margin:20px 0}
.lh-prose .s5-callout p:last-child{margin-bottom:0}
.lh-prose .s5-gallery{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.lh-prose .s5-gallery figure{margin:0;background:var(--lx-gray-100);border-radius:12px;padding:16px}
.lh-prose .s5-gallery img{height:210px;width:100%;object-fit:contain;background:white}
.lh-prose .s5-gallery figcaption{font-size:12px;line-height:1.6;margin-top:10px}
.lh-prose .s5-objectives{padding:24px;border:1px solid var(--lx-blue-200);border-radius:14px;background:var(--lx-blue-50);margin-bottom:26px}
.lh-prose .s5-objectives ol{padding-left:24px}
.lh-prose .s5-objectives li{padding-left:5px}
.lh-prose .s5-objectives li::marker{font-weight:800;color:var(--lx-blue-600)}
.lh-prose .s5-diagram-tag{font-size:11px;letter-spacing:1.4px;font-weight:800;color:var(--lx-gray-600);display:block}
.lh-prose .s5-concept{border:1px solid var(--lx-gray-200);border-radius:16px;padding:24px;margin:25px 0 35px;background:var(--lx-gray-50);break-inside:avoid}
.lh-prose .s5-concept>p,.lh-prose .s5-map-return strong,.lh-prose .s5-map-return b,.lh-prose .s5-control-band b{font-size:14px}
.lh-prose .s5-map-flow{display:grid;grid-template-columns:minmax(0,1fr) 22px minmax(0,1fr) 22px minmax(0,1fr);align-items:stretch;gap:5px;margin:23px 0}
.lh-prose .s5-map-node{border:1px solid var(--lx-gray-200);border-top:4px solid var(--lx-green-600);background:white;border-radius:12px;padding:15px;min-width:0}
.lh-prose .s5-map-node:nth-of-type(2){border-top-color:#4e87b8}
.lh-prose .s5-map-node:nth-of-type(3){border-top-color:#ba9050}
.lh-prose .s5-map-kicker{font-size:10px;font-weight:800;letter-spacing:.7px;color:var(--lx-gray-600);display:block}
.lh-prose .s5-map-arrow{align-self:center;justify-self:center;color:var(--lx-gray-400);font-size:23px;font-weight:bold}
.lh-prose .s5-map-arrow::before{content:'→'}
.lh-prose .s5-map-return{display:flex;align-items:flex-start;gap:13px;padding:16px;background:var(--lx-green-50);border-radius:11px;border:1px dashed var(--lx-green-200)}
.lh-prose .s5-map-return>span{font-size:27px;line-height:1.3;color:var(--lx-green-700);flex-shrink:0}
.lh-prose .s5-control-band{padding:17px;background:var(--lx-blue-50);border-radius:12px;color:var(--lx-gray-700)}
.lh-prose .s5-control-pills{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0}
.lh-prose .s5-control-pills span{background:white;border:1px solid var(--lx-blue-200);border-radius:18px;padding:5px 11px;font-size:12px}
.lh-prose .s5-volume-pair{display:grid;grid-template-columns:minmax(0,1fr) 25px minmax(0,1fr);gap:12px;align-items:center;margin:22px 0}
.lh-prose .s5-volume-pair figure{margin:0;padding:13px;background:white;border:1px solid var(--lx-gray-200);border-radius:12px;min-width:0}
.lh-prose .s5-volume-pair figcaption{font-size:12px;line-height:1.5;color:var(--lx-gray-600)}
.lh-prose .s5-volume-pair svg{display:block;width:100%;height:auto;max-height:230px}
.lh-prose .s5-volume-equation{display:flex;justify-content:space-around;align-items:center;gap:9px;text-align:center;padding:17px 8px;background:var(--lx-blue-50);border-radius:10px;font-size:12px;color:var(--lx-gray-600)}
.lh-prose .s5-volume-equation b{font-size:21px;color:var(--lx-blue-700)}
.lh-prose .s5-review{margin:36px 0 24px;padding:26px;border:1px solid var(--lx-green-200);border-top:5px solid var(--lx-green-600);border-radius:15px;background:var(--lx-green-50)}
.lh-prose .s5-review-ideas{padding-left:21px;font-size:14px;line-height:1.7}
.lh-prose .s5-review-ideas li::marker{color:var(--lx-green-600)}
.lh-prose .s5-glossary{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;margin:0;background:white;border:1px solid var(--lx-gray-200);border-radius:11px;padding:8px 18px}
.lh-prose .s5-glossary>div{padding:13px 0;border-bottom:1px solid var(--lx-gray-100);break-inside:avoid;min-width:0}
.lh-prose .s5-glossary dt{font-weight:800;color:var(--lx-green-800);font-size:14px;margin:0 0 4px}
.lh-prose .s5-glossary dd{font-size:13px;line-height:1.65;color:var(--lx-gray-600);margin:0}
.lh-prose .s5-review-reminder{padding:18px;margin-top:22px;background:var(--lx-blue-50);border-radius:10px;color:var(--lx-gray-700);font-size:14px}
.lh-prose .s5-review-reminder ul{padding-left:18px;margin:9px 0 0}
.lh-prose .s5-review-reminder li{font-size:13px;line-height:1.6}
.lh-prose table{width:100%;border-collapse:collapse;font-size:14px;margin:20px 0;overflow-wrap:anywhere}
.lh-prose th,.lh-prose td{border:1px solid var(--lx-gray-200);padding:11px;text-align:left;vertical-align:top}
.lh-prose th{background:var(--lx-gray-100)}
/* overflow-wrap:anywhere on the table lets auto layout shrink a column to one character ("Sec/tio/n 1").
   break-word on cells keeps words whole; the first column gets a floor so labels like "Section 1" fit. */
.lh-prose th,.lh-prose td{overflow-wrap:break-word}
.lh-prose th:first-child,.lh-prose td:first-child{min-width:6.5em}
.lh-prose caption{text-align:left;font-size:13px;color:var(--lx-gray-500);padding:7px}
@media (max-width: 850px){
.lh-prose .concept-grid{grid-template-columns: 1fr;}
.lh-prose .division-controls{align-items: stretch;}
.lh-prose .division-progress{width: 100%;}
}
@media (max-width: 620px){
.lh-prose .btn{flex: 1;}
}
@media (max-width: 860px){
.lh-prose .topic-footer .btn{justify-self: stretch; width: 100%;}
}
@media (max-width: 560px){
.lh-prose .topic-card{padding: 17px;}
}
@media(max-width:700px){
.lh-prose .s5-gallery{grid-template-columns:1fr}
.lh-prose table{font-size:12px}
.lh-prose th,.lh-prose td{padding:7px}
}
@media(max-width:1150px) and (min-width:901px),(max-width:650px){
.lh-prose .s5-map-flow{grid-template-columns:1fr;gap:9px}
.lh-prose .s5-map-arrow::before{content:'↓'}
.lh-prose .s5-volume-pair{grid-template-columns:1fr}
.lh-prose .s5-volume-pair figure{width:100%}
.lh-prose .s5-volume-pair svg{max-height:225px}
.lh-prose .s5-concept,.lh-prose .s5-objectives,.lh-prose .s5-map-node{padding:17px}
.lh-prose .s5-volume-equation{gap:5px;font-size:10px}
.lh-prose .s5-volume-equation b{font-size:18px}
}
@media(max-width:1100px) and (min-width:901px),(max-width:650px){
.lh-prose .s5-review{padding:18px}
.lh-prose .s5-glossary{grid-template-columns:1fr;padding:5px 15px}
.lh-prose .s5-glossary>div:last-child{border-bottom:0}
}

/* Hub additions: the course shell's page base (the source file set these on
   its body) and table rules, scoped to the hub. */
body.lh-body{margin:0;background:var(--lx-gray-50)}
#lhCourse{font-family:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;color:var(--lx-gray-900);line-height:1.7;background:var(--lx-gray-50);min-height:100vh}
#lhCourse *{box-sizing:border-box}
#lhCourse a{color:var(--lx-blue-600)}
/* "#lhCourse a" outranks class rules, so link-styled controls restate their
   text colour here; a button's text must never inherit the link colour. */
#lhCourse a.s5-btn,#lhCourse .s5-tabs a{color:var(--lx-gray-700)}
#lhCourse a.s5-btn.primary,#lhCourse .s5-tabs a[aria-current="page"]{color:#fff}
#lhCourse a:focus-visible{outline:3px solid var(--lx-focus);outline-offset:3px}
#lhCourse table{width:100%;border-collapse:collapse;font-size:14px;margin:20px 0;overflow-wrap:anywhere}
#lhCourse th,#lhCourse td{border:1px solid var(--lx-gray-200);padding:11px;text-align:left;vertical-align:top}
#lhCourse th{background:var(--lx-gray-100)}
#lhCourse caption{text-align:left;font-size:13px;color:var(--lx-gray-500);padding:7px}
.lh-unit-title{font-size:13px;font-weight:800;letter-spacing:.06em;color:var(--lx-gray-500);margin:26px 0 10px;text-transform:uppercase}
.lh-lock{text-align:center;border:1px dashed var(--lx-gray-300);border-radius:14px;padding:38px 22px;background:var(--lx-gray-50)}
.lh-lock h2{margin:8px 0 10px!important}
.lh-lock p{color:var(--lx-gray-600);max-width:560px;margin:10px auto!important}
.lh-lock-icon{font-size:30px;line-height:1}
.lh-tab-locked::after{content:" \1F512";font-size:12px}
.lh-exam-row{border:1px solid var(--lx-gray-200);border-radius:12px;padding:16px;margin:14px 0;display:flex;gap:12px;flex-wrap:wrap;align-items:center;justify-content:space-between}
.lh-exam-meta{color:var(--lx-gray-600);font-size:14px;margin-top:4px}
@media(max-width:700px){#lhCourse table{font-size:12px}#lhCourse th,#lhCourse td{padding:7px}}
/* Practice (LIB-140) — the lesson file's Grade 6 and Grade 5 exercise styles. */
.g6-exercise-list{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.g6-question{border:1px solid var(--lx-gray-200);padding:18px;border-radius:12px;min-width:0;background:white}
.g6-question.g6-word{grid-column:1/-1}
.g6-question-top{display:flex;align-items:flex-start;gap:10px}
.g6-num{background:var(--lx-blue-100);color:var(--lx-blue-700);min-width:26px;height:26px;text-align:center;border-radius:6px;font-weight:800;font-size:12px;line-height:26px}
.g6-prompt{font-size:18px;font-weight:650;line-height:1.5;overflow-wrap:anywhere}
.g6-instruction{font-size:11px;color:var(--lx-gray-500);margin:12px 0!important}
.g6-answer-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.g6-answer{width:150px!important;max-width:100%;min-height:40px;border:1px solid var(--lx-gray-300);border-radius:7px;padding:7px 10px;background:white;font:inherit}
select.g6-answer{width:230px!important}
.g6-feedback{font-size:12px;min-height:20px;color:var(--lx-gray-600);margin:8px 0 0!important}
.g6-feedback.good{color:var(--lx-green-700)}
.g6-feedback.bad{color:#b24334}
.g6-question details{font-size:12px;color:var(--lx-gray-500);margin-top:8px}
.g6-question summary{cursor:pointer}
.s5-question{border:1px solid var(--lx-gray-200);border-radius:10px;padding:20px;margin:18px 0}
.s5-question legend{font-weight:700;line-height:1.6;padding:0 6px;max-width:100%}
.s5-option{display:flex;gap:12px;padding:10px;margin:5px 0;border-radius:6px;background:var(--lx-gray-100);cursor:pointer}
.s5-option input{margin-top:7px;flex-shrink:0;accent-color:var(--lx-blue-600)}
.s5-question textarea{width:100%;min-height:110px;border:1px solid var(--lx-gray-300);padding:12px;border-radius:7px;font:inherit;resize:vertical}
.s5-question .lh-ident-answer{display:block;width:100%;max-width:420px;margin-top:6px;border:1px solid var(--lx-gray-300);padding:10px 12px;border-radius:7px;font:inherit;background:#fff;color:var(--lx-gray-900)}
.s5-question .lh-ident-answer:focus{outline:2px solid var(--lx-blue-600);outline-offset:1px}
.lh-reshuffle{text-align:center;border-top:4px solid var(--lx-green-600)}
.lh-reshuffle .s5-actions{justify-content:center}
.s5-feedback{padding:12px;border-radius:7px;margin-top:12px;background:var(--lx-green-50)}
.s5-feedback.miss{background:#fff1df}
.s5-result{background:var(--lx-green-50);border:1px solid var(--lx-green-200);border-radius:10px;padding:18px;margin:20px 0}
.s5-result.warn{background:#fff1df;border-color:#e2b98a}
button.s5-btn{cursor:pointer;font-family:inherit}
.s5-btn.primary{background:var(--lx-blue-600);border-color:var(--lx-blue-600);color:white}
.s5-btn.primary:hover{background:var(--lx-blue-700);border-color:var(--lx-blue-700)}
.lh-practice-set{margin-top:26px}
.lh-practice-group{grid-column:1/-1;margin:14px 0 0!important;font-size:15px}
.lh-record{display:flex;gap:18px;flex-wrap:wrap;align-items:center;border:1px solid var(--lx-gray-200);border-radius:10px;padding:12px 16px;margin:16px 0;background:var(--lx-gray-50);font-size:13px;color:var(--lx-gray-700)}
.lh-record b{color:var(--lx-gray-900)}
@media(max-width:700px){.g6-exercise-list{grid-template-columns:1fr}.s5-question{padding:12px}}
.lh-practice-set .g6-frac{display:inline-flex;vertical-align:middle;flex-direction:column;text-align:center;font-family:Cambria,Georgia,serif;font-size:1.2em;line-height:1.35;margin:0 4px;min-width:24px}
.lh-practice-set .g6-frac>span:first-child{border-bottom:1.5px solid currentColor;padding:0 5px}
.lh-practice-set .g6-frac>span:last-child{padding:0 5px}
.lh-practice-set .g6-repeat{text-decoration:overline;text-decoration-thickness:1px}

/* ---- training catalog: "Available courses" (TRN-156) ---- */
.lc-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.lt-hero{background:linear-gradient(115deg,var(--lx-blue-900),var(--lx-blue-700));border-radius:18px;color:#fff;padding:34px 36px;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);gap:28px;align-items:end}
.lt-hero .lc-eyebrow{color:var(--lx-green-300)}
.lt-hero h1{font-size:clamp(28px,3.6vw,40px);line-height:1.15;letter-spacing:-.035em;margin:0}
.lt-hero p:not(.lc-eyebrow){color:var(--lx-on-dark);font-size:13px;line-height:1.8;margin:12px 0 0;max-width:620px}
.lt-search{display:flex;background:#fff;border-radius:10px;padding:5px;gap:6px}
.lt-search input{flex:1;min-width:0;border:0!important;outline:none;padding:9px 10px;font-size:13px!important;color:var(--lx-gray-900);background:transparent}
.lt-search button{border:0;border-radius:7px;background:var(--lx-blue-600);color:#fff;font-weight:700;font-size:12px;padding:0 16px;cursor:pointer}
.lt-search button:hover{background:var(--lx-blue-700)}
.lt-segments{display:flex;gap:10px;overflow-x:auto;margin:20px 0 22px;padding-bottom:4px}
.lt-segments a{flex:0 0 auto;display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--lx-gray-200);border-radius:12px;padding:9px 14px 9px 10px;font-size:13px;font-weight:700}
.lt-segments a:first-child{padding-left:14px}
.lt-segments a small{display:block;font-size:10px;font-weight:600;color:var(--lx-gray-500)}
.lt-segments .lc-icon{width:32px;height:32px;border-radius:9px}
.lt-segments .lc-icon svg{width:18px;height:18px}
.lt-segments a[aria-current]{border-color:var(--lx-blue-800);background:var(--lx-blue-800)}
.lt-segments a[aria-current] small{color:var(--lx-on-dark-muted)}
.lt-segments a[aria-current] .lc-icon{background:var(--lx-blue-700);color:#fff}
#lessonCatalog .lt-segments a{color:var(--lx-gray-700)}
#lessonCatalog .lt-segments a[aria-current]{color:#fff}
.lt-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:22px;align-items:start}
.lt-filters{background:#fff;border:1px solid var(--lx-gray-200);border-radius:14px;padding:16px 18px;position:sticky;top:16px}
.lt-filters fieldset{border:0;border-bottom:1px solid var(--lx-gray-100);margin:0 0 12px;padding:0 0 12px}
.lt-filters legend{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--lx-gray-600);margin-bottom:6px}
.lt-filters label{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--lx-gray-700);padding:3px 0;cursor:pointer}
.lt-filters input[type=radio]{accent-color:var(--lx-blue-600)}
.lt-filter-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}
.lt-filter-actions button{border:0;border-radius:8px;background:var(--lx-blue-600);color:#fff;font-weight:700;font-size:12px;padding:8px 12px;cursor:pointer}
.lt-filter-actions a{font-size:12px;color:var(--lx-blue-600)!important}
.lt-count{font-size:13px;color:var(--lx-gray-500);margin:0 0 12px}
.lt-count strong{color:var(--lx-blue-800)}
.lt-row{background:#fff;border:1px solid var(--lx-gray-200);border-radius:14px;padding:18px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:18px;align-items:center;margin-bottom:12px;transition:border-color .16s,box-shadow .16s}
.lt-row:hover{border-color:var(--lx-blue-300);box-shadow:0 8px 20px #17395b0d}
.lt-tile .lc-icon{width:64px;height:64px;border-radius:14px;background:var(--lx-blue-50);color:var(--lx-blue-800)}
.lt-tile .lc-icon svg{width:30px;height:30px}
.lt-kicker{font-size:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--lx-green-700);margin:0}
.lt-row h3{font-size:17px;line-height:1.35;color:var(--lx-gray-900);margin:3px 0}
.lt-row h3 a:hover{text-decoration:underline}
.lt-provider{font-size:12px;color:var(--lx-gray-500);margin:0}
.lt-desc{font-size:12px;color:var(--lx-gray-500);margin:6px 0 8px;line-height:1.7}
.lt-facts{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0}
.lt-facts li{font-size:11px;color:var(--lx-gray-700);background:var(--lx-gray-100);border-radius:6px;padding:3px 8px}
.lt-cta{display:flex;flex-direction:column;align-items:flex-end;gap:9px;text-align:right}
.lt-free{font-size:11px;font-weight:800;color:var(--lx-green-800);background:var(--lx-green-100);border-radius:6px;padding:4px 9px}
@media(max-width:1000px){
.lt-hero{grid-template-columns:1fr;align-items:start}
.lt-layout{grid-template-columns:1fr}
.lt-filters{position:static;display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:4px 18px}
.lt-filters fieldset{border-bottom:0;margin:0}
.lt-filter-actions{grid-column:1/-1}
.lt-row{grid-template-columns:auto minmax(0,1fr)}
.lt-cta{grid-column:2;flex-direction:row;align-items:center;flex-wrap:wrap;text-align:left}
}
@media(max-width:650px){
.lt-hero{padding:26px 20px}
.lt-row{grid-template-columns:1fr;padding:16px}
.lt-tile{display:none}
.lt-cta{grid-column:1}
}

/* ---- training course: free preview and the subscribe lock (TRN-156) ---- */
.lt-paywall .lh-lock-icon{font-size:30px}
.lt-paywall .s5-btn[aria-disabled=true]{opacity:.65;cursor:not-allowed}
.lt-preview-note{border-left:4px solid var(--lx-green-600);background:var(--lx-green-50);padding:10px 14px;border-radius:8px;font-size:14px;margin:0 0 16px}
.s5-side-link .lt-lock-mark{margin-left:auto;font-size:12px;opacity:.7}
.s5-card .lt-free{display:inline-block;margin-bottom:6px}
/* LIB-269: a school user's hub — their school's name in the header, locked cards, the quiz button */
.lc-header-school{padding:7px 14px;border:1px solid var(--lx-blue-200,#bfdbfe);border-radius:30px;font-size:13px;font-weight:700;color:var(--lx-blue-800);background:var(--lx-blue-50,#eff6ff);max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* LIB-289: the same header tops the course shell; restate the catalog base rules
   it relies on, since "#lhCourse a" and the shell's line height outrank them */
#lhCourse .lc-header{line-height:1.6}
#lhCourse .lc-header [hidden]{display:none!important}
#lhCourse .lc-header a{color:inherit;text-decoration:none}
#lhCourse .lc-header-nav a[aria-current]{color:var(--lx-blue-600)}
#lhCourse .lc-header button,#lhCourse .lc-header input{font-family:inherit}
#lhCourse .lc-header button:focus-visible,#lhCourse .lc-header input:focus-visible{outline:3px solid var(--lx-focus);outline-offset:4px}
.lc-card.is-locked{background:var(--lx-gray-50);cursor:default}
.lc-card.is-locked:hover{border-color:var(--lx-gray-200);transform:none;box-shadow:none}
.lc-card.is-locked h3,.lc-card.is-locked p{color:var(--lx-gray-500)}
.s5-btn[aria-disabled=true]{opacity:.65;cursor:not-allowed}
.lh-quiz-progress{flex-basis:100%;margin:0}
/* LIB-278: Log in / Log out at the far right of the header, with its small sign-in form */
.lc-header-end{display:flex;align-items:center;gap:12px;min-width:0}
.lc-header-end .lc-header-school{max-width:min(320px,45vw)}
.lc-account{position:relative;margin:0;flex-shrink:0}
.lc-account-btn{display:inline-block;padding:8px 16px;border:1px solid var(--lx-blue-700);border-radius:30px;background:var(--lx-blue-800);color:white!important;font-size:13px;font-weight:700;cursor:pointer;line-height:1.2;white-space:nowrap}
.lc-account-btn:hover{background:var(--lx-blue-700)}
form.lc-account .lc-account-btn{background:white;color:var(--lx-blue-800)!important;border-color:var(--lx-blue-200)}
form.lc-account .lc-account-btn:hover{background:var(--lx-blue-50)}
.lc-login{position:absolute;right:0;top:calc(100% + 10px);z-index:30;width:300px;max-width:calc(100vw - 32px);background:white;border:1px solid var(--lx-gray-200);border-radius:14px;box-shadow:0 18px 40px rgba(15,47,87,.16);padding:18px;display:grid;gap:12px}
.lc-login-field{display:grid;gap:5px;font-size:12px;font-weight:700;color:var(--lx-gray-700)}
.lc-login-field input{width:100%;border:1px solid var(--lx-gray-300);border-radius:8px;padding:9px 11px;font-size:14px;font-weight:400;color:var(--lx-gray-900);background:white}
.lc-login-field input:focus-visible{outline:3px solid var(--lx-focus);outline-offset:1px}
.lc-login-schools{list-style:none;margin:-6px 0 0;padding:4px;border:1px solid var(--lx-gray-200);border-radius:8px;max-height:200px;overflow:auto;background:white}
.lc-login-schools li{padding:7px 9px;border-radius:6px;font-size:13px;cursor:pointer}
.lc-login-schools li small{display:block;font-size:11px;color:var(--lx-gray-500)}
.lc-login-schools li:hover,.lc-login-schools li:focus{background:var(--lx-blue-50);outline:none}
.lc-login-hint{margin:-6px 0 0;font-size:11px;color:var(--lx-gray-500)}
.lc-login-hint:empty{display:none}
.lc-login-error{margin:0;padding:8px 10px;border-radius:8px;background:#fdecec;color:#9b1c1c;font-size:12px}
.lc-login-submit{border:0;border-radius:8px;padding:10px;background:var(--lx-blue-800);color:white;font-size:14px;font-weight:700;cursor:pointer}
.lc-login-submit:hover{background:var(--lx-blue-700)}
@media(max-width:650px){.lc-header-inner{flex-wrap:wrap;row-gap:10px}.lc-header-end{gap:8px;margin-left:auto}.lc-account-btn{padding:7px 12px}}
/* LIB-288: a signed-in student's own details in the middle of the header; the school pill and Log in / Log out share one height (#lessonCatalog button{font:inherit} outranked the button's own size) */
.lc-header-student{flex:1 1 auto;min-width:0;margin:0;display:flex;flex-wrap:wrap;justify-content:center;gap:2px 10px;font-size:13px;color:var(--lx-gray-600);text-align:center}
.lc-header-student span{white-space:nowrap}
.lc-header-student span+span::before{content:"|";margin-right:10px;color:var(--lx-gray-300)}
.lc-header-student-name{font-weight:700;color:var(--lx-blue-800);overflow:hidden;text-overflow:ellipsis;max-width:100%}
.lc-header-school,.lc-account-btn,#lessonCatalog .lc-account-btn{box-sizing:border-box;height:34px;padding-top:7px;padding-bottom:7px;font-size:13px;font-weight:700;line-height:18px}
@media(max-width:1000px){.lc-header-inner:has(.lc-header-student){flex-wrap:wrap;row-gap:10px}.lc-header-student{order:3;flex-basis:100%;justify-content:flex-start;text-align:left}}
@media(max-width:650px){.lc-header-student{font-size:12px}.lc-header-student .lc-header-student-name{flex-basis:100%}.lc-header-student .lc-header-student-name+span::before{content:none}}

/* LIB-334: the lessons of a topic that holds several. */
.lh-prose figure{margin:16px 0;text-align:center}
.lh-prose figcaption{margin-top:6px;font-size:14px;color:#53657d}
