.ml-page{--ml-line:var(--sa-line);--ml-soft:var(--sa-soft);--ml-muted:#56646b;padding-bottom:80px}
html[data-theme=dark] .ml-page{--ml-muted:#d0d4d7}
.ml-page [hidden]{display:none!important}.ml-wrap{width:calc(100% - 96px);max-width:1200px;margin-inline:auto}
.ml-page p{color:var(--sa-ink)}.ml-page a:hover{color:var(--sa-accent-ink)}
.ml-review{background:var(--sa-soft);border-bottom:1px solid var(--sa-line);font-size:13px}
.ml-review-inner{display:flex;align-items:center;gap:14px;padding-block:12px;flex-wrap:wrap}
.ml-review strong{font-weight:700}.ml-review span{color:var(--ml-muted)}.ml-review label{margin-left:auto;display:flex;align-items:center;gap:8px}
.ml-review select,.ml-filters input,.ml-filters select{background:var(--sa-surface);color:var(--sa-ink);border:1px solid var(--sa-line);border-radius:5px;padding:10px 12px;font:inherit;min-height:44px;max-width:100%}
.ml-heading{padding-block:48px 34px;display:flex;align-items:end;justify-content:space-between;gap:36px}
.ml-eyebrow{font-size:12px;letter-spacing:.13em;text-transform:uppercase;font-weight:700;margin-bottom:16px;color:var(--sa-accent-ink)!important}
.ml-heading h1{font-size:clamp(38px,4.4vw,66px);font-weight:600;letter-spacing:-.045em;line-height:1.08;max-width:750px}
.ml-heading h1 em{font-style:normal;color:var(--sa-accent-ink)}.ml-heading>p{max-width:340px;font-size:17px;line-height:1.65}

.ml-subnav span{align-self:center;margin-left:auto;font-size:12px;color:var(--ml-muted);font-weight:400}
.ml-feature{padding-block:38px 50px;border-bottom:1px solid var(--ml-line)}
.ml-feature-inner{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.ml-status{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ml-muted)!important;margin-bottom:20px}
.ml-badge{display:inline-flex;align-items:center;gap:10px;font-size:14px;font-weight:700;margin-bottom:18px}
.ml-badge b{background:var(--lesson);color:white;width:36px;height:36px;display:grid;place-items:center;border-radius:5px;font-size:21px}
.ml-feature h2{font-size:clamp(34px,3.8vw,51px);line-height:1.1;letter-spacing:-.04em;font-weight:600;margin-bottom:22px}
.ml-question{font-size:22px;line-height:1.5;font-weight:500;margin-bottom:16px}
.ml-summary{font-size:17px;line-height:1.7;color:var(--ml-muted)!important;max-width:500px}
.ml-meta{font-size:13px;color:var(--ml-muted)!important;display:flex;gap:16px;margin:0 0 18px;flex-wrap:wrap}
.ml-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:28px}
.ml-button{display:inline-flex;justify-content:center;align-items:center;min-height:46px;padding:11px 18px;border-radius:4px;border:1px solid var(--sa-line);font-size:14px;font-weight:700;text-decoration:none;background:var(--sa-surface);color:var(--sa-ink);cursor:pointer}
.ml-button-primary{background:var(--sa-red);color:#fff!important;border-color:var(--sa-red)}.ml-button-primary:hover{background:var(--sa-red-hover)}
.ml-art{margin:0}.ml-art a{display:block}.ml-art img{width:100%;height:auto;aspect-ratio:1;border:1px solid var(--ml-line);border-radius:3px;box-shadow:0 15px 35px #00000009;object-fit:contain;background:#faf8f3}
.ml-art figcaption{font-size:12px;margin-top:10px;color:var(--ml-muted);text-align:center}
.ml-coming{background:var(--sa-surface);border:1px solid var(--ml-line);padding:42px;display:grid;grid-template-columns:1.15fr 1fr;gap:60px;align-items:center;position:relative;overflow:hidden}
.ml-coming:before{position:absolute;top:0;left:0;right:0;height:5px;content:'';background:linear-gradient(90deg,#C93636,#B85D00,#927200,#2E7D32,#286CC5,#4940A6,#783FB0)}
.ml-coming h1,.ml-coming h2{font-size:clamp(32px,3.5vw,48px);max-width:450px}.ml-coming p:not(.ml-status){font-size:17px;line-height:1.7}.ml-coming .ml-first{margin-top:24px;padding-top:20px;border-top:1px solid var(--ml-line);font-size:14px}
.ml-week{list-style:none;margin:0;padding:0;display:grid;gap:0}.ml-week li{display:flex;align-items:center;gap:14px;padding:10px 0;border-bottom:1px solid var(--ml-line);font-size:15px}.ml-week li:last-child{border-bottom:0}.ml-week b{color:#fff;background:var(--lesson);width:34px;height:34px;display:grid;place-items:center;font-size:20px;border-radius:4px}.ml-week span{margin-left:auto;font-size:12px;color:var(--ml-muted)}
.ml-archive{padding-top:48px;scroll-margin-top:24px}.ml-section-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:24px}.ml-section-heading h2{font-size:34px;font-weight:600}.ml-section-heading p{font-size:15px;color:var(--ml-muted);margin-top:10px;max-width:650px}.ml-count{font-size:13px;white-space:nowrap;color:var(--ml-muted)}
.ml-filters{display:grid;grid-template-columns:1fr 240px;gap:16px;margin-bottom:28px}.ml-filters label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700}.ml-filters input,.ml-filters select{width:100%;font-size:16px;font-weight:400;min-height:48px}
.ml-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 26px}.ml-card{min-width:0}.ml-card a{text-decoration:none}.ml-card img{width:100%;aspect-ratio:1;object-fit:contain;background:#faf8f3;border:1px solid var(--ml-line);border-radius:3px;transition:transform .2s}.ml-card a:hover img{transform:translateY(-3px)}.ml-card-info{padding:17px 0}.ml-card .ml-meta{font-size:12px;gap:10px;margin-bottom:9px}.ml-card h3{font-size:22px;line-height:1.2;letter-spacing:-.025em;margin:0 0 10px}.ml-card-info>p{font-size:14px;color:var(--ml-muted);line-height:1.5}.ml-card-link{font-size:13px;font-weight:700;display:inline-block;margin-top:14px}
.ml-empty{border-top:1px solid var(--ml-line);border-bottom:1px solid var(--ml-line);padding:40px 0;max-width:720px}.ml-empty h3{font-size:23px;margin-bottom:12px}.ml-empty p{font-size:16px;color:var(--ml-muted)}
.ml-load{margin:30px auto 0;display:block}.ml-note{margin-top:48px;padding-top:24px;border-top:1px solid var(--ml-line);display:flex;justify-content:space-between;gap:30px;font-size:13px;color:var(--ml-muted)}.ml-note p{color:var(--ml-muted)}
.ml-detail{padding-top:34px}.ml-back{font-size:14px;font-weight:700;text-decoration:none;display:inline-block;margin-bottom:30px}.ml-detail-heading{max-width:920px;padding-bottom:30px}.ml-detail-heading h1{font-size:clamp(36px,4.2vw,58px);font-weight:600;margin-bottom:20px;line-height:1.1}.ml-detail-heading>p{font-size:20px;color:var(--ml-muted)}
.ml-article{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:50px;align-items:start}.ml-article-visual{position:sticky;top:24px}.ml-reading{font-size:18px;line-height:1.75}.ml-reading section{padding-bottom:27px}.ml-reading h2{font-size:14px;letter-spacing:.04em;line-height:1.4;font-weight:700;margin-bottom:10px;display:flex;gap:10px;align-items:center}.ml-reading h2 span{font-size:22px;letter-spacing:0}.ml-reading section p{font-size:18px;line-height:1.75}.ml-reading .ml-activity{background:var(--sa-soft);border-left:4px solid var(--lesson);padding:24px;margin-bottom:26px}.ml-sources{border-top:1px solid var(--ml-line);padding-top:20px;font-size:14px}.ml-sources summary{font-weight:700;cursor:pointer}.ml-sources ul{padding-left:20px;overflow-wrap:anywhere}.ml-hashtags{font-size:13px;color:var(--ml-muted)!important}.ml-feedback{font-size:13px;min-height:24px;margin-top:12px!important;color:var(--ml-muted)!important}
.ml-reading h2{color:var(--sa-accent-ink)}
.ml-pdf-link{display:inline-block;font-size:13px;font-weight:700;text-underline-offset:4px;padding:0 0 14px}
.ml-download-note{font-size:13px!important;line-height:1.55;color:var(--ml-muted)!important;margin-top:14px}
.ml-welcome h2{font-size:clamp(30px,3vw,43px);line-height:1.15}
.ml-intro-body{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);gap:64px;align-items:start}
.ml-intro-copy>p{font-size:18px;line-height:1.8;margin-bottom:24px}
.ml-intro-copy h2{font-size:26px;line-height:1.25;margin:38px 0 20px}
.ml-intro-week{padding:26px;background:var(--sa-soft);border:1px solid var(--ml-line)}
.ml-intro-week h2{font-size:22px;margin-bottom:14px}.ml-intro-week>p{font-size:13px;margin-top:24px}
.ml-steps{list-style:none;padding:0;margin:0 0 24px;display:flex;flex-wrap:wrap;gap:10px}
.ml-steps li{display:flex;gap:8px;align-items:center;padding:9px 12px;border:1px solid var(--ml-line);border-radius:4px;font-size:14px}.ml-steps strong{color:var(--sa-accent-ink)}
.ml-intro-signoff{margin-top:36px;font-size:16px!important;color:var(--ml-muted)!important}
.ml-page button:focus-visible,.ml-page input:focus-visible,.ml-page select:focus-visible,.ml-page a:focus-visible{outline:3px solid var(--sa-focus);outline-offset:3px}
@media(max-width:760px){.ml-intro-body{grid-template-columns:1fr;gap:36px}.ml-intro-copy>p{font-size:17px}.ml-intro-week{padding:22px}.ml-welcome .ml-actions{align-items:stretch}.ml-welcome .ml-button{flex:1}}
@media(max-width:1000px){.ml-wrap{width:calc(100% - 64px)}.ml-feature-inner{gap:32px}.ml-coming{padding:30px;gap:30px}.ml-heading{align-items:start}.ml-heading>p{max-width:270px}.ml-article{gap:30px}.ml-grid{gap:25px 20px}}
@media(max-width:760px){.ml-wrap{width:calc(100% - 40px)}.ml-heading{display:block;padding-block:34px 26px}.ml-heading>p{max-width:550px;margin-top:22px;font-size:16px}.ml-subnav span{width:100%;margin:0}.ml-feature-inner,.ml-coming,.ml-article{grid-template-columns:1fr;gap:30px}.ml-feature{padding-block:28px 36px}.ml-feature h2{font-size:36px}.ml-question{font-size:20px}.ml-coming{padding:28px 24px}.ml-coming .ml-week{padding-top:8px}.ml-review-inner{gap:8px}.ml-review-inner>span{width:100%}.ml-review label{margin-left:0;width:100%;justify-content:space-between}.ml-review select{flex:1;max-width:270px}.ml-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 18px}.ml-filters{grid-template-columns:1fr 190px;gap:12px}.ml-section-heading{align-items:start}.ml-section-heading h2{font-size:29px}.ml-note{display:block}.ml-note p+p{margin-top:12px}.ml-article-visual{position:static}.ml-detail-heading h1{font-size:38px}.ml-reading section p{font-size:17px}}
@media(max-width:460px){.ml-filters{grid-template-columns:1fr}.ml-grid{grid-template-columns:1fr}.ml-card{border-bottom:1px solid var(--ml-line);padding-bottom:4px}.ml-section-heading{display:block}.ml-count{display:block;margin-top:12px}.ml-heading h1{font-size:39px}.ml-actions{gap:10px}.ml-button{font-size:13px;padding:10px 14px}}
@media(prefers-reduced-motion:reduce){.ml-card img{transition:none}}
@media print{body{background:white!important;color:black!important}body>header,body>footer,.ml-review,.ml-back,.ml-actions,.ml-feedback,.ml-art figcaption,.ml-subnav,.ml-note{display:none!important}.ml-wrap{width:100%;max-width:none}.ml-page{padding:0}.ml-detail{padding:0}.ml-detail-heading h1{font-size:26pt}.ml-article{display:block}.ml-article-visual{position:static;width:85mm;margin:0 auto 8mm}.ml-reading{font-size:11pt}.ml-reading section p{font-size:11pt;line-height:1.45}.ml-reading section{break-inside:avoid;padding-bottom:4mm}.ml-reading h2{font-size:10pt}.ml-sources{display:none}}

/* A single horizontal collection keeps every lesson within easy reach. */
.ml-carousel-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:-6px 0 16px;min-height:44px}.ml-carousel-toolbar p{font-size:13px;color:var(--ml-muted);margin:0}.ml-carousel-controls{display:flex;align-items:center;gap:10px;flex-shrink:0}.ml-carousel-controls [role=status]{font-size:13px;color:var(--ml-muted);font-variant-numeric:tabular-nums;margin-right:4px;min-width:44px;text-align:right}.ml-carousel-arrow{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--ml-line);border-radius:50%;font-size:22px;background:var(--sa-surface);color:var(--sa-ink);cursor:pointer}.ml-carousel-arrow:hover:not(:disabled){background:var(--sa-soft)}.ml-carousel-arrow:disabled{opacity:.3;cursor:default}
.ml-grid.ml-carousel{position:relative;display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc((100% - 48px)/3);gap:24px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:0;padding:4px 0 14px;scrollbar-width:thin;scrollbar-color:var(--ml-muted) var(--sa-soft);align-items:start}.ml-carousel .ml-card{scroll-snap-align:start;min-width:0;padding:0;border:0}.ml-card-art{display:block}.ml-card img{display:block}.ml-card a:hover img{transform:none}.ml-card-info{padding:14px 0 0}.ml-card .ml-meta{margin:0;justify-content:space-between;gap:8px}.ml-card-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:4px}.ml-card-actions .ml-card-link,.ml-card-actions .ml-pdf-link{display:inline-flex;align-items:center;gap:5px;margin:0;padding:10px 0;min-height:44px;font-size:14px;line-height:1.4}.ml-card-actions .ml-card-link{color:var(--sa-accent-ink)}
@media(max-width:1000px){.ml-grid.ml-carousel{grid-auto-columns:calc((100% - 20px)/2);gap:20px}}
@media(max-width:600px){.ml-grid.ml-carousel{grid-auto-columns:91%;gap:16px}.ml-carousel-toolbar{gap:10px}.ml-carousel-toolbar p{font-size:12px;max-width:110px}.ml-carousel-controls{gap:8px}.ml-filters{margin-bottom:22px}.ml-card .ml-meta{font-size:11px}}
@media print{.ml-carousel-toolbar{display:none}.ml-grid.ml-carousel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row;grid-auto-columns:auto;overflow:visible}.ml-carousel .ml-card{break-inside:avoid}}

/* The current lesson's square artwork is the first content after the page heading. */
.ml-heading-compact{padding-block:28px 18px;gap:24px;align-items:center}
.ml-heading-compact h1{font-size:clamp(30px,3.6vw,48px);line-height:1.12}
.ml-heading-compact .ml-eyebrow{margin-bottom:9px}
.ml-heading-compact>p{font-size:15px;line-height:1.55;max-width:270px}
.ml-heading-compact+.ml-feature{padding-top:16px}
.ml-feature-inner{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px}
.ml-feature-inner>.ml-art{align-self:start}
.ml-feature .ml-status{margin-bottom:14px}
.ml-feature .ml-badge{margin-bottom:12px}
.ml-feature .ml-meta{margin-bottom:12px}
.ml-feature .ml-actions{margin-top:20px}
.ml-feature h2{font-size:clamp(30px,3.1vw,44px);margin-bottom:18px}
.ml-feature .ml-question{font-size:20px}
.ml-about{margin-top:28px}
.ml-social-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}
.ml-social{margin-top:16px;font-size:14px}
.ml-social summary{font-weight:700;cursor:pointer;text-underline-offset:3px}
.ml-social textarea{display:block;width:100%;min-height:290px;resize:vertical;margin-top:12px;padding:14px;border:1px solid var(--ml-line);border-radius:4px;background:var(--sa-surface);color:var(--sa-ink);font:inherit;font-size:14px;line-height:1.6}
.ml-social textarea:focus-visible{outline:3px solid var(--sa-focus);outline-offset:3px}
@media(max-width:760px){.ml-heading-compact{padding-block:24px 12px}.ml-heading-compact h1{font-size:32px}.ml-heading-compact>p{font-size:14px;margin-top:10px;max-width:none}.ml-feature-inner{grid-template-columns:1fr;gap:22px}.ml-heading-compact+.ml-feature{padding-top:12px}.ml-feature .ml-art{max-width:560px;width:100%;margin-inline:auto}.ml-detail{padding-top:22px}.ml-back{margin-bottom:20px}.ml-detail-heading{padding-bottom:18px}.ml-detail-heading h1{font-size:32px;margin-bottom:12px}}
@media print{.ml-social-actions,.ml-social{display:none!important}}

/* Match the framework's bright tiles with black lettering and one numbered path. */
.ml-coming:before{display:none}
.ml-badge b,.ml-week b{color:#000}
.ml-feature-inner .ml-button-primary,.ml-detail article .ml-button-primary{background:var(--lesson);border-color:var(--lesson);color:#000!important}
.ml-feature-inner .ml-button-primary:hover,.ml-detail article .ml-button-primary:hover{filter:brightness(.94)}
.ml-today-reading{padding:34px 0 18px;max-width:900px;margin-inline:auto}
.ml-today-reading>h2{font-size:28px;margin:0 0 28px}
.ml-reading .ml-step{position:relative;padding:24px 10px 24px 60px;border-top:1px solid var(--ml-line)}
.ml-step-number{position:absolute;left:8px;top:24px;border-radius:50%;background:var(--lesson);color:#000;width:30px;height:30px;display:grid;place-items:center;font-size:15px;font-weight:700}
.ml-reading .ml-step h2{color:var(--sa-ink);font-size:15px;letter-spacing:.03em}
.ml-reading .ml-activity{margin:0;background:var(--sa-soft);border-left:0;border-bottom:3px solid var(--lesson)}
.ml-reading .ml-step p{margin:0}
.ml-about{margin-top:36px}
@media(max-width:760px){.ml-today-reading{padding-top:26px}.ml-reading .ml-step{padding-left:48px}.ml-step-number{left:0}}
@media print{.ml-step-number{print-color-adjust:exact;-webkit-print-color-adjust:exact}.ml-today-reading{max-width:none}}
