/* Academy interface: compiled local source sheets, version 2.3.1. */

/* editorial-180 */
/* Editorial interface, 1.8.0. Uses the live components and semantic tokens. */
:root {
  --ml-bg:#f5f7f8;
  --ml-ink:#182f40;
  --ml-text:#304655;
  --ml-muted:#596e7a;
  --ml-accent:#087b83;
  --ml-accent-text:#076870;
  --ml-accent-soft:#e9f5f3;
  --ml-accent-line:#badfdb;
  --ml-lh-body:1.75;
  --ml-r-xl:20px;
  --ml-elev-1:0 2px 8px rgb(24 47 64 / .035);
  --ml-elev-2:0 8px 24px rgb(24 47 64 / .065);
}
html[data-ml-theme="dark"] {
  --ml-bg:#121c23;--ml-ink:#e8f1f5;--ml-text:#d0dde4;--ml-muted:#aabcc7;
  --ml-accent:#54bcb7;--ml-accent-text:#83d6d0;--ml-accent-soft:#203c3e;--ml-accent-line:#386361;
}
.ml-eyebrow{font-size:14px;font-weight:700;color:var(--ml-accent-text);margin:0 0 8px;line-height:1.5}
.ml-course-layout{gap:32px!important;padding-top:32px!important;max-width:1224px!important}
.ml-catalog-rail{width:244px;flex:none;position:sticky;top:100px;background:var(--ml-surface);border:1px solid var(--ml-line);border-radius:20px;padding:24px 16px;box-sizing:border-box}
.ml-catalog-rail h2{font-size:22px;margin:0 8px 24px;color:var(--ml-ink)}
.ml-catalog-rail>.ml-eyebrow{margin-inline:8px}
.ml-course-switcher{display:grid;gap:6px}
.ml-course-switch{display:flex;align-items:center;gap:12px;text-align:start;width:100%;padding:12px;border:1px solid transparent;border-radius:12px;background:transparent;color:var(--ml-text);font:inherit;cursor:pointer;min-height:72px}
.ml-course-switch.is-selected{background:var(--ml-accent-soft);border-color:var(--ml-accent-line);color:var(--ml-accent-text)}
.ml-course-switch:hover{background:var(--ml-sunken)}
.ml-course-switch strong,.ml-course-switch small{display:block}
.ml-course-switch strong{font-size:17px;font-weight:700}
.ml-course-switch small{font-size:13px;color:var(--ml-muted);margin-top:3px}
.ml-course-switch-icon{display:flex;align-items:center;justify-content:center;width:30px;height:30px;flex:none}
.ml-course-switch-icon svg{width:26px;height:26px;animation:none}
.ml-rail-note{border-top:1px solid var(--ml-line);padding:20px 8px 0;margin:24px 0 0;font-size:14px;line-height:1.75;color:var(--ml-muted)}
.ml-catalog-main{flex:1;min-width:0;max-width:880px}
.ml-catalog-heading{display:flex;align-items:center;gap:18px;margin:24px 0 28px}
.ml-catalog-heading h1{font-size:clamp(28px,3.1vw,40px);line-height:1.2;margin:0;font-weight:800;letter-spacing:-.025em;color:var(--ml-ink)}
.ml-catalog-heading p{margin:8px 0 0;font-size:16px;color:var(--ml-muted)}
.ml-course-title-icon{width:64px;height:64px;display:flex;align-items:center;justify-content:center;flex:none;border-radius:18px;background:var(--ml-accent-soft);color:var(--ml-accent-text)}
.ml-course-title-icon svg{width:32px;height:32px;animation:none}
.ml-resume-card{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 28px;margin-bottom:32px;border:1px solid var(--ml-accent-line);border-radius:18px;background:var(--ml-accent-soft)}
.ml-resume-card h2{font-size:24px;font-weight:800;line-height:1.3;margin:0;color:var(--ml-ink)}
.ml-resume-card p:last-child{margin:8px 0 0;max-width:46ch;font-size:16px;color:var(--ml-muted);line-height:1.65}
.ml-resume-card a{white-space:nowrap;flex:none;gap:10px;min-height:48px;background:var(--ml-accent);color:var(--ml-on-accent);border:0;border-radius:10px;padding:10px 20px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}
.ml-section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}
.ml-section-heading h2{font-size:22px;margin:0;font-weight:800}
.ml-section-heading>span{color:var(--ml-muted);font-size:14px}
.ml-view-courses .ml-course-unit-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
.ml-view-courses .ml-urow{display:flex;align-items:center;gap:16px;min-height:86px;width:100%;padding:16px 20px;border:1px solid var(--ml-line);border-radius:14px;background:var(--ml-surface);box-shadow:var(--ml-elev-1);text-align:start;font:inherit;color:var(--ml-ink);cursor:pointer;transition:border-color .18s,box-shadow .18s}
.ml-view-courses .ml-urow:hover{border-color:var(--ml-accent-line);box-shadow:var(--ml-elev-2)}
.ml-view-courses .ml-urow:hover svg{animation:none}
.ml-view-courses .ml-urow:disabled{cursor:default;box-shadow:none}
.ml-unit-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex:none;border-radius:12px;background:var(--ml-accent-soft);color:var(--ml-accent-text)}
.ml-unit-icon svg{width:24px;height:24px}
.ml-unit-copy{display:block;flex:1;min-width:0}
.ml-unit-copy small{display:block;font-size:13px;line-height:1.45;color:var(--ml-muted);margin-bottom:3px}
.ml-unit-copy strong{display:block;font-size:18px;line-height:1.4;font-weight:700}
.ml-unit-progress{width:140px;flex:none;display:grid;gap:8px;font-size:14px;color:var(--ml-muted)}
.ml-unit-meter{display:block;overflow:hidden;height:5px;background:var(--ml-sunken);border-radius:10px}
.ml-unit-meter i{display:block;height:100%;background:var(--ml-accent);border-radius:inherit}
.ml-unit-arrow{color:var(--ml-accent-text);font-size:22px;margin-inline-start:8px}
.ml-urow.is-preparing{background:var(--ml-bg);box-shadow:none;border-style:dashed}
.ml-urow.is-preparing .ml-unit-icon{background:var(--ml-sunken);color:var(--ml-muted)}
.ml-urow.is-finished .ml-unit-progress{color:var(--ml-success-text)}
.ml-empty{padding:24px;background:var(--ml-surface);border:1px dashed var(--ml-line-strong);border-radius:14px;color:var(--ml-muted)}
/* Reading axis: one calm panel, enough space around learning components. */
.ml-view-topic .ml-course-layout>main{background:var(--ml-surface);border:1px solid var(--ml-line);border-radius:20px;padding:32px 36px;box-sizing:border-box}
.ml-view-topic .ml-course-layout>main>h1{font-weight:800!important;font-size:clamp(28px,3vw,36px)!important;line-height:1.3!important}
.ml-view-topic .ml-lesson{font-size:18px;line-height:1.85}
.ml-view-topic .ml-objective{border:1px solid var(--ml-accent-line);background:var(--ml-accent-soft);border-radius:12px;padding:16px 20px}
.ml-course-layout>.ml-rail{width:244px!important;border:1px solid var(--ml-line);box-shadow:none!important;top:100px!important}
.ml-course-layout>.ml-rail button[aria-current="page"]{background:var(--ml-accent-soft)!important;border-inline-start:3px solid var(--ml-accent)!important;border-start-start-radius:0!important;border-end-start-radius:0!important}
.mlu .mlu-savebar{padding:12px 14px;border-radius:10px;gap:8px;font-size:14px;line-height:1.5}
.mlu .mlu-subs{font-size:14px;line-height:1.75;color:var(--ml-muted);margin-block:20px}
.ml-locator{font-size:14px;color:var(--ml-muted);line-height:1.7}
.ml-lesson-next{border-radius:14px!important;box-shadow:none!important;border:1px solid var(--ml-accent-line)}
.ml-topic-card{border:1px solid var(--ml-line)!important;box-shadow:var(--ml-elev-1)!important;border-radius:14px!important;min-height:84px!important}
.ml-topic-status{font-size:14px!important;line-height:1.5}
.ml-topic-grid{gap:12px!important}
.ml-mastery{border-radius:14px;background:var(--ml-surface);border:1px solid var(--ml-line);box-shadow:none}
/* The book's own callouts keep their unique icons and colour associations. */
.mlu .box{border-radius:14px!important;border:1px solid var(--rail)!important;background:var(--fill)!important;box-shadow:none!important;padding:24px 28px 22px!important;margin-block:32px!important;position:relative}
.mlu .box .bt{padding-inline-start:36px!important;margin-bottom:12px!important;font-size:18px!important}
.mlu .box .bt svg{position:absolute;inset-inline-start:-1px;top:-1px;width:48px;height:48px;padding:12px;box-sizing:border-box;background:var(--fill);color:var(--title);border-inline-end:1px solid var(--rail);border-bottom:1px solid var(--rail);border-start-start-radius:14px;border-end-end-radius:14px}
.mlu .box p,.mlu .box li{line-height:1.85}
.mlu .box[data-callout="remember"]{--rail:#8ec6c0;--fill:#edf7f5;--title:#146b62}
.mlu .box[data-callout="analogy"]{--rail:#b5b5e7;--fill:#f1f0fb;--title:#524b91}
.mlu .box[data-callout="misconception"]{--rail:#e4ba91;--fill:#fff5e9;--title:#99531d}
.mlu .box[data-callout="selfcheck"]{--rail:#9abde1;--fill:#edf5fc;--title:#285d90}
.mlu .box[data-callout="safety"]{--rail:#dfa4a7;--fill:#fff0f0;--title:#9e343d}
.mlu .box[data-callout="formula"]{--rail:#c5addf;--fill:#f6f0fb;--title:#704696}
.mlu .box[data-callout="chain"]{--rail:#a3c4a0;--fill:#f0f7ed;--title:#426d3b}
.mlu .box[data-callout="graph"]{--rail:#d6acce;--fill:#fbf0f8;--title:#854673}
.mlu .box[data-callout="interesting"]{--rail:#d9c277;--fill:#fff9e6;--title:#7f6417}
.mlu .box[data-callout="scenario"]{--rail:#a9bdcc;--fill:#eef4f8;--title:#47687b}
html[data-ml-theme="dark"] .mlu .box[data-callout]{--fill:var(--ml-surface);--title:var(--ml-ink)}
.mlu-mobile-table{display:none}
.mlu-table-caption{font-weight:700;color:var(--ml-muted)}
.mlu-table-item{border:1px solid var(--ml-line);border-radius:12px;background:var(--ml-surface);margin:8px 0;overflow:hidden}
.mlu-table-item summary{padding:14px 16px;font-weight:700;cursor:pointer;min-height:44px;box-sizing:border-box;color:var(--ml-accent-text)}
.mlu-table-item dl{padding:0 16px 16px;margin:0;line-height:1.75}
.mlu-table-item dt{font-size:14px;font-weight:700;color:var(--ml-muted);margin-top:12px}
.mlu-table-item dd{margin:4px 0 0;font-size:16px}
.mlu .act{border:1px solid var(--ml-line)!important;border-radius:18px!important;box-shadow:none!important;margin-block:32px!important}
.mlu .act-head{background:var(--ml-accent-soft)!important}
.mlu .lbl-workspace{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(250px,.95fr);gap:24px;align-items:start;margin-block:24px}
.mlu .lbl-figure-pane{border:1px solid var(--ml-line);border-radius:14px;background:var(--ml-surface);padding:16px;position:sticky;top:88px}
.mlu .lbl-answer-pane{background:var(--ml-bg);border:1px solid var(--ml-line);border-radius:14px;padding:16px;min-width:0}
.mlu .lbl-nav{margin:0 0 16px;display:flex;align-items:center;justify-content:space-between;gap:8px}
.mlu .lbl-counter{font-size:14px;font-weight:700;color:var(--ml-muted);text-align:center}
.mlu .lbl-grid{display:block}
.mlu .lbl-row{display:none!important;padding:0;border:0;background:transparent}
.mlu .lbl-row.is-active{display:grid!important;grid-template-columns:32px minmax(0,1fr) 24px;gap:12px}
.mlu .lbl-row select{min-height:48px;font-size:16px;background:var(--ml-surface);border:1px solid var(--ml-line-strong);border-radius:10px}
.mlu .lbl-choices{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px}
.mlu .lbl-choice{font:inherit;font-size:16px;text-align:start;padding:12px 16px;border:1px solid var(--ml-line-strong);border-radius:10px;background:var(--ml-surface);color:var(--ml-ink);min-height:48px;cursor:pointer}
.mlu .lbl-choice[aria-pressed="true"]{background:var(--ml-accent-soft);border-color:var(--ml-accent);box-shadow:inset 0 0 0 1px var(--ml-accent);font-weight:700}
.mlu .lbl-choice:disabled{cursor:default}
.mlu .lbl-badge.on{background:var(--ml-accent);color:var(--ml-on-accent);outline:3px solid var(--ml-accent-soft)}
.mlu .lbl-badge{width:28px!important;height:28px!important;min-width:28px!important;min-height:28px!important;padding:0!important;border-radius:50%!important;font-size:14px!important;line-height:1!important}
.mlu .lbl-grid.is-complete .lbl-row{display:grid!important;margin-bottom:12px}
.mlu .lbl-grid.is-complete .lbl-choices{display:none}
.mlu .row-actions{gap:10px;padding-block:12px}
.mlu .fb.show{border-radius:12px;padding:16px 20px;line-height:1.75}
/* Shared controls: quieter surfaces, consistent hierarchy and visible focus. */
body :is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid var(--ml-accent);outline-offset:3px}
.ml-hd{box-shadow:0 1px 0 var(--ml-line)!important}
.ml-b{border-radius:10px!important;font-weight:700}
.ml-field input,.ml-field textarea{border-radius:10px!important;background:var(--ml-surface)!important}
.ml-personal-hero{background:var(--ml-bg)!important;border-bottom:1px solid var(--ml-line);border-radius:0!important}
.ml-personal-body .ml-saved-card{background:var(--ml-accent-soft)!important;border:1px solid var(--ml-accent-line);box-shadow:none!important}
.ml-personal-body .ml-course-row{border-radius:12px!important;border:1px solid var(--ml-line)}
.ml-personal-body :is(h1,h2){font-weight:800!important}
/* Page families share a reading axis, while retaining their live data and actions. */
.ml-editorial-page :is(h1,h2,h3){color:var(--ml-ink);line-height:1.3;font-weight:800!important}
.ml-editorial-page h1{font-size:clamp(30px,3.5vw,42px)!important;letter-spacing:-.025em}
.ml-editorial-page h2{font-size:24px!important}
.ml-editorial-page :is(.ml-btn,.ml-btn2,.ml-fill,.ml-send){border-radius:10px!important;min-height:48px;font-weight:700;box-shadow:var(--ml-elev-1)!important}
.ml-editorial-page>.ml-hd+section,.ml-editorial-page>section:first-of-type{border-radius:0!important}
.ml-editorial-page>section:first-of-type:not(.ml-shop-sec){border-bottom:1px solid var(--ml-line)}
.ml-page-home .ml-sec{padding-top:64px!important}
.ml-page-home .ml-hero-rel{padding-top:48px!important;padding-bottom:48px!important}
.ml-page-home .ml-hero-rel .ml-eyebrow{padding:0;background:transparent;border-radius:0}
.ml-page-home .ml-sub{line-height:1.6!important}
.ml-page-home .ml-lede{line-height:1.85!important;text-align:start!important;max-width:52ch}
.ml-page-home .ml-hero-art{border-radius:20px!important}
.ml-page-home :is(.ml-feat,.ml-tour-card,.ml-plan,.ml-faq,.ml-rv.ml-tourcards){border-radius:16px!important;box-shadow:var(--ml-elev-1)!important}
.ml-page-home .ml-statrow{gap:12px!important}
.ml-page-home .ml-statrow>div{background:var(--ml-surface);border:1px solid var(--ml-line);padding:12px 20px;border-radius:12px}
.ml-page-home .ml-getapps{padding:20px;background:var(--ml-surface);border:1px solid var(--ml-line);border-radius:16px}
.ml-page-personal .ml-personal-body{gap:24px!important;max-width:1200px!important}
.ml-page-personal .ml-personal-body>main{gap:20px!important}
.ml-page-personal .ml-personal-body>main>div{border:1px solid var(--ml-line);box-shadow:var(--ml-elev-1)!important}
.ml-personal-resume{background:var(--ml-accent-soft)!important;border:1px solid var(--ml-accent-line);box-shadow:none!important;padding:28px!important}
.ml-personal-resume>div:first-child,.ml-personal-resume>div:first-child>div{color:var(--ml-ink)!important}
.ml-personal-resume>div:first-child>div:first-child,.ml-personal-resume>div:first-child>div:last-child{color:var(--ml-muted)!important;line-height:1.6}
.ml-personal-resume>div:last-child{background:var(--ml-accent)!important;color:var(--ml-on-accent)!important;border-radius:12px!important;animation:none!important}
.ml-personal-side{width:300px!important}
.ml-personal-side>div{border:1px solid var(--ml-line);box-shadow:var(--ml-elev-1)!important}
.ml-page-glossary .gl-in{min-height:56px;background:var(--ml-surface);border:1px solid var(--ml-line-strong)!important;border-radius:12px!important;box-shadow:var(--ml-elev-1)}
.ml-page-glossary .gl-card{padding:24px!important;border:1px solid var(--ml-line);border-radius:16px!important;box-shadow:var(--ml-elev-1)!important;margin-block:12px}
.ml-page-glossary .gl-card h2{font-size:24px!important}
.ml-page-glossary .gl-card>p{font-size:18px!important;line-height:1.85!important}
.ml-page-glossary .gl-para{margin-top:16px;background:var(--ml-bg);border-radius:10px;padding:12px 16px;border:0}
.ml-page-glossary .gl-para summary{min-height:32px;display:flex;align-items:center;gap:8px;color:var(--ml-accent-text)}
.ml-page-glossary .gl-chip,.ml-page-qa .bq-filter{font:inherit;min-height:44px;padding:8px 14px;border:1px solid var(--ml-line-strong);border-radius:10px;background:var(--ml-surface);color:var(--ml-muted);cursor:pointer}
.ml-page-glossary .gl-chip[aria-pressed="true"],.ml-page-qa .bq-filter[aria-pressed="true"]{border-color:var(--ml-accent);color:var(--ml-accent-text);background:var(--ml-accent-soft);font-weight:700}
.ml-page-glossary .gl-letter{min-width:44px;text-align:center}
.ml-page-qa .bq-grid{gap:16px!important}
.ml-page-qa .bq-card{border:1px solid var(--ml-line);border-radius:14px;padding:24px!important;min-height:152px;box-shadow:var(--ml-elev-1)}
.ml-page-qa .bq-card:hover{transform:none;border-color:var(--ml-accent-line);box-shadow:var(--ml-elev-2)}
.ml-page-qa .bq-wrap>main{background:var(--ml-surface);padding:28px;border:1px solid var(--ml-line);border-radius:18px}
.ml-page-qa .bq-opt{border-radius:12px!important;min-height:56px!important;padding:16px!important;line-height:1.65}
.ml-page-qa .bq-rail{border:1px solid var(--ml-line);border-radius:16px;box-shadow:none!important}
.ml-page-qa :is(.bq-result,.bq-hintwrap,.bq-deep){border-radius:12px!important;padding:20px!important;line-height:1.85}
.ml-page-pricing .ml-plangrid{gap:24px!important}
.ml-page-pricing .ml-plangrid>div{border-radius:16px!important;box-shadow:var(--ml-elev-1)!important}
.ml-page-pricing .ml-cmp{border:1px solid var(--ml-line);border-radius:16px;overflow:hidden}
.ml-page-about :is(.ml-crests,.ml-planx){border-radius:16px!important;border:1px solid var(--ml-line);box-shadow:none!important}
.ml-page-about p{line-height:1.85!important}
.ml-page-start>div:not(.ml-hd){gap:28px!important}
.ml-page-start :is(input,select){min-height:48px;border-radius:10px;font:inherit}
.ml-page-start [style*="background:var(--ml-surface)"]{box-shadow:var(--ml-elev-1)!important}
.ml-page-map .ml-mapwrap{border:1px solid var(--ml-line);border-radius:20px;overflow:hidden}
.ml-page-map .ml-legend{background:var(--ml-surface);padding:16px;border:1px solid var(--ml-line);border-radius:12px;line-height:1.7}
.ml-page-teacher :is(input,textarea){background:var(--ml-surface)!important;border-radius:10px!important}
.ml-page-teacher h1{max-width:20ch}
.ml-page-solution p{font-size:18px!important;line-height:1.85!important}
.ml-page-solution .ml-ck{border-radius:12px!important;line-height:1.7}
.ml-page-legal .ml-lg-hero{background:var(--ml-bg)!important;border-bottom:1px solid var(--ml-line)}
.ml-page-legal .ml-lg-card{border:1px solid var(--ml-line);border-radius:16px;box-shadow:var(--ml-elev-1);padding:28px}
.ml-page-legal .ml-lg-toc{border:1px solid var(--ml-line);border-radius:16px;box-shadow:none;background:var(--ml-surface)}
.ml-page-legal .ml-lg-p,.ml-page-legal .ml-lg-ul{font-size:17px;line-height:1.85}
.ml-page-login .ml-login{border:1px solid var(--ml-line);border-radius:20px!important;box-shadow:var(--ml-elev-2)!important;padding:36px!important}
.ml-page-login .ml-login-sub{line-height:1.75;color:var(--ml-muted)}
.ml-page-shop .ml-shop-grid{gap:24px!important}
.ml-page-shop .ml-shop-card{border:1px solid var(--ml-line);border-radius:16px!important;box-shadow:var(--ml-elev-1)!important;padding:24px}
.ml-page-shop .ml-shop-card.is-pick{border-color:var(--ml-accent)!important;box-shadow:0 0 0 1px var(--ml-accent)!important}
.ml-page-shop .ml-shop-deal{border-radius:18px!important;border:1px solid var(--ml-line);box-shadow:none!important}
.ml-page-shop .ml-shop-lede{font-size:18px!important;line-height:1.85!important}
.ml-auth .auth-card{border:1px solid var(--ml-line);border-radius:20px;box-shadow:var(--ml-elev-2)}
.ml-auth :is(h1,h2){font-weight:800;line-height:1.3;color:var(--ml-ink)}
.ml-auth .auth-story-intro{line-height:1.85}
.ml-auth .auth-header{border-bottom:1px solid var(--ml-line)}
.ml-teacher-live>h1{font-size:36px;font-weight:800;margin:24px 0 12px}
.ml-teacher-live>p{max-width:70ch;font-size:17px;line-height:1.85;color:var(--ml-muted)}
.ml-teacher-live>section{padding:24px;background:var(--ml-surface);border:1px solid var(--ml-line);border-radius:16px;margin-block:24px;box-shadow:var(--ml-elev-1)}
.ml-teacher-live>section>h2{font-size:24px;font-weight:800}
.ml-teacher-live details{border:1px solid var(--ml-line);border-radius:10px;margin-block:10px;padding:0 16px}
.ml-teacher-live summary{min-height:48px;display:flex;align-items:center;font-weight:700;cursor:pointer}
.ml-teacher-live form{display:grid;gap:16px;padding-block:8px 20px}
.ml-teacher-live :is(input,textarea){width:100%;box-sizing:border-box;border:1px solid var(--ml-line-strong);border-radius:10px;padding:12px;font:inherit;line-height:1.6;background:var(--ml-bg);color:var(--ml-text)}
.ml-teacher-live label{display:grid;gap:8px;font-weight:700}
.ml-teacher-live form>button{justify-self:start;border-radius:10px}
@media(max-width:900px){
 .ml-course-layout{padding:24px 16px calc(112px + env(safe-area-inset-bottom))!important;gap:20px!important}
 .ml-catalog-rail{width:100%;padding:16px;position:static}
 .ml-catalog-rail h2,.ml-catalog-rail>.ml-eyebrow,.ml-rail-note{display:none}
 .ml-course-switcher{grid-template-columns:repeat(5,minmax(110px,1fr));overflow:auto;padding-bottom:4px;scrollbar-width:thin}
 .ml-course-switch{display:block;min-height:92px;text-align:center;padding:10px 8px}
 .ml-course-switch-icon{margin:0 auto 8px;width:24px;height:24px}
 .ml-course-switch strong{font-size:14px;line-height:1.4}
 .ml-course-switch small{font-size:12px}
 .ml-catalog-main{width:100%;max-width:none}
 .ml-personal-side{width:100%!important}
 .ml-page-personal .ml-personal-body{flex-direction:column;padding-inline:16px!important}
 .ml-page-personal .ml-personal-body>main{width:100%}
 .ml-view-topic .ml-course-layout>main{padding:24px}
 .ml-course-layout>.ml-rail{width:100%!important;top:auto!important}
 .ml-course-layout>.ml-rail,.ml-course-layout>.ml-catalog-rail{order:-1!important}
 .ml-resume-card{padding:20px;gap:16px}
 .mlu .lbl-workspace{grid-template-columns:1fr;gap:16px}
 .mlu .lbl-figure-pane{position:static;padding:12px}
}
@media(max-width:600px){
 .ml-catalog-heading{gap:12px;margin:20px 0 24px}
 .ml-course-title-icon{width:48px;height:48px;border-radius:14px}
 .ml-course-title-icon svg{width:26px;height:26px}
 .ml-catalog-heading h1{font-size:27px}
 .ml-catalog-heading p{font-size:14px}
 .ml-resume-card{display:block;margin-bottom:28px}
 .ml-resume-card h2{font-size:22px}
 .ml-resume-card a{display:flex;margin-top:18px}
 .ml-view-courses .ml-urow{flex-wrap:wrap;gap:10px 12px;padding:16px;min-height:90px}
 .ml-unit-copy strong{font-size:17px}
 .ml-unit-progress{width:auto;flex-basis:calc(100% - 70px);margin-inline-start:56px;grid-template-columns:auto minmax(56px,1fr);align-items:center;gap:12px;font-size:13px}
 .ml-unit-arrow{margin-inline-start:auto}
 .ml-view-topic .ml-course-layout>main{padding:20px 16px;border-radius:16px}
 .ml-view-topic .ml-lesson{font-size:17px;line-height:1.85}
 .mlu .box{padding:22px 18px 18px!important}
 .mlu .box .bt{font-size:17px!important;padding-inline-start:38px!important;min-height:26px}
 .mlu .act{margin-inline:0!important}
 .mlu .lbl-answer-pane{padding:12px}
 .mlu .lbl-nav .btn{padding:8px;min-width:44px}
 .mlu .lbl-counter{font-size:13px}
 .mlu .mlu-card-table{display:none}
 .mlu .mlu-mobile-table{display:block}
 .mlu .lbl-choices{grid-template-columns:repeat(2,minmax(0,1fr))}
 .mlu .lbl-choice{padding:10px 12px;font-size:15px}
 .ml-editorial-page h1{font-size:30px!important}
 .ml-editorial-page h2{font-size:22px!important}
 .ml-page-home .ml-sec{padding-top:40px!important}
 .ml-page-home .ml-hero-rel{padding:32px 16px!important}
 .ml-page-glossary .gl-card{padding:20px 16px!important}
 .ml-page-glossary .gl-card>p{font-size:17px!important}
 .ml-page-qa .bq-wrap{padding-inline:16px!important}
 .ml-page-qa .bq-wrap>main{padding:20px 16px}
 .ml-page-login .ml-login{padding:24px!important}
 .ml-page-personal .ml-personal-body>main>div{padding:20px!important}
 .ml-page-shop .ml-shop-grid{grid-template-columns:minmax(0,1fr)!important}
 .ml-page-pricing .ml-plangrid{grid-template-columns:minmax(0,1fr)!important}
}
@media(prefers-reduced-motion:reduce){.ml-urow,.ml-course-switch{transition:none}}


/* academy-shell */
/* Shared geometry and tokens measured against the approved goal screens. */
:root{--ml-bg:#f5f9fc;--ml-ink:#092c4d;--ml-text:#214566;--ml-muted:#4d6882;--ml-subtle:#647e96;--ml-surface:#fff;--ml-line:#d6e3ed;--ml-line-strong:#a9c0d6;--ml-sunken:#eef4f8;--ml-tint:#f7fafc;--ml-accent:#087d87;--ml-accent-text:#006f79;--ml-accent-soft:#e5f7f8;--ml-accent-line:#9fd6dc;--ml-on-accent:#fff;--ml-r-xs:4px;--ml-r-sm:6px;--ml-r-md:8px;--ml-r-lg:10px;--ml-r-xl:12px;--ml-elev-1:0 1px 3px rgb(9 44 77 / .03);--ml-elev-2:0 5px 20px rgb(9 44 77 / .06);--ml-lh-body:1.75;--goal-rail-width:248px;--goal-header-height:72px;--ml-fs-1:14px;--ml-fs-2:16px;--ml-fs-3:18px;--ml-fs-4:22px;--ml-fs-5:26px;--ml-fs-6:34px;--ml-fs-7:42px}
html[data-ml-theme=dark]{--ml-bg:#101e30;--ml-ink:#e5effa;--ml-text:#c8d8eb;--ml-muted:#adc2d8;--ml-subtle:#91abc7;--ml-surface:#182a40;--ml-line:#344b65;--ml-line-strong:#627d99;--ml-sunken:#21364e;--ml-tint:#1d324b;--ml-accent:#087d87;--ml-accent-text:#81e3e9;--ml-accent-soft:#183e4a;--ml-accent-line:#3c8290}
:root[data-ml-text=lg]{--ml-fs-1:16px;--ml-fs-2:18px;--ml-fs-3:20px;--ml-fs-4:24px;--ml-fs-5:28px;--ml-fs-6:36px;--ml-fs-7:44px}
:root[data-ml-text=xl]{--ml-fs-1:18px;--ml-fs-2:20px;--ml-fs-3:22px;--ml-fs-4:26px;--ml-fs-5:30px;--ml-fs-6:38px;--ml-fs-7:46px}
body{font-family:var(--ml-font);color:var(--ml-text);background:var(--ml-bg)}
.academy-brand{font-size:calc(var(--ml-fs-3) + 8px);font-weight:800;white-space:nowrap;letter-spacing:-.025em;color:var(--ml-ink);line-height:1.1}
.ml-hd{box-shadow:0 1px 0 var(--ml-line)!important;background:var(--ml-surface)!important}
.ml-hd .ml-hd-in{max-width:none!important;height:var(--goal-header-height)!important;padding:0 24px!important;gap:16px!important}
.ml-hd .ml-logo{gap:10px!important}
.ml-hd .ml-logo-mark{width:40px!important;height:43px!important}
.ml-hd .ml-logo-mark img{width:auto!important;height:43px!important;max-width:none}
.auth-brand-symbol{position:relative;display:block;width:40px;height:43px;flex:none}
.auth-brand-symbol .auth-brand-mark{width:auto;height:43px;max-width:none;animation:ml-flask 5s ease-in-out infinite;transform-origin:60% 85%}
.auth-brand-symbol i{animation-iteration-count:infinite!important}
@keyframes ml-bub{0%{transform:translateY(0) scale(.55);opacity:0}18%{opacity:.95}70%{opacity:.8}100%{transform:translateY(-16px) scale(1.05);opacity:0}}
@keyframes ml-flask{0%,100%{transform:rotate(-1.5deg)}50%{transform:rotate(1.5deg)}}
.ml-hd .ml-nav-desk{height:var(--goal-header-height)!important;gap:2px!important}
.ml-hd .ml-tab{height:var(--goal-header-height)!important;font-size:var(--ml-fs-2)!important;padding-inline:14px!important;color:var(--ml-ink)!important}
.ml-hd .ml-tab>.ai{display:none}
.ml-hd .ml-cta{background:transparent!important;color:var(--ml-ink)!important;box-shadow:none!important;border:0!important;border-radius:6px!important;font-size:var(--ml-fs-2)!important;min-height:44px!important;padding:8px!important}
.ml-hd .ml-cta .ai{width:23px!important;height:23px!important}
.ml-hd :is(.ml-hd-gear,.ml-gsearch){background:transparent!important;box-shadow:none!important;color:var(--ml-ink)!important}
.ml-hd .ml-switch{transform:scale(.78);transform-origin:center;width:48px!important;margin-inline:-4px}
.ml-hd a:active,.ml-hd button:active{transform:none!important;filter:none!important}
:is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--ml-accent-text)!important;outline-offset:3px}
.ml-b{border-radius:6px!important;min-height:44px;font-weight:700;box-shadow:none!important}
.ml-b--primary{background:var(--ml-accent)!important;color:var(--ml-on-accent)!important}
.academy-breadcrumb{display:flex;align-items:center;gap:12px;font-size:var(--ml-fs-2);line-height:1.6;color:var(--ml-muted)}
.academy-breadcrumb a{color:var(--ml-ink);min-height:32px;display:inline-flex;align-items:center}
.academy-breadcrumb a:hover{text-decoration:underline;text-underline-offset:4px}
.academy-progress-track{display:block;height:8px;border-radius:8px;background:var(--ml-line);overflow:hidden}
.academy-progress-track i{display:block;height:100%;background:var(--ml-accent);border-radius:inherit;transition:width .25s ease}
.ml-foot{border-top:1px solid var(--ml-line);background:var(--ml-surface)!important}

/* Persistent learning destinations; the full original menu stays accessible. */
.goal-app-rail{position:fixed;inset-inline-start:0;top:var(--goal-header-height);bottom:0;width:var(--goal-rail-width);z-index:20;background:var(--ml-surface);border-inline-end:1px solid var(--ml-line);padding:24px 8px 16px;box-sizing:border-box;display:flex;flex-direction:column;overflow:auto;scrollbar-width:thin}
.goal-app-rail nav{display:grid;gap:8px}
.goal-rail-link{position:relative;display:flex;align-items:center;gap:18px;min-height:62px;padding:12px 22px;box-sizing:border-box;border-radius:5px;color:var(--ml-ink);font-size:calc(var(--ml-fs-3) + 1px);line-height:1.4;text-decoration:none}
.goal-rail-link strong{font-weight:500;min-width:0}
.goal-rail-link>span{width:29px;height:29px;flex:none;color:var(--ml-ink)}
.goal-rail-link.is-current{background:var(--ml-accent-soft)}
.goal-rail-link.is-current strong{font-weight:750}
.goal-rail-link.is-current:before{content:'';position:absolute;inset-inline-start:0;top:4px;bottom:4px;width:4px;background:var(--ml-accent);border-radius:3px}
.goal-rail-link:hover{background:var(--ml-sunken)}
.goal-rail-bottom{display:grid;gap:6px;margin-top:auto;padding:30px 18px 0}
.goal-rail-bottom button{display:flex;align-items:center;gap:12px;min-height:44px;padding:8px 0;background:transparent;border:0;color:var(--ml-ink);font:inherit;font-size:var(--ml-fs-2);cursor:pointer;text-align:start}
.goal-rail-bottom button>span{width:23px;height:23px;flex:none}
.goal-rail-bottom a{font-size:var(--ml-fs-1);color:var(--ml-muted);padding-block:7px;line-height:1.5;text-decoration:none}
.goal-rail-bottom a:hover{text-decoration:underline}
.goal-header-spacer{flex:1;min-width:12px}
.goal-full-menu{display:flex;gap:8px;align-items:center;min-height:44px;border:0;background:transparent;color:var(--ml-ink);font:inherit;font-size:var(--ml-fs-2);cursor:pointer;padding:8px 10px}
.goal-header .ml-nav-desk{display:none!important}
.goal-header.goal-menu-open .ml-nav-desk{display:flex!important;position:absolute;top:var(--goal-header-height);inset-inline-start:16px;inset-inline-end:16px;z-index:45;border:1px solid var(--ml-line);border-radius:8px;background:var(--ml-surface);box-shadow:var(--ml-elev-2);padding:0 12px;flex:none;height:auto!important;min-height:56px;justify-content:center;flex-wrap:wrap}
.goal-header.goal-menu-open .ml-nav-desk>div{min-height:56px}
.goal-header.goal-menu-open .ml-nav-desk .ml-tab{height:56px!important}
.goal-header .ml-switch{display:none}
.goal-header .ml-cta{font-size:0!important;width:44px;height:44px;min-width:44px;border-radius:50%!important;background:var(--ml-ink)!important;color:var(--ml-surface)!important;display:flex;align-items:center;justify-content:center}
.goal-header .ml-hd-gear{display:grid!important;min-width:44px;min-height:44px;width:44px;height:44px;flex:none}
.goal-header .ml-logo{min-width:0}
@media(min-width:1101px){
 .ml-goal-workspace .goal-header .ml-logo{width:var(--goal-rail-width);min-height:72px;box-sizing:border-box;border-inline-end:1px solid var(--ml-line);margin-inline-start:-24px;padding-inline:18px;gap:8px!important;flex:none}
 .ml-goal-workspace .goal-header .ml-logo .ml-logo-mark{width:36px!important;height:39px!important}
 .ml-goal-workspace .goal-header .ml-logo .ml-logo-mark img{height:39px!important}
 .ml-goal-workspace .goal-header .ml-logo .academy-brand{flex:1 1 auto;min-width:0;white-space:nowrap;overflow-wrap:normal;word-break:normal;font-size:calc(var(--ml-fs-3) + 3px);line-height:1.13}
 :root:is([data-ml-text=lg],[data-ml-text=xl]).ml-goal-workspace .goal-header .ml-logo .academy-brand{white-space:normal}
 .goal-header .ml-termsearch{width:min(330px,28vw)!important;height:42px!important}
 .goal-header .ml-termsearch>input{position:static!important;transform:none!important;width:100%!important;height:42px!important;min-height:42px!important;padding-inline:40px 14px!important;border:1px solid var(--ml-line)!important;box-shadow:none!important;background:var(--ml-tint)!important;border-radius:6px!important;font-size:var(--ml-fs-2)!important}
 .goal-header .ml-termsearch>button{inset-inline-start:0!important;inset-inline-end:auto!important;padding:11px!important;background:transparent!important;color:var(--ml-ink)!important}
 .goal-header .ml-termsearch>div{inset-inline-start:0!important;inset-inline-end:auto!important;max-width:100vw}
  .goal-header .ml-termsearch>input::placeholder{color:var(--ml-muted)!important;opacity:1!important}
}
@media(max-width:1100px){
 .goal-app-rail{display:none}.goal-header-spacer,.goal-full-menu{display:none}
 .ml-hd .ml-logo{flex:1}.ml-hd .ml-burger{display:flex!important}
 .goal-header.goal-menu-open .ml-nav-desk{display:none!important}
 .ml-hd .ml-hd-in{padding-inline:18px!important;gap:12px!important}
}
@media(max-width:800px){
 :root{--goal-header-height:64px}
 .ml-hd .ml-hd-in{height:64px!important;padding-inline:16px!important;gap:10px!important}
 .ml-hd .ml-logo{flex:1 1 auto!important;flex-wrap:nowrap!important;width:auto!important;min-width:160px}
 .ml-hd .academy-brand{flex:0 1 auto;min-width:0;overflow-wrap:normal;word-break:normal}
 .academy-brand{font-size:calc(var(--ml-fs-3) + 3px)}
 .ml-hd .ml-logo-mark{height:35px!important;width:32px!important}
 .ml-hd .ml-logo-mark img{height:35px!important;width:auto!important}
 .ml-hd .ml-switch,.ml-hd .ml-nav-desk,.ml-hd .ml-cta{display:none!important}
 .ml-hd .ml-cta-icon{color:var(--ml-ink)!important;background:transparent!important}
 .goal-header .ml-hd-gear{display:none!important}
 .ml-hd .ml-burger{width:40px!important;height:40px!important;min-width:40px;min-height:40px;flex:0 0 40px!important;color:var(--ml-ink)}
 .ml-hd .ml-burger:before{content:'';position:absolute;inset:-2px}
 .ml-hd .ml-burger i{background:var(--ml-ink)}
}
@media(max-width:380px){.academy-brand{font-size:calc(var(--ml-fs-3) + 1px)}.ml-hd .ml-hd-in{gap:7px!important}.ml-hd .ml-logo{gap:6px!important}}
:root[data-ml-spacing=wide] :is(.ml-course-screen p,.ml-course-screen li,.ml-course-screen dd,.ml-course-screen td,.ml-editorial-page p,.ml-editorial-page li,.ml-editorial-page dd,.ml-editorial-page td,.ml-auth p){line-height:var(--ml-lh-body)!important;word-spacing:.08em}
@media(prefers-reduced-motion:reduce){.academy-progress-track i{transition:none}.goal-header *,.auth-brand-symbol *{animation:none!important}}
@media print{.goal-app-rail,.goal-full-menu{display:none!important}}

/* The account status is a real account link, never a points counter of its own. */
.ml-hd .ml-account-status{display:flex;align-items:center;gap:9px;flex:none;min-height:44px;padding:3px 7px;border:1px solid var(--ml-line);border-radius:8px;background:var(--ml-tint);color:var(--ml-ink);text-decoration:none;box-sizing:border-box}
.ml-hd .ml-account-status:hover{background:var(--ml-accent-soft);border-color:var(--ml-accent-line)}
.ml-account-status img{display:block;width:42px;height:42px;object-fit:contain;flex:none}
.ml-account-copy{display:grid;gap:2px;font-size:var(--ml-fs-1);line-height:1.2;white-space:nowrap}
.ml-account-copy strong{font-weight:750;font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis}
.ml-account-level{color:var(--ml-muted);font-size:calc(var(--ml-fs-3) - 5px)}
.ml-account-points-mobile{display:none}
@media(max-width:800px){
 .ml-hd .ml-account-status{gap:5px;padding:3px 4px;border:0;background:transparent;min-width:44px;max-width:160px;flex:0 0 auto}
 .ml-account-status img{width:36px;height:36px}
 .ml-account-copy{font-size:calc(var(--ml-fs-3) - 5px)}
 .ml-account-level{display:none}
 .ml-account-points-desktop{display:none}
 .ml-account-points-mobile{display:inline}
}
@media(max-width:480px){
 .ml-hd .ml-hd-in{padding-inline:12px!important;gap:6px!important}
 .ml-hd .academy-brand{white-space:normal;font-size:calc(var(--ml-fs-3) + 1px);line-height:1.15}
 .ml-hd:has(.ml-account-status) .ml-hd-in{padding-inline:12px!important;gap:6px!important}
 .ml-hd:has(.ml-account-status) .ml-logo{min-width:160px;gap:6px!important}
 .ml-hd:has(.ml-account-status) .academy-brand{white-space:normal;overflow-wrap:normal;word-break:normal;font-size:calc(var(--ml-fs-3) + 1px);line-height:1.15}
 .ml-hd .ml-account-status{flex-direction:column;justify-content:center;gap:0;max-width:70px;flex:0 0 auto;padding:2px;min-height:56px}
 .ml-account-copy{font-size:calc(var(--ml-fs-3) - 7px);line-height:1.2;max-width:74px}
}

/* A matching icon family with a quiet selection marker, sized for a thumb. */
.ml-tabbar{border:1px solid var(--ml-line)!important;border-radius:16px!important;background:var(--ml-surface)!important;box-shadow:0 4px 24px rgb(9 44 77 / .1)!important}
.ml-tabbar :is(a,button){position:relative;min-height:56px!important;gap:3px!important;font-size:var(--ml-fs-1)!important;font-weight:650!important;border-radius:12px!important}
.ml-tabbar .ml-tb-i{position:relative;z-index:1;width:27px!important;height:27px!important;overflow:visible}
.ml-tabbar .ml-tb-i+span{position:relative;z-index:1;line-height:1.3}
.ml-nav-icon-accent{stroke:var(--ml-accent-text)}
.ml-nav-icon-paper{fill:var(--ml-surface)}
.ml-tabbar :is(a.is-on,button[aria-expanded=true]){background:transparent!important;color:var(--ml-accent-text)!important;font-weight:800!important}
.ml-tabbar :is(a.is-on,button[aria-expanded=true]):before{content:'';position:absolute;top:3px;width:48px;height:32px;border-radius:10px;background:var(--ml-accent-soft)}
.ml-tabbar :is(a.is-on,button[aria-expanded=true]) .ml-tb-i{stroke:var(--ml-accent-text)}
.ml-tabbar :is(a,button):focus-visible{outline-offset:1px}
@media(prefers-reduced-motion:reduce){.ml-tabbar,.ml-tabbar *{animation:none!important;transition:none!important}}


/* academy-public */
/* Public page families; the shared academy shell owns brand tokens and navigation. */
.ml-page-home .ml-home-member,
.ml-page-home .ml-home-guest { background: var(--ml-bg) !important; border-radius: 0 !important; border-bottom: 1px solid var(--ml-line); }
.ml-page-home .ml-home-member-layout { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr); gap: 24px 48px; padding-block: 40px !important; align-items: start; }
/* Legacy home CSS reserved 150vh for a dashboard and absolutely positioned the installs.
   These new layouts size themselves to their actual content, in both authentication states. */
.ml-page-home :is(.ml-home-member, .ml-home-guest),
.ml-page-home .ml-home-member .ml-home-member-layout,
.ml-page-home .ml-home-guest .ml-home-guest-layout { height: auto !important; min-height: 0 !important; max-height: none !important; block-size: auto !important; min-block-size: 0 !important; max-block-size: none !important; }
.ml-page-home .ml-home-member .ml-home-member-layout,
.ml-page-home .ml-home-guest .ml-home-guest-layout { grid-template-rows: none !important; grid-auto-rows: auto !important; align-content: start !important; align-items: start !important; }
.ml-page-home .ml-home-member .ml-getapps.ml-home-apps,
.ml-page-home .ml-home-guest .ml-home-apps { position: static !important; inset: auto !important; height: auto !important; min-height: 0 !important; max-height: none !important; flex-direction: row !important; align-items: flex-start !important; grid-row: auto !important; grid-column: 1 / -1; padding: 16px 0 0 !important; border: 0 !important; border-top: 1px solid var(--ml-line) !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; }
.ml-page-home .ml-home-apps > div { position: static !important; height: auto !important; min-height: 0 !important; max-height: none !important; }
.ml-page-home .ml-home-demo-column,
.ml-page-home .ml-home-demo { height: auto !important; min-height: 0 !important; max-height: none !important; position: static !important; }
.ml-page-home .ml-home-welcome { min-width: 0; }
.ml-page-home .ml-home-welcome > h1 { font-size: clamp(calc(var(--ml-fs-3) + 14px), calc(3.5vw + var(--ml-fs-3) - 18px), calc(var(--ml-fs-3) + 26px)) !important; line-height: 1.2 !important; font-weight: 800 !important; margin-block: 12px 16px !important; text-wrap: balance; }
.ml-page-home .ml-home-welcome > p { font-size: calc(var(--ml-fs-3) + 2px) !important; max-width: 46ch !important; line-height: 1.7 !important; }
.ml-page-home .ml-home-shortcuts { border: 1px solid var(--ml-line); border-radius: 10px; padding: 22px; background: var(--ml-surface); }
.ml-page-home .ml-home-shortcuts > h2 { font-size: var(--ml-fs-5) !important; margin: 0 0 16px; font-weight: 800; }
.ml-page-home .ml-home-shortcuts > a { display: flex; align-items: center; gap: 14px; padding-block: 14px; border-top: 1px solid var(--ml-line); color: var(--ml-ink); min-height: 64px; }
.ml-page-home .ml-home-shortcuts > a:hover { color: var(--ml-accent-text); }
.ml-page-home .ml-home-shortcuts > a > span:nth-child(2) { flex: 1; min-width: 0; }
.ml-page-home .ml-home-shortcuts strong { display: block; font-size: calc(var(--ml-fs-3) + 2px); font-weight: 700; }
.ml-page-home .ml-home-shortcuts small { display: block; color: var(--ml-muted); font-size: var(--ml-fs-2); line-height: 1.5; margin-top: 4px; }
.ml-page-home .ml-shortcut-icon { display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; color: var(--ml-accent-text); flex: none; }
.ml-page-home .ml-shortcut-icon svg { width: 32px; height: 32px; }
.ml-page-home .ml-home-guest-layout { display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px !important; padding-block: 52px !important; align-items: start !important; }
.ml-page-home .ml-home-intro { min-width: 0 !important; max-width: none !important; }
.ml-page-home .ml-home-intro > h1 { font-size: clamp(calc(var(--ml-fs-3) + 18px), calc(3.6vw + var(--ml-fs-3) - 18px), calc(var(--ml-fs-3) + 30px)) !important; font-weight: 800 !important; line-height: 1.15 !important; margin-block: 14px 18px !important; text-wrap: balance; }
.ml-page-home .ml-home-intro .ml-sub { font-size: calc(var(--ml-fs-5) + 2px) !important; line-height: 1.4 !important; margin-top: 0 !important; color: var(--ml-ink) !important; }
.ml-page-home .ml-home-intro .ml-lede { font-size: calc(var(--ml-fs-3) + 2px) !important; line-height: 1.75 !important; }
.ml-page-home .ml-home-demo-column { min-width: 0; width: 100% !important; max-width: none !important; }
.ml-page-home .ml-home-demo { width: 100% !important; min-width: 0; border: 1px solid var(--ml-line); border-radius: 10px !important; background: var(--ml-surface); padding: 22px; box-shadow: 0 8px 28px rgb(8 38 75 / .04); box-sizing: border-box; }
.ml-page-home .ml-home-demo .ml-float { animation: none !important; }
.ml-page-home .ml-home-demo .ml-stagetabs { gap: 4px; margin-block: 14px !important; }
.ml-page-home .ml-home-demo .ml-stagetabs > button { min-height: 44px; border-radius: 6px !important; }
.ml-page-home .ml-home-countdown { padding: 14px 0 !important; margin-top: 20px !important; border-top: 1px solid var(--ml-line); border-radius: 0 !important; background: transparent !important; }
.ml-page-home .ml-home-countdown:empty { display: none; }
.ml-page-home .ml-home-apps { grid-column: 1 / -1; display: flex; gap: 12px; flex-wrap: wrap; margin-top: 16px !important; padding-top: 16px; border-top: 1px solid var(--ml-line); }
.ml-page-home .ml-home-apps > div { display: grid; grid-template-columns: 42px minmax(0, 1fr) auto; align-items: center; gap: 8px; width: auto !important; flex: 1 1 210px; min-width: 0; background: var(--ml-surface); border: 1px solid var(--ml-line); border-radius: 8px; padding: 12px; }
.ml-page-home .ml-home-apps > div > img { width: 42px !important; height: 42px !important; border-radius: 8px !important; box-shadow: none !important; margin: 0 !important; }
.ml-page-home .ml-home-app-name { color: var(--ml-ink); font-size: var(--ml-fs-2); line-height: 1.4; font-weight: 700; }
.ml-page-home .ml-home-apps [data-ml-install] { margin-top: 0 !important; width: auto !important; min-height: 44px; padding: 10px !important; border-radius: 6px !important; }
.ml-page-home .ml-sec { padding-block: 54px !important; }
.ml-page-home .ml-home-tour { max-width: 1160px; }
.ml-page-home .ml-tourcards { border-radius: 0 !important; box-shadow: none !important; }
.ml-page-home .ml-tourcard { border: 1px solid var(--ml-line); border-radius: 8px !important; box-shadow: none !important; }
.ml-page-home .ml-faq-grid { gap: 12px !important; }
.ml-page-home .ml-faq { border-radius: 8px !important; background: var(--ml-surface); border: 1px solid var(--ml-line); box-shadow: none !important; }
.ml-page-home .ml-faq summary { min-height: 52px; }
.ml-page-home .ml-band { background: var(--ml-bg) !important; border-block: 1px solid var(--ml-line); color: var(--ml-ink); }
.ml-page-home .ml-plan-hot { border: 1px solid var(--ml-accent-line); background: var(--ml-surface) !important; border-radius: 10px !important; box-shadow: none !important; }
.ml-page-home .ml-statrow > div { border-radius: 7px !important; box-shadow: none !important; }
.ml-page-home :is(.ml-btn, .ml-btn2, .ml-glow) { min-height: 48px; border-radius: 7px !important; font-size: var(--ml-fs-3); }

/* The existing personal dashboard spans the new home layout; all of its live panels stay present. */
.ml-page-home .ml-home-member-layout > #ml-dash { grid-column: 1 / -1; order: 2; width: 100%; min-width: 0; min-height: 0 !important; margin-top: 4px; }
.ml-page-home .ml-home-member-layout > .ml-home-apps { order: 3; }
.ml-page-home #ml-dash .d-grid { gap: 16px; }
.ml-page-home #ml-dash .d-card,
.ml-page-home #ml-dash .d-face { border: 1px solid var(--ml-line); border-radius: 8px; box-shadow: none; background: var(--ml-surface); }
.ml-page-home #ml-dash .d-card { padding: 20px; }
.ml-page-home #ml-dash .d-v { font-weight: 800; color: var(--ml-ink); }
.ml-page-home #ml-dash h3 { font-weight: 800; font-size: var(--ml-fs-4); line-height: 1.35; margin-bottom: 16px; }
.ml-page-home #ml-dash .d-k,
.ml-page-home #ml-dash .d-sub,
.ml-page-home #ml-dash .d-meta { color: var(--ml-muted); line-height: 1.6; }
.ml-page-home #ml-dash .d-tabbar { gap: 24px; padding-bottom: 0; margin-bottom: 20px; }
.ml-page-home #ml-dash .d-tab { min-height: 46px; padding: 8px 4px 12px; font-size: var(--ml-fs-3); }
.ml-page-home #ml-dash .d-cta { border-radius: 6px; min-height: 46px; }
.ml-page-home #ml-dash .d-cta.is-ghost { border: 1px solid var(--ml-line); background: var(--ml-surface); }
.ml-page-home #ml-dash .d-repo-f { min-height: 44px; border: 1px solid var(--ml-line); border-radius: 6px; background: var(--ml-surface); }
.ml-page-home #ml-dash .d-repo-f[aria-pressed="true"] { border-color: var(--ml-accent); background: var(--ml-accent-soft); }
.ml-page-home #ml-dash .d-repo-item { border: 1px solid var(--ml-line); border-radius: 8px; background: var(--ml-surface); }
.ml-page-home #ml-dash .d-repo-star { width: 44px; height: 44px; border-radius: 6px; }
.ml-page-home #ml-dash .d-repo-tag,
.ml-page-home #ml-dash .d-ico.is-art { border-radius: 6px; }

/* Pricing: three comparable choices and an actual accessible table. */
.ml-page-pricing .ml-pricing-hero { background: var(--ml-bg) !important; border-bottom: 1px solid var(--ml-line); }
.ml-page-pricing .ml-public-heading { max-width: 1040px !important; padding-block: 46px 36px !important; }
.ml-page-pricing .ml-public-heading h1 { font-size: clamp(calc(var(--ml-fs-3) + 16px), calc(3.6vw + var(--ml-fs-3) - 18px), calc(var(--ml-fs-3) + 26px)) !important; font-weight: 800 !important; margin-block: 10px 16px !important; }
.ml-page-pricing .ml-public-heading > p:not(.ml-eyebrow) { font-size: calc(var(--ml-fs-3) + 2px) !important; line-height: 1.7 !important; max-width: 58ch !important; }
.ml-page-pricing .ml-billing-choice { display: inline-flex; border: 1px solid var(--ml-line); background: var(--ml-surface); border-radius: 8px; gap: 4px !important; padding: 4px; }
.ml-page-pricing .ml-billing-choice > button { border: 0; background: transparent; min-height: 46px; padding: 10px 24px; font: inherit; font-size: var(--ml-fs-3); font-weight: 700; color: var(--ml-muted); border-radius: 6px; cursor: pointer; }
.ml-page-pricing .ml-billing-choice > button[aria-pressed="true"] { background: var(--ml-accent); color: var(--ml-on-accent); }
.ml-page-pricing .ml-pricing-jump { display: block; width: max-content; margin: 14px auto 0; min-height: 44px; padding-block: 10px; box-sizing: border-box; font-size: var(--ml-fs-2); }
.ml-page-pricing .ml-pricing-plans { padding-top: 36px !important; }
.ml-page-pricing .ml-plangrid { gap: 22px !important; }
.ml-page-pricing .ml-pricing-card { position: relative; display: flex; flex-direction: column; background: var(--ml-surface); border: 1px solid var(--ml-line); padding: 28px !important; border-radius: 10px !important; box-shadow: none !important; min-width: 0; }
.ml-page-pricing .ml-pricing-card.ml-plan-hot { border-color: var(--ml-accent); box-shadow: inset 0 3px 0 var(--ml-accent) !important; }
.ml-page-pricing .ml-pricing-recommended { position: absolute; top: -14px; inset-inline-end: 20px; background: var(--ml-accent); color: var(--ml-on-accent); border-radius: 6px; padding: 5px 12px; font-size: var(--ml-fs-2); font-weight: 700; }
.ml-page-pricing .ml-pricing-name { margin: 0; font-size: calc(var(--ml-fs-5) + 2px) !important; line-height: 1.3; color: var(--ml-ink); }
.ml-page-pricing .ml-pricing-tagline { margin: 10px 0 0; min-height: 54px; color: var(--ml-muted); font-size: var(--ml-fs-3); line-height: 1.6; }
.ml-page-pricing .ml-pricing-price-block { min-height: 138px !important; padding-block: 8px 16px; margin-top: 14px !important; }
.ml-page-pricing .ml-pricing-price { font-size: clamp(calc(var(--ml-fs-3) + 14px), calc(3vw + var(--ml-fs-3) - 18px), calc(var(--ml-fs-3) + 22px)) !important; font-weight: 800 !important; color: var(--ml-ink) !important; white-space: nowrap; }
.ml-page-pricing .ml-pricing-price-note { font-size: var(--ml-fs-2) !important; line-height: 1.6; }
.ml-page-pricing .ml-pricing-card > a { width: 100%; box-sizing: border-box; min-height: 50px !important; border-radius: 7px !important; }
.ml-page-pricing .ml-pricing-features { margin-top: 20px !important; padding-top: 20px !important; gap: 12px !important; }
.ml-page-pricing .ml-pricing-feature { font-size: var(--ml-fs-3) !important; line-height: 1.65 !important; }
.ml-page-pricing .ml-pricing-feature > span { margin-top: 4px !important; }
.ml-page-pricing .ml-pricing-compare { scroll-margin-top: 100px; padding-top: 64px !important; }
.ml-page-pricing .ml-cmp { border: 1px solid var(--ml-line); border-radius: 8px !important; box-shadow: none !important; }
.ml-page-pricing .ml-plan-comparison { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: var(--ml-fs-3); line-height: 1.55; }
.ml-page-pricing .ml-plan-comparison th, .ml-page-pricing .ml-plan-comparison td { padding: 14px 18px; border-bottom: 1px solid var(--ml-line); text-align: center; color: var(--ml-text); overflow-wrap: anywhere; }
.ml-page-pricing .ml-plan-comparison th:first-child { width: 40%; text-align: start; font-weight: 600; color: var(--ml-ink); }
.ml-page-pricing .ml-plan-comparison thead th { background: var(--ml-bg); font-weight: 800; color: var(--ml-ink); padding-block: 18px; }
.ml-page-pricing .ml-plan-comparison tbody tr:nth-child(even) { background: var(--ml-bg); }
.ml-page-pricing .ml-plan-comparison .ml-c2 { background: var(--ml-accent-soft); color: var(--ml-accent-text); font-weight: 700; }
.ml-page-pricing .ml-plan-comparison tbody tr:last-child > * { border-bottom: 0; }
.ml-page-pricing .ml-public-sr { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; border: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
.ml-page-pricing .ml-cmp-filters .ml-chip { border: 1px solid var(--ml-line); background: var(--ml-surface); color: var(--ml-muted); border-radius: 6px; min-height: 44px; }
.ml-page-pricing .ml-cmp-filters .ml-chip[aria-pressed="true"] { background: var(--ml-accent-soft); border-color: var(--ml-accent); color: var(--ml-accent-text); }
.ml-page-pricing .ml-cmp-seg > button[aria-pressed="true"] { background: var(--ml-surface) !important; color: var(--ml-ink); box-shadow: inset 0 0 0 1px var(--ml-accent) !important; font-weight: 800; }
.ml-page-pricing .ml-pricing-compare > .ml-planx { border: 1px solid var(--ml-line); background: var(--ml-bg); border-radius: 8px !important; box-shadow: none !important; }

/* Shop: anchored product categories and usable previews, with every original order link. */
.ml-page-shop .ml-shop { max-width: 1160px; padding: 40px 24px 80px !important; }
.ml-page-shop .ml-shop-hero { display: grid; grid-template-columns: minmax(0, 1fr) 160px; gap: 40px; align-items: center; padding-block: 8px 34px; }
.ml-page-shop .ml-shop-intro > h1 { max-width: 23ch; font-size: clamp(calc(var(--ml-fs-3) + 16px), calc(3.6vw + var(--ml-fs-3) - 18px), calc(var(--ml-fs-3) + 26px)) !important; line-height: 1.2 !important; text-wrap: balance; margin: 12px 0 18px; }
.ml-page-shop .ml-shop-lede { font-size: calc(var(--ml-fs-3) + 2px) !important; line-height: 1.7 !important; margin: 0; max-width: 62ch; }
.ml-page-shop .ml-shop-hero-art { display: flex; align-items: center; justify-content: center; width: 144px; height: 144px; border-radius: 50%; background: var(--ml-accent-soft); color: var(--ml-accent-text); }
.ml-page-shop .ml-shop-hero-art svg { width: 88px; height: 88px; }
.ml-page-shop .ml-shop-categories { position: sticky; top: 72px; z-index: 8; display: flex; align-items: center; gap: 12px; padding-block: 12px; border-block: 1px solid var(--ml-line); background: var(--ml-bg); }
.ml-page-shop .ml-shop-categories > a { min-height: 46px; display: inline-flex; align-items: center; justify-content: center; padding: 10px 20px; box-sizing: border-box; background: var(--ml-surface); color: var(--ml-ink); border: 1px solid var(--ml-line); border-radius: 7px; font-size: var(--ml-fs-3); font-weight: 700; }
.ml-page-shop .ml-shop-categories > a:hover { border-color: var(--ml-accent); background: var(--ml-accent-soft); }
.ml-page-shop .ml-shop-category { scroll-margin-top: 164px; padding-block: 36px 12px; }
.ml-page-shop .ml-shop-sec { display: flex; align-items: baseline; flex-wrap: wrap; gap: 12px 24px; margin: 0 0 24px; padding: 0; border: 0; }
.ml-page-shop .ml-shop-sec h2 { font-size: calc(var(--ml-fs-5) + 2px) !important; font-weight: 800; margin: 0; color: var(--ml-ink); }
.ml-page-shop .ml-shop-sec > span { font-size: var(--ml-fs-3); line-height: 1.5; color: var(--ml-muted); }
.ml-page-shop .ml-shop-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px !important; }
.ml-page-shop .ml-shop-card { position: relative; border: 1px solid var(--ml-line); border-radius: 10px !important; box-shadow: none !important; padding: 26px !important; background: var(--ml-surface); min-width: 0; }
.ml-page-shop .ml-shop-card:hover { transform: none !important; border-color: var(--ml-accent-line); }
.ml-page-shop .ml-shop-card.is-pick { border-color: var(--ml-accent) !important; box-shadow: inset 0 3px 0 var(--ml-accent) !important; }
.ml-page-shop .ml-shop-kind { color: var(--ml-accent-text); font-size: var(--ml-fs-2); font-weight: 700; }
.ml-page-shop .ml-shop-card h3 { margin-block: 10px 14px; font-size: var(--ml-fs-5); font-weight: 800; line-height: 1.3; }
.ml-page-shop .ml-shop-card > p { font-size: var(--ml-fs-3); line-height: 1.7; color: var(--ml-text); }
.ml-page-shop .ml-shop-price b { color: var(--ml-ink); font-size: calc(var(--ml-fs-3) + 16px); font-weight: 800; }
.ml-page-shop .ml-shop-price span, .ml-page-shop .ml-shop-year { color: var(--ml-muted); font-size: var(--ml-fs-2) !important; line-height: 1.6; }
.ml-page-shop .ml-shop-tag { background: var(--ml-accent); color: var(--ml-on-accent); padding: 5px 12px; border-radius: 6px; top: -14px; font-size: var(--ml-fs-2); }
.ml-page-shop .ml-shop-inc { font-size: var(--ml-fs-3); line-height: 1.65; gap: 10px; }
.ml-page-shop .ml-shop-acts { gap: 10px; margin-top: 20px; }
.ml-page-shop .ml-shop-go, .ml-page-shop .ml-shop-buy, .ml-page-shop .ml-shop-try { min-height: 48px; border-radius: 7px; font-size: var(--ml-fs-3); }
.ml-page-shop .ml-shop-try { border: 1px solid var(--ml-line); background: var(--ml-bg); color: var(--ml-ink); }
.ml-page-shop .ml-shop-cover { height: 250px; margin: 0 0 22px; display: flex; align-items: center; justify-content: center; background: var(--ml-bg); border-radius: 7px; padding: 16px; }
.ml-page-shop .ml-shop-cover img { max-width: 100%; max-height: 100%; object-fit: contain; width: auto; height: auto; box-shadow: 0 6px 16px rgb(8 38 75 / .1); border-radius: 2px; }
.ml-page-shop .ml-shop-deal { border: 1px solid var(--ml-accent-line); border-radius: 10px !important; background: var(--ml-accent-soft); box-shadow: none !important; margin-block: 26px; padding: 28px; gap: 32px; }
.ml-page-shop .ml-shop-deal h3 { font-size: var(--ml-fs-5); font-weight: 800; color: var(--ml-ink); }
.ml-page-shop .ml-shop-deal-p { font-size: var(--ml-fs-3); line-height: 1.7; }
.ml-page-shop .ml-shop-deal-price b { color: var(--ml-ink); font-size: calc(var(--ml-fs-3) + 20px); font-weight: 800; }
.ml-page-shop .ml-shop-note { border: 1px solid var(--ml-line); background: var(--ml-surface); border-radius: 8px; padding: 20px; font-size: var(--ml-fs-3); line-height: 1.7; }
.ml-page-shop .ml-shop-ship h3 { font-size: var(--ml-fs-4); font-weight: 800; margin-top: 0; }
.ml-page-shop .ml-shop-more { line-height: 1.7; }

@media (max-width: 900px) {
  .ml-page-home .ml-home-member-layout { grid-template-columns: minmax(0, 1fr) minmax(260px, .85fr); gap: 24px; }
  .ml-page-home .ml-home-guest-layout { grid-template-columns: minmax(0, 1fr) !important; }
  .ml-page-home .ml-home-demo-column { max-width: 680px !important; justify-self: center; }
  .ml-page-pricing .ml-plangrid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 14px !important; }
  .ml-page-pricing .ml-pricing-card { padding: 22px 18px !important; }
  .ml-page-shop .ml-shop-grid { gap: 16px !important; }
  .ml-page-shop .ml-shop-card { padding: 22px 18px !important; }
}
@media (max-width: 700px) {
  .ml-page-home .ml-home-member-layout { grid-template-columns: minmax(0, 1fr); padding-inline: 16px !important; padding-block: 30px !important; }
  .ml-page-home .ml-home-welcome > h1 { font-size: calc(var(--ml-fs-3) + 14px) !important; }
  .ml-page-home .ml-home-shortcuts { padding: 18px; }
  .ml-page-home .ml-home-guest-layout { padding: 32px 16px !important; gap: 26px !important; }
  .ml-page-home .ml-home-intro > h1 { font-size: calc(var(--ml-fs-3) + 18px) !important; }
  .ml-page-home .ml-home-intro .ml-sub { font-size: var(--ml-fs-5) !important; }
  .ml-page-home .ml-home-demo { padding: 18px; }
  .ml-page-home .ml-sec { padding-block: 36px !important; }
  .ml-page-home .ml-home-apps > div { flex-basis: 100%; }
  .ml-page-home #ml-dash .d-main { grid-template-columns: minmax(0, 1fr); }
  .ml-page-home #ml-dash .d-card { padding: 16px; }
  .ml-page-home #ml-dash .d-tabbar { gap: 12px; flex-wrap: wrap; }
  .ml-page-pricing .ml-public-heading { padding: 32px 16px 28px !important; }
  .ml-page-pricing .ml-public-heading h1 { font-size: calc(var(--ml-fs-3) + 16px) !important; }
  .ml-page-pricing .ml-pricing-plans { padding-inline: 16px !important; }
  .ml-page-pricing .ml-plangrid { grid-template-columns: minmax(0, 1fr) !important; gap: 26px !important; }
  .ml-page-pricing .ml-pricing-card { padding: 26px !important; }
  .ml-page-pricing .ml-pricing-tagline { min-height: 0; }
  .ml-page-pricing .ml-pricing-price-block { min-height: 0 !important; padding-bottom: 20px; }
  .ml-page-pricing .ml-pricing-compare { padding-inline: 16px !important; padding-top: 44px !important; }
  .ml-page-pricing .ml-plan-comparison th:first-child { width: 62%; }
  .ml-page-pricing .ml-plan-comparison th, .ml-page-pricing .ml-plan-comparison td { padding: 12px; font-size: var(--ml-fs-2); }
  .ml-page-pricing .ml-cmp-seg { display: flex; }
  .ml-page-pricing .ml-cmp-seg > button { min-height: 44px; }
  .ml-page-pricing .ml-cmp[data-plan="1"] :is(.ml-c2, .ml-c3),
  .ml-page-pricing .ml-cmp[data-plan="2"] :is(.ml-c1, .ml-c3),
  .ml-page-pricing .ml-cmp[data-plan="3"] :is(.ml-c1, .ml-c2) { display: none; }
  .ml-page-pricing .ml-billing-choice > button { padding-inline: 16px; }
  .ml-page-shop .ml-shop { padding: 28px 16px 60px !important; }
  .ml-page-shop .ml-shop-hero { grid-template-columns: minmax(0, 1fr); gap: 20px; padding-bottom: 24px; }
  .ml-page-shop .ml-shop-intro > h1 { font-size: calc(var(--ml-fs-3) + 14px) !important; }
  .ml-page-shop .ml-shop-hero-art { display: none; }
  .ml-page-shop .ml-shop-categories { top: 64px; gap: 8px; padding-block: 10px; }
  .ml-page-shop .ml-shop-categories > a { flex: 1; padding: 10px 8px; font-size: var(--ml-fs-2); }
  .ml-page-shop .ml-shop-category { scroll-margin-top: 146px; padding-top: 28px; }
  .ml-page-shop .ml-shop-sec { display: block; margin-bottom: 22px; }
  .ml-page-shop .ml-shop-sec > span { display: block; margin-top: 8px; }
  .ml-page-shop .ml-shop-grid { grid-template-columns: minmax(0, 1fr) !important; gap: 24px !important; }
  .ml-page-shop .ml-shop-card { padding: 24px !important; }
  .ml-page-shop .ml-shop-cover { height: 270px; }
  .ml-page-shop .ml-shop-deal { padding: 22px; flex-direction: column; align-items: stretch; gap: 22px; }
  .ml-page-shop .ml-shop-deal-price { min-width: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .ml-page-home * { scroll-behavior: auto !important; }
}


/* academy-about */
/* About: an authored profile, real evidence, and clear ways to get in touch. */
.academy-about{background:var(--ml-bg);color:var(--ml-text)}
.academy-about *, .academy-about *::before, .academy-about *::after{box-sizing:border-box}
.academy-about-width{max-width:1160px;margin-inline:auto;padding-inline:28px}
.academy-about .academy-kicker{margin:0 0 12px;font-size:var(--ml-fs-2);font-weight:700;color:var(--ml-accent-text)}
.academy-about h1,.academy-about h2,.academy-about h3{color:var(--ml-ink);font-family:var(--ml-font);letter-spacing:-.02em}
.academy-about h1{margin:0;font-size:clamp(calc(2.2rem + var(--ml-fs-3) - 18px),calc(3.6vw + var(--ml-fs-3) - 18px),calc(var(--ml-fs-3) + 24px));font-weight:800;line-height:1.15}
.academy-about h2{margin:0;font-size:var(--ml-fs-5);font-weight:800;line-height:1.25}
.academy-about h3{font-size:var(--ml-fs-3);font-weight:800;line-height:1.35}
.academy-about p{font-size:var(--ml-fs-3);line-height:1.75;text-wrap:pretty}
.academy-about a{transition:background .15s ease,border-color .15s ease;min-height:44px}
.academy-about a:active{transform:none!important;filter:none!important}
.academy-about-hero{display:grid;grid-template-columns:minmax(0,1fr) 360px;align-items:center;gap:72px;padding-block:52px 40px}
.academy-about-story{min-width:0}
.academy-about-intro{margin:24px 0;max-width:60ch}
.academy-about-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-block:24px 32px}
.academy-about-actions a{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:10px 18px;border:1px solid var(--ml-line);border-radius:6px;font-weight:700;background:var(--ml-surface);color:var(--ml-ink);box-shadow:none}
.academy-about-actions a.ml-wa{background:var(--ml-accent);border-color:var(--ml-accent);color:var(--ml-on-accent)}
.academy-about-actions a svg{width:20px;height:20px;flex:none}
.academy-about-actions a:hover{border-color:var(--ml-accent-text)}
.academy-credentials{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:22px 0 0;margin:0;border-top:1px solid var(--ml-line)}
.academy-credentials>div{padding-inline:16px;border-inline-start:1px solid var(--ml-line)}
.academy-credentials>div:first-child{padding-inline-start:0;border:0}
.academy-credentials dt{margin:0;color:var(--ml-ink);font-size:var(--ml-fs-2);line-height:1.55;font-weight:700}
.academy-credentials dt bdi{display:block;font-weight:800;color:var(--ml-accent-text)}
.academy-credentials dt span{display:block}
.academy-credentials dd{margin:5px 0 0;font-size:var(--ml-fs-1);line-height:1.6;color:var(--ml-muted)}
.academy-about-portrait{margin:0;border:1px solid var(--ml-line);border-radius:10px;background:var(--ml-surface);overflow:hidden;align-self:start}
.academy-about-portrait>img{display:block;width:100%;height:390px;object-fit:cover;object-position:50% 18%}
.academy-about-portrait figcaption{display:flex;flex-direction:column;gap:4px;padding:20px 24px;font-size:var(--ml-fs-2);line-height:1.5;color:var(--ml-muted);border-top:1px solid var(--ml-line)}
.academy-about-portrait strong{font-size:var(--ml-fs-3);color:var(--ml-ink);font-weight:800}
.academy-about-portrait bdi{font-size:var(--ml-fs-1);color:var(--ml-accent-text);margin-top:2px}
.academy-about-evidence{padding-block:8px 16px}
.academy-about-evidence dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:24px 0;background:var(--ml-surface);border:1px solid var(--ml-line);border-radius:8px}
.academy-about-evidence dl>div{padding-inline:24px;border-inline-start:1px solid var(--ml-line)}
.academy-about-evidence dl>div:first-child{border:0}
.academy-about-evidence dt{font-size:var(--ml-fs-5);font-weight:800;color:var(--ml-ink);line-height:1.2}
.academy-about-evidence dd{margin:8px 0 0;color:var(--ml-muted);font-size:var(--ml-fs-2);line-height:1.5}
.academy-about-section{padding-block:38px 12px}
.academy-about-section-head{display:flex;gap:24px;align-items:flex-end;justify-content:space-between;margin-bottom:24px}
.academy-about-section-head .academy-kicker{margin-bottom:8px}
.academy-about-section-head>p{margin:0;color:var(--ml-muted);font-size:var(--ml-fs-2)}
.academy-about-section-head>a{display:inline-flex;align-items:center;gap:10px;font-size:var(--ml-fs-2);font-weight:700;white-space:nowrap}
.academy-approach-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.academy-approach-grid article{position:relative;padding:24px;background:var(--ml-surface);border:1px solid var(--ml-line);border-radius:8px}
.academy-approach-grid svg{width:34px;height:34px;color:var(--ml-accent-text);display:block}
.academy-approach-number{position:absolute;top:24px;inset-inline-end:24px;color:var(--ml-subtle);font-size:var(--ml-fs-1);font-weight:700}
.academy-approach-grid h3{margin:16px 0 8px}
.academy-approach-grid p{margin:0;color:var(--ml-muted);font-size:var(--ml-fs-2);line-height:1.65}
.academy-about-books-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.academy-about-book{display:flex;align-items:center;gap:20px;min-width:0;padding:24px 20px;background:var(--ml-surface);border:1px solid var(--ml-line);border-radius:8px}
.academy-about-book .ml-bookimg{width:100px;height:150px;object-fit:contain;flex:none}
.academy-about-book>div{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:8px;font-size:var(--ml-fs-2);line-height:1.5;color:var(--ml-muted)}
.academy-about-book>div>h3{margin:0;font-weight:800;color:var(--ml-ink);font-size:var(--ml-fs-3)}
.academy-about-book>div>div:nth-child(3){color:var(--ml-accent-text);font-size:var(--ml-fs-3);font-weight:800}
.academy-about-book .ml-dl{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 10px;border:1px solid var(--ml-line);border-radius:6px;font-size:var(--ml-fs-1);color:var(--ml-ink);background:var(--ml-surface);font-weight:700;white-space:normal}
.academy-about-book .ml-dl:hover{border-color:var(--ml-accent-text);background:var(--ml-accent-soft)}
.academy-about-classroom>p,.academy-about-lessons>p{margin:12px 0 24px;max-width:72ch}
.academy-about .ml-strip{width:100%;max-width:100%;margin:0;overflow-x:auto;direction:rtl;border-radius:8px;scroll-snap-type:x proximity;overscroll-behavior-inline:contain;padding-bottom:12px;scrollbar-color:var(--ml-line-strong) var(--ml-bg)}
.academy-about .ml-strip-track{display:flex;width:max-content;max-width:none;gap:16px;direction:rtl;animation:none!important}
.academy-about .ml-strip-track figure{width:320px!important;flex:none;margin:0!important;border:1px solid var(--ml-line);border-radius:8px;overflow:hidden;box-shadow:none;scroll-snap-align:start;background:var(--ml-surface)}
.academy-about .ml-strip-track figure img{display:block;width:100%;height:214px!important;object-fit:cover}
.academy-about .ml-strip-track figure[aria-hidden=true]{display:none}
.academy-about-quotes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.academy-about-quote{display:flex;flex-direction:column;justify-content:space-between;gap:24px;margin:0;padding:28px 24px;background:var(--ml-surface);border:1px solid var(--ml-line);border-radius:8px}
.academy-about-quote blockquote{margin:0;font-size:var(--ml-fs-2);line-height:1.8;color:var(--ml-text);text-wrap:pretty}
.academy-about-quote figcaption{display:flex;align-items:center;gap:12px;font-size:var(--ml-fs-2);border-top:1px solid var(--ml-line);padding-top:20px}
.academy-about-quote .ml-qimg{width:48px;height:48px;border-radius:50%;object-fit:cover;object-position:54% 46%;flex:none}
.academy-about-quote figcaption>span{display:flex;flex-direction:column;gap:2px}
.academy-about-quote strong{color:var(--ml-ink);font-weight:800}
.academy-about-quote figcaption>span>span{font-size:var(--ml-fs-1);color:var(--ml-muted)}
.academy-about-quote b{color:var(--ml-accent-text);font-weight:700}
.academy-tutoring-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding-top:12px}
.academy-about .ml-planx{position:relative;padding:24px;display:flex;flex-direction:column;min-width:0;border:1px solid var(--ml-line);border-radius:8px;background:var(--ml-surface);box-shadow:none;transform:none}
.academy-about .ml-planx h3{margin:10px 0 0;font-size:var(--ml-fs-4);font-weight:800;color:var(--ml-ink);line-height:1.3}
.academy-about .ml-planx>div:first-child{font-size:var(--ml-fs-1);color:var(--ml-accent-text);font-weight:700;line-height:1.5}
.academy-about .ml-planx>div:nth-child(2){font-size:var(--ml-fs-4);font-weight:800;color:var(--ml-ink);line-height:1.3;margin-top:10px}
.academy-about .ml-planx>div:nth-child(3){font-size:var(--ml-fs-2);color:var(--ml-muted);line-height:1.5;margin-top:8px}
.academy-about .ml-planx:nth-child(2)>div:first-child{position:absolute;top:-13px;inset-inline-start:20px;padding:4px 12px;line-height:1.5;border-radius:4px;background:var(--ml-accent);color:var(--ml-on-accent)}
.academy-about .ml-planx:nth-child(2)>div:nth-child(2){font-size:var(--ml-fs-1);color:var(--ml-accent-text);margin:0;font-weight:700}
.academy-about .ml-planx:nth-child(2)>div:nth-child(3){font-size:var(--ml-fs-4);font-weight:800;color:var(--ml-ink);margin-top:10px;line-height:1.3}
.academy-about .ml-planx:nth-child(2)>div:nth-child(4){font-size:var(--ml-fs-2);color:var(--ml-muted);line-height:1.5;margin-top:8px}
.academy-about .ml-planx ul{display:flex;flex-direction:column;gap:12px;list-style:none;margin:24px 0;padding:0;flex:1}
.academy-about .ml-planx li{display:flex;align-items:flex-start;gap:8px;font-size:var(--ml-fs-2);line-height:1.6;color:var(--ml-muted)}
.academy-about .ml-planx li span{color:var(--ml-accent-text);font-weight:700;flex:none}
.academy-about .ml-planx ul+div{font-size:var(--ml-fs-2);font-weight:700;color:var(--ml-accent-text);line-height:1.5;margin-bottom:16px}
.academy-about .ml-planx .ml-btn2{display:flex;align-items:center;justify-content:center;min-height:48px;padding:10px 14px;font-size:var(--ml-fs-2);font-weight:700;background:var(--ml-accent);color:var(--ml-on-accent);border:1px solid var(--ml-accent);border-radius:6px;box-shadow:none}
.academy-about-contact{padding-block:48px 64px}
.academy-about-contact-inner{display:flex;align-items:center;gap:32px;justify-content:space-between;padding:32px 36px;border:1px solid var(--ml-accent-line);border-radius:8px;background:var(--ml-accent-soft)}
.academy-about-contact-inner>div{flex:1;min-width:0}
.academy-about-contact-inner>div>h2{margin:0;color:var(--ml-ink);font-size:var(--ml-fs-4);font-weight:800;line-height:1.4}
.academy-about-contact-inner>div>h2+div{margin-top:8px;color:var(--ml-text);font-size:var(--ml-fs-2);line-height:1.7}
.academy-about-contact-inner>a{display:inline-flex;align-items:center;justify-content:center;gap:10px;flex:none;font-size:var(--ml-fs-2);font-weight:700;padding:12px 20px;background:var(--ml-accent);color:var(--ml-on-accent);border:1px solid var(--ml-accent);border-radius:6px}
.academy-about-contact-inner .ai{width:20px;height:20px}
@media(max-width:1100px){.academy-about-hero{gap:40px;grid-template-columns:minmax(0,1fr) 310px}.academy-about-portrait>img{height:360px}.academy-about-books-grid{gap:14px}.academy-about-book{flex-direction:column;align-items:flex-start;padding:20px}.academy-about-book .ml-bookimg{align-self:center;width:120px;height:164px}.academy-about-book>div{width:100%}.academy-about-book .ml-dl{width:100%;margin-top:4px}.academy-credentials>div{padding-inline:12px}.academy-tutoring-grid{gap:14px}.academy-about .ml-planx{padding:20px}}
@media(max-width:800px){.academy-about-width{padding-inline:20px}.academy-about-hero{grid-template-columns:minmax(0,1fr) 250px;gap:28px;padding-block:36px 28px}.academy-about-portrait>img{height:300px}.academy-credentials{grid-template-columns:1fr;padding-top:16px;gap:12px}.academy-credentials>div{display:flex;align-items:baseline;gap:12px;border:0;padding:0}.academy-credentials dt{display:flex;gap:8px;flex-wrap:wrap}.academy-credentials dd{margin:0}.academy-about-evidence dl{padding:20px 0}.academy-about-evidence dl>div{padding-inline:16px}.academy-about-evidence dd{font-size:var(--ml-fs-1)}.academy-approach-grid{gap:12px}.academy-approach-grid article{padding:20px 16px}.academy-about-quotes{grid-template-columns:1fr;gap:14px}.academy-about-quote{padding:24px;gap:18px}.academy-about-quote figcaption{padding-top:16px}.academy-tutoring-grid{grid-template-columns:1fr;gap:24px}.academy-about .ml-planx{padding:24px}.academy-about-contact-inner{padding:28px;gap:24px}.academy-about-contact-inner>a{padding-inline:16px}}
@media(max-width:600px){.academy-about-width{padding-inline:16px}.academy-about-hero{grid-template-columns:1fr;gap:28px;padding-top:28px}.academy-about-intro{margin:20px 0}.academy-about-actions{margin-block:20px 24px;gap:10px}.academy-about-actions a{padding-inline:14px;font-size:var(--ml-fs-2)}.academy-about-portrait{display:grid;grid-template-columns:136px 1fr;align-items:center}.academy-about-portrait>img{width:136px;height:170px;object-position:50% 20%}.academy-about-portrait figcaption{padding:18px 20px;border-top:0;border-inline-start:1px solid var(--ml-line)}.academy-about-portrait strong{font-size:var(--ml-fs-2)}.academy-about-portrait figcaption>span{font-size:var(--ml-fs-1)}.academy-about-evidence dl{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:22px;padding-block:24px}.academy-about-evidence dl>div:nth-child(3){border:0}.academy-about-evidence dt{font-size:var(--ml-fs-4)}.academy-about-evidence dd{max-width:18ch}.academy-about-section{padding-block:28px 10px}.academy-about-section-head{flex-wrap:wrap;gap:10px;margin-bottom:18px}.academy-about-section-head>a{font-size:var(--ml-fs-2)}.academy-about-section-head>p{width:100%}.academy-approach-grid{grid-template-columns:1fr;gap:12px}.academy-approach-grid article{padding:20px 20px 20px 44px}.academy-approach-grid h3{margin-top:12px}.academy-about-books-grid{grid-template-columns:1fr;gap:14px}.academy-about-book{flex-direction:row;gap:20px;padding:20px}.academy-about-book .ml-bookimg{width:106px;height:152px;align-self:center}.academy-about .ml-strip-track figure{width:272px!important}.academy-about .ml-strip-track figure img{height:188px!important}.academy-about-classroom>p,.academy-about-lessons>p{margin-bottom:20px}.academy-about-contact{padding-block:32px 40px}.academy-about-contact-inner{flex-direction:column;align-items:stretch;padding:24px;gap:20px}.academy-about-contact-inner>a{width:100%}.academy-about-quote{padding:24px 20px}.academy-about .ml-planx{padding:24px 20px}}
@media(prefers-reduced-motion:reduce){.academy-about a{transition:none}.academy-about .ml-strip{scroll-behavior:auto}}


/* academy-tools */
/* Learning tools: distinct workspaces, shared with the academy shell. */
.academy-page { min-height:100vh; background:var(--ml-bg); color:var(--ml-text); }
.academy-page button { font:inherit; }
.academy-page .academy-kicker { margin:0; color:var(--ml-accent-text); font-size:var(--ml-fs-2); font-weight:700; }
.academy-kicker>span { color:var(--ml-subtle); padding:0 12px; }
.academy-tool-header,.academy-qa-workspace,.academy-personal-header { max-width:1200px; margin:0 auto; padding:44px 40px 28px; box-sizing:border-box; }
.academy-header-line { display:flex; align-items:center; justify-content:space-between; gap:32px; margin-top:12px; }
.academy-page .academy-header-line h1,.academy-page .academy-personal-greeting h1 { font-size:var(--ml-fs-7); font-weight:800; line-height:1.18; letter-spacing:-.8px; margin:8px 0 12px; color:var(--ml-ink); }
.academy-header-line p,.academy-personal-greeting>p:last-child { font-size:var(--ml-fs-3); line-height:1.65; color:var(--ml-muted); max-width:66ch; margin:0; }
.academy-header-icon { width:90px; height:90px; padding:20px; box-sizing:border-box; background:var(--ml-accent-soft); color:var(--ml-accent-text); border-radius:50%; flex:none; }
.academy-header-icon svg { width:100%; height:100%; }
.academy-search { max-width:760px; margin-top:28px; }
.academy-search>label { display:block; font-weight:700; font-size:var(--ml-fs-2); margin-bottom:10px; color:var(--ml-ink); }
.academy-search-field { position:relative; }
.academy-search-field>svg,.academy-search-field>span { width:24px; height:24px; position:absolute; inset-inline-start:20px; top:50%; transform:translateY(-50%); color:var(--ml-accent-text); pointer-events:none; }
.academy-page .academy-search-field input { width:100%; min-height:62px; border:1px solid var(--ml-line-strong); background:var(--ml-surface); border-radius:8px; box-shadow:0 3px 16px rgba(8,38,75,.035); color:var(--ml-ink); padding:12px 56px 12px 20px; box-sizing:border-box; font:inherit; font-size:var(--ml-fs-3); }
.academy-page .academy-search-field input:focus { outline:3px solid var(--ml-accent-soft-2); outline-offset:2px; border-color:var(--ml-accent); }
.academy-glossary-workspace { max-width:1200px; padding:0 40px 72px; margin:0 auto; display:grid; grid-template-columns:244px minmax(0,1fr); align-items:start; gap:32px; box-sizing:border-box; }
.academy-filter-rail { position:sticky; top:96px; border:1px solid var(--ml-line); background:var(--ml-surface); border-radius:8px; padding:20px 12px 12px; }
.academy-rail-heading { padding:0 8px 16px; border-bottom:1px solid var(--ml-line); }
.academy-page .academy-rail-heading h2 { font-size:var(--ml-fs-3); font-weight:800; color:var(--ml-ink); margin:0 0 4px; }
.academy-rail-heading>span { font-size:var(--ml-fs-1); color:var(--ml-muted); }
.academy-subject-list { display:flex; flex-direction:column; padding-top:8px; gap:4px; }
.academy-page .academy-subject { min-height:48px; width:100%; display:flex; gap:12px; align-items:center; justify-content:space-between; text-align:start; padding:10px 12px; border:0; border-radius:5px; font-size:var(--ml-fs-2); color:var(--ml-text); background:transparent; box-shadow:none; cursor:pointer; }
.academy-page .academy-subject>span:last-child { opacity:0; color:var(--ml-accent-text); }
.academy-page .academy-subject:hover { background:var(--ml-sunken); }
.academy-page .academy-subject.is-on { background:var(--ml-accent-soft); color:var(--ml-accent-text); font-weight:800; box-shadow:inset -3px 0 var(--ml-accent); }
.academy-page .academy-subject.is-on>span:last-child { opacity:1; }
.academy-rail-note { margin-top:24px; padding:16px 8px 4px; border-top:1px solid var(--ml-line); color:var(--ml-muted); font-size:var(--ml-fs-1); line-height:1.7; }
.academy-rail-note svg { width:25px; height:25px; color:var(--ml-accent-text); }
.academy-rail-note p { margin:8px 0 0; }
.academy-glossary-results { min-width:0; }
.academy-alphabet { display:flex; flex-wrap:wrap; gap:6px; padding:16px; background:var(--ml-surface); border:1px solid var(--ml-line); border-radius:8px; }
.academy-page .academy-alphabet .gl-letter { min-width:44px; min-height:44px; padding:0 8px; border:1px solid transparent; border-radius:5px; background:transparent; font-size:var(--ml-fs-2); font-weight:700; color:var(--ml-muted); cursor:pointer; box-shadow:none; }
.academy-page .academy-alphabet .gl-letter:hover { background:var(--ml-sunken); }
.academy-page .academy-alphabet .gl-letter.is-on { background:var(--ml-accent-soft); color:var(--ml-accent-text); border-color:var(--ml-accent-line); }
.academy-result-bar { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; padding:16px 0; }
.academy-result-bar>p { font-size:var(--ml-fs-2); color:var(--ml-muted); margin:0; }
.academy-result-actions { display:flex; gap:12px; flex-wrap:wrap; align-items:center; }
.academy-page .academy-text-button { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:8px 12px; border:0; border-radius:5px; color:var(--ml-accent-text); font-size:var(--ml-fs-2); font-weight:700; background:transparent; box-shadow:none; cursor:pointer; }
.academy-text-button:hover { background:var(--ml-accent-soft); }
.academy-term-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; align-items:start; }
.academy-page .academy-term { border:1px solid var(--ml-line); border-radius:8px!important; background:var(--ml-surface); box-shadow:none; padding:22px!important; margin:0!important; min-width:0; scroll-margin-top:100px; }
.academy-page .academy-term:target { border-color:var(--ml-accent); box-shadow:0 0 0 3px var(--ml-accent-soft); }
.academy-term-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:8px; }
.academy-page .academy-term h2 { margin:0 0 4px; color:var(--ml-ink); font-weight:800; font-size:var(--ml-fs-4)!important; line-height:1.4; }
.academy-term-english { font-size:var(--ml-fs-2); color:var(--ml-muted); display:inline-block; overflow-wrap:anywhere; }
.academy-speak { flex:none; width:44px; min-height:44px; display:grid; place-items:center; padding:0; border:1px solid var(--ml-line); background:var(--ml-surface); color:var(--ml-accent-text); border-radius:50%; cursor:pointer; }
.academy-speak>span { display:block; width:20px; height:20px; }
.academy-term-tags { display:flex; gap:6px; flex-wrap:wrap; margin:14px 0; }
.academy-term-tags>span { padding:3px 8px; border-radius:4px; font-size:var(--ml-fs-1); color:var(--ml-muted); background:var(--ml-sunken); }
.academy-term-tags>span:first-child { color:var(--ml-accent-text); background:var(--ml-accent-soft); }
.academy-term-definition { margin:0; font-size:var(--ml-fs-3); line-height:1.75; text-wrap:pretty; }
.academy-term-synonyms { font-size:var(--ml-fs-2); color:var(--ml-muted); margin:12px 0 0; }
.academy-page .academy-term .gl-para { border-top:1px solid var(--ml-line); margin-top:18px; }
.academy-page .academy-term .gl-para summary { min-height:44px; display:flex; align-items:center; justify-content:space-between; gap:8px; padding:10px 0; font-size:var(--ml-fs-2); color:var(--ml-accent-text); font-weight:700; }
.academy-term .gl-para .qa-arrow { transition:transform 160ms ease; }
.academy-term .gl-para[open] .qa-arrow { transform:rotate(180deg); }
.academy-term .gl-para p { margin:4px 0 0; font-size:var(--ml-fs-3); line-height:1.75; padding:12px; background:var(--ml-accent-soft); border-radius:5px; }
.academy-page .academy-load-more { display:flex; align-items:center; justify-content:center; gap:12px; min-height:48px; width:100%; padding:12px 20px; color:var(--ml-accent-text); background:var(--ml-surface); border:1px solid var(--ml-line-strong); border-radius:7px; margin:20px 0 0; font-weight:700; font-size:var(--ml-fs-2); cursor:pointer; }
.academy-load-more:hover { border-color:var(--ml-accent); background:var(--ml-accent-soft); }
.academy-footnote { font-size:var(--ml-fs-1); color:var(--ml-muted); line-height:1.7; margin:24px 0 0; }
.academy-page .academy-load-error { padding:24px; margin:12px 0 24px; border:1px solid var(--ml-line-strong); border-inline-start:4px solid var(--ml-warning-text); border-radius:8px; background:var(--ml-surface); color:var(--ml-text); }
.academy-page .academy-load-error :is(h1,h2) { font-size:var(--ml-fs-4); font-weight:800; margin:0 0 10px; color:var(--ml-ink); line-height:1.4; }
.academy-load-error p { margin:0 0 18px; font-size:var(--ml-fs-3); line-height:1.7; }
.academy-load-error-actions { display:flex; gap:12px; flex-wrap:wrap; }
.academy-load-error .ml-b { min-height:44px; padding:10px 18px; font-size:var(--ml-fs-2); cursor:pointer; }
.academy-page .academy-qa-load-error { max-width:1120px; margin:40px auto; }

/* Exam workbench. Header stays adjacent to grouped rows for the guest gate. */
.academy-page .academy-qa-workspace { max-width:1200px; padding-bottom:72px; }
.academy-qa-search { max-width:none; }
.academy-bank-badge { font-size:var(--ml-fs-2); color:var(--ml-accent-text); background:var(--ml-accent-soft); padding:8px 14px; border-radius:5px; font-weight:700; flex:none; }
.academy-qa-toolbar { background:var(--ml-surface); border:1px solid var(--ml-line); border-radius:8px; margin-top:24px; overflow:hidden; }
.academy-filter-row { display:flex; flex-wrap:wrap; align-items:center; gap:12px; padding:14px 18px; }
.academy-filter-row+.academy-filter-row { border-top:1px solid var(--ml-line); }
.academy-filter-label { min-width:94px; color:var(--ml-ink); font-size:var(--ml-fs-2); font-weight:800; }
.academy-filter-options { display:flex; gap:6px; flex-wrap:wrap; align-items:center; }
.academy-page .academy-filter-options .bq-filter { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:8px 16px; background:transparent; color:var(--ml-muted); border:1px solid transparent; border-radius:5px; box-shadow:none; cursor:pointer; font-size:var(--ml-fs-2); font-weight:600; }
.academy-page .academy-filter-options .bq-filter[aria-pressed="true"] { background:var(--ml-accent-soft); color:var(--ml-accent-text); border-color:var(--ml-accent-line); font-weight:800; }
.academy-filter-options .bq-filter svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.8; }
.academy-page .academy-figure-switch { margin-inline-start:auto; border:0; border-radius:5px; background:transparent; min-height:44px; padding:8px 0; display:flex; align-items:center; gap:8px; color:var(--ml-muted); font-size:var(--ml-fs-2); cursor:pointer; }
.academy-switch-knob { display:inline-block; width:34px; height:20px; border-radius:12px; background:var(--ml-tint-2); border:1px solid var(--ml-line-strong); position:relative; flex:none; }
.academy-switch-knob::after { content:""; width:12px; height:12px; border-radius:50%; background:var(--ml-surface); border:1px solid var(--ml-line-strong); position:absolute; top:3px; right:3px; }
.academy-figure-switch[aria-checked="true"] .academy-switch-knob { background:var(--ml-accent); border-color:var(--ml-accent); }
.academy-figure-switch[aria-checked="true"] .academy-switch-knob::after { right:17px; border-color:transparent; }
.academy-question-groups { display:flex; flex-direction:column; gap:12px; }
.academy-question-group { min-width:0; border:1px solid var(--ml-line); border-radius:8px; background:var(--ml-surface); overflow:hidden; }
.academy-page .academy-group-toggle { display:flex; align-items:center; gap:14px; width:100%; min-height:64px; padding:8px 22px; font:inherit; line-height:1.3; text-align:start; border:0; background:transparent; color:var(--ml-ink); cursor:pointer; }
.academy-group-toggle:hover { background:var(--ml-sunken); }
.academy-group-toggle[aria-expanded="true"] { background:var(--ml-accent-soft); }
.academy-group-arrow { font-size:var(--ml-fs-4); line-height:1; color:var(--ml-accent-text); transition:transform 160ms ease; }
.academy-group-name { font-size:var(--ml-fs-3); font-weight:800; }
.academy-page .academy-group-count { background:var(--ml-sunken); color:var(--ml-muted); border-radius:4px; font-weight:700; padding:3px 8px; font-size:var(--ml-fs-1); }
.academy-group-sub { font-size:var(--ml-fs-1); color:var(--ml-muted); }
.academy-group-action { margin-inline-start:auto; color:var(--ml-accent-text); font-size:var(--ml-fs-1); font-weight:700; }
.academy-group-toggle[aria-expanded="true"] .academy-group-action { display:none; }
.academy-group-content { padding:18px; border-top:1px solid var(--ml-line); }
.academy-page .academy-group-content .bq-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.academy-page .academy-question-card { display:flex; flex-direction:column; gap:16px; min-width:0; text-align:start; color:var(--ml-ink); background:var(--ml-surface); box-shadow:none; border:1px solid var(--ml-line); border-radius:6px!important; padding:18px!important; font:inherit; cursor:pointer; transition:border-color 160ms ease,background 160ms ease; }
.academy-page .academy-question-card:hover { border-color:var(--ml-accent); background:var(--ml-sunken); transform:none; }
.academy-question-tags { display:flex; gap:6px; flex-wrap:wrap; }
.academy-question-tags .bq-chip { font-size:var(--ml-fs-1); padding:3px 7px; }
.academy-question-title { font-size:var(--ml-fs-3); font-weight:700; line-height:1.55; text-wrap:pretty; }
.academy-question-meta { display:flex; flex-wrap:wrap; gap:8px; margin-top:auto; font-size:var(--ml-fs-1); color:var(--ml-muted); align-items:center; }
.academy-question-open { color:var(--ml-accent-text); font-weight:700; margin-inline-start:auto; }
.academy-page .academy-question-workspace { max-width:1200px!important; padding:32px 40px 72px!important; gap:28px; }
.academy-question-workspace>main>div:nth-child(2) { border:1px solid var(--ml-line); border-radius:8px!important; box-shadow:none!important; padding:28px!important; }
.academy-question-workspace .bq-opt { border-radius:6px!important; min-height:56px; }
.academy-question-workspace .bq-rail { border-radius:8px; }
.academy-question-workspace .academy-deep-toggle { width:100%; }
.academy-question-workspace .ml-send { border-radius:6px; min-height:48px; }

/* Personal learning hub: next action, progress, library, then achievements. */
.academy-page .academy-personal-header { background:transparent!important; border-radius:0!important; padding-bottom:0; }
.academy-personal-intro { display:flex; align-items:center; gap:32px; justify-content:space-between; }
.academy-personal-greeting { min-width:0; }
.academy-page .academy-personal-greeting h1 { font-size:var(--ml-fs-6); overflow-wrap:anywhere; }
.academy-profile { display:flex; align-items:center; gap:14px; flex:none; max-width:45%; }
.academy-profile-avatar { position:relative; flex:none; width:64px; height:64px; }
.academy-profile-avatar>div:first-child { inset:0!important; width:64px!important; height:64px!important; border-radius:50%!important; }
.academy-avatar-art { position:absolute; inset:4px; background:var(--ml-surface); border-radius:50%; overflow:hidden; display:flex; align-items:center; justify-content:center; }
.academy-avatar-art>* { max-width:100%; max-height:100%; }
.academy-profile>div>strong { display:block; color:var(--ml-ink); font-size:var(--ml-fs-2); }
.academy-profile>div>p { font-size:var(--ml-fs-1); color:var(--ml-muted); margin:4px 0 0; line-height:1.5; max-width:20ch; }
.academy-page .academy-logout { display:flex; width:auto; min-height:44px; height:auto; gap:8px; align-items:center; border:1px solid var(--ml-line); border-radius:5px; padding:8px 12px; font-size:var(--ml-fs-1); background:transparent; box-shadow:none; color:var(--ml-muted); }
.academy-logout svg { width:18px; height:18px; }
.academy-personal-shortcuts { display:flex; flex-wrap:wrap; gap:28px; align-items:center; border-bottom:1px solid var(--ml-line); margin-top:24px; }
.academy-personal-shortcuts>a,.academy-personal-shortcuts>button { display:inline-flex; align-items:center; min-height:52px; padding:8px 0; border:0; border-bottom:2px solid transparent; background:transparent; color:var(--ml-muted); font-size:var(--ml-fs-2); font-weight:700; cursor:pointer; }
.academy-personal-shortcuts>a:hover,.academy-personal-shortcuts>button:hover { border-bottom-color:var(--ml-accent); color:var(--ml-accent-text); }
.academy-personal-progress { display:grid; grid-template-columns:1fr 1.4fr; gap:40px; align-items:center; padding:24px 0; }
.academy-level-progress>span { font-size:var(--ml-fs-2); color:var(--ml-muted); }
.academy-level-track { height:7px; background:var(--ml-tint-2); overflow:hidden; border-radius:4px; margin-top:10px; }
.academy-level-track>div { height:100%!important; border-radius:4px!important; background:var(--ml-accent)!important; }
.academy-personal-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.academy-personal-stats>div { display:flex; flex-direction:column; gap:4px; border-inline-start:1px solid var(--ml-line); padding-inline-start:18px; }
.academy-personal-stats strong { color:var(--ml-ink); font-weight:800; font-size:var(--ml-fs-5); line-height:1.1; }
.academy-personal-stats span { color:var(--ml-muted); font-size:var(--ml-fs-1); line-height:1.5; }
.academy-page .ml-personal-body { display:grid!important; grid-template-columns:minmax(0,1fr) 300px; max-width:1200px!important; padding:12px 40px 72px!important; gap:24px!important; align-items:start; }
.academy-personal-main { display:flex; flex-direction:column; gap:24px; min-width:0; }
.academy-next-step { border:1px solid var(--ml-line); border-radius:8px; background:var(--ml-surface); padding:24px; }
.academy-next-step-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.academy-next-step-heading>a { font-size:var(--ml-fs-1); font-weight:700; color:var(--ml-accent-text); min-height:44px; display:flex; align-items:center; }
.academy-page .ml-personal-resume { display:flex; align-items:center; gap:22px; padding:14px 0 0!important; background:transparent!important; border:0!important; border-radius:0!important; box-shadow:none!important; }
.academy-next-icon { display:grid; place-items:center; flex:none; background:var(--ml-accent-soft); color:var(--ml-accent-text); width:78px; height:78px; border-radius:50%; }
.academy-next-icon svg { width:42px; height:42px; }
.academy-next-copy { display:flex; flex-direction:column; gap:6px; min-width:0; flex:1; }
.academy-next-copy>span { color:var(--ml-muted); font-size:var(--ml-fs-2); line-height:1.5; }
.academy-next-copy>strong { color:var(--ml-ink); font-size:var(--ml-fs-5); font-weight:800; line-height:1.3; }
.academy-next-cta { display:flex; gap:12px; align-items:center; justify-content:center; min-height:48px; padding:8px 16px; background:var(--ml-accent); color:var(--ml-on-accent); border-radius:5px; font-size:var(--ml-fs-2); font-weight:700; flex:none; }
.academy-page .academy-personal-panel { border:1px solid var(--ml-line); border-radius:8px!important; box-shadow:none!important; padding:24px!important; }
.academy-page .academy-personal-panel h2 { font-weight:800!important; font-size:var(--ml-fs-4)!important; }
.academy-page .ml-personal-courses .ml-course-row { border-radius:5px!important; padding:14px 12px!important; min-height:66px!important; border:0!important; box-shadow:none!important; border-bottom:1px solid var(--ml-line)!important; }
.academy-page .ml-personal-courses .ml-course-row:hover { background:var(--ml-accent-soft)!important; }
.academy-page .ml-personal-courses .ml-course-row>span:first-child { background:transparent!important; width:42px!important; height:42px!important; padding:6px!important; }
.academy-page .ml-personal-courses .ml-course-row>span:nth-child(2)>span:first-child { font-weight:700!important; font-size:var(--ml-fs-3)!important; }
.academy-page .ml-personal-courses .ml-course-row>span:nth-child(2)>span:last-child { height:4px!important; max-width:300px; }
.academy-personal-tools>header { margin-bottom:16px; }
.academy-page .academy-personal-tools>header h2 { margin:0; font-size:var(--ml-fs-4); font-weight:800; color:var(--ml-ink); }
.academy-personal-tools>header p { margin:6px 0 0; color:var(--ml-muted); font-size:var(--ml-fs-2); }
.academy-personal-tool-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.academy-page .academy-personal-tool-grid>.academy-personal-panel { display:flex!important; flex-direction:column; align-items:flex-start!important; gap:16px!important; }
.academy-page .academy-personal-tool-grid>.academy-personal-panel>div { min-width:0!important; }
.academy-personal-tool-grid .ml-b,.academy-personal-tool-grid .ml-fill { width:100%; margin-top:auto; min-height:44px; }
.academy-page .academy-personal-aside { width:auto!important; min-width:0; gap:20px!important; }
.academy-page .academy-personal-aside>div { border-radius:8px!important; padding:22px!important; box-shadow:none!important; border:1px solid var(--ml-line); }
.academy-page .academy-map-panel { background:var(--ml-inverse)!important; border-color:var(--ml-inverse)!important; color:var(--ml-on-inverse); }
.academy-map-panel>div:first-child { display:none; }
.academy-map-panel>div:last-child { flex-direction:column; align-items:flex-start!important; gap:16px!important; }
.academy-map-panel>div:last-child>div:first-child { display:none!important; }
.academy-map-panel>div:last-child>div:nth-child(2) { min-width:0!important; }
.academy-map-panel #ml-open-map { width:100%; justify-content:center; border-radius:5px!important; }
.academy-personal-aside .ml-week { gap:4px!important; }
.academy-personal-aside .ml-week>div>div { width:28px!important; height:28px!important; }
.academy-personal-aside li { gap:10px!important; }
.academy-personal-tools,.academy-personal-panel,#academy-my-courses { scroll-margin-top:104px; }

@media(max-width:1100px) {
  .academy-page .academy-group-content .bq-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .academy-term-grid { grid-template-columns:minmax(0,1fr); }
  .academy-page .ml-personal-body { grid-template-columns:minmax(0,1fr) 270px; padding-inline:24px!important; }
  .academy-next-cta { flex-basis:100%; }
  .academy-page .ml-personal-resume { flex-wrap:wrap; }
  .academy-personal-tool-grid { grid-template-columns:1fr; }
  .academy-profile { max-width:40%; }
  .academy-profile .academy-logout>span { display:none; }
}
@media(max-width:800px) {
  .academy-page .academy-qa-load-error { margin:24px 20px; }
  .academy-page .academy-question-groups .academy-group-count,.academy-page .academy-question-tags .bq-chip { display:inline-flex!important; }
  .academy-tool-header,.academy-page .academy-qa-workspace,.academy-page .academy-personal-header { padding:28px 20px 20px; }
  .academy-page .academy-header-line h1 { font-size:var(--ml-fs-6); }
  .academy-header-line { gap:18px; }
  .academy-header-icon { width:66px; height:66px; padding:15px; }
  .academy-glossary-workspace { display:flex; flex-direction:column; padding:0 20px 56px; gap:20px; }
  .academy-page .academy-filter-rail { order:0!important; width:100%; min-width:0; box-sizing:border-box; position:static; padding:16px; }
  .academy-subject-list { flex-direction:row; flex-wrap:nowrap; gap:8px; overflow-x:auto; padding-block:10px 6px; max-width:100%; scrollbar-width:thin; overscroll-behavior-inline:contain; }
  .academy-page .academy-subject { width:auto; min-height:44px; flex:none; white-space:nowrap; padding:8px 12px; border:1px solid var(--ml-line); }
  .academy-page .academy-subject.is-on { box-shadow:none; border-color:var(--ml-accent); }
  .academy-page .academy-subject>span:last-child,.academy-rail-note { display:none; }
  .academy-rail-heading { border:0; padding:0; display:flex; align-items:center; gap:12px; justify-content:space-between; }
  .academy-page .academy-glossary-results { order:1!important; width:100%; min-width:0; }
  .academy-page .academy-alphabet { flex-wrap:nowrap; overflow-x:auto; padding:8px; gap:4px; max-width:100%; box-sizing:border-box; scrollbar-width:thin; overscroll-behavior-inline:contain; }
  .academy-page .academy-alphabet .gl-letter { flex:none; }
  .academy-filter-label { width:100%; }
  .academy-filter-row { gap:8px; }
  .academy-page .academy-figure-switch { margin-inline-start:0; }
  .academy-group-action { display:none; }
  .academy-group-sub { display:block; flex-basis:100%; padding-inline-start:26px; }
  .academy-page .academy-group-toggle { padding:8px 16px; gap:10px; flex-wrap:wrap; }
  .academy-page .academy-question-workspace { padding:20px!important; }
  .academy-question-workspace>main>div:nth-child(2) { padding:20px!important; }
  .academy-personal-intro { flex-wrap:wrap; gap:18px; }
  .academy-profile { max-width:100%; width:100%; }
  .academy-profile .academy-logout { margin-inline-start:auto; }
  .academy-personal-progress { grid-template-columns:1fr; gap:20px; }
  .academy-personal-shortcuts { gap:20px; margin-top:16px; }
  .academy-page .ml-personal-body { grid-template-columns:1fr; padding:12px 20px 56px!important; }
  .academy-page .academy-personal-aside { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .academy-personal-aside>div { min-width:0; }
  .academy-personal-aside>div:nth-child(2) { grid-row:span 2; }
  .academy-personal-tool-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:540px) {
  .academy-tool-header,.academy-page .academy-qa-workspace,.academy-page .academy-personal-header { padding-inline:16px; }
  .academy-header-icon { display:none; }
  .academy-header-line { align-items:flex-start; flex-direction:column; gap:12px; }
  .academy-page .academy-header-line h1 { letter-spacing:-.5px; }
  .academy-search { margin-top:22px; }
  .academy-glossary-workspace { padding-inline:16px; }
  .academy-page .academy-term { padding:20px; }
  .academy-page .academy-group-content .bq-grid { grid-template-columns:1fr; }
  .academy-group-content { padding:12px; }
  .academy-page .academy-question-card { padding:16px; gap:14px; }
  .academy-bank-badge { margin-bottom:0; }
  .academy-filter-row { padding:12px; }
  .academy-page .academy-filter-options .bq-filter { padding:8px 10px; }
  .academy-page .academy-question-workspace { padding-inline:16px!important; }
  .academy-page .ml-personal-body { padding-inline:16px!important; }
  .academy-personal-tool-grid,.academy-page .academy-personal-aside { grid-template-columns:1fr!important; }
  .academy-personal-aside>div:nth-child(2) { grid-row:auto; }
  .academy-next-step { padding:18px; }
  .academy-next-step-heading { flex-wrap:wrap; gap:4px; }
  .academy-next-icon { width:56px; height:56px; }
  .academy-next-icon svg { width:32px; height:32px; }
  .academy-next-copy>strong { font-size:var(--ml-fs-4); }
  .academy-personal-stats { gap:8px; }
  .academy-personal-stats>div { padding-inline-start:10px; }
  .academy-page .academy-personal-panel { padding:20px!important; }
  .academy-personal-shortcuts { gap:16px; }
  .academy-personal-shortcuts>a,.academy-personal-shortcuts>button { font-size:var(--ml-fs-1); }
}
@media(prefers-reduced-motion:reduce) { .academy-page * { transition:none!important; } }

/* Approved goal 05: a full-width search, contextual filters, and readable question rows.
   Keep the hero immediately before the groups: the existing guest gate reads that relationship. */
html.ml-goal-workspace { --goal-tools-bg:#f4fbff; --goal-tools-group:#e7f5ff; --goal-tools-border:#d6e8f4; --goal-tools-icon:#3276ac; }
html.ml-goal-workspace[data-ml-theme="dark"] { --goal-tools-bg:var(--ml-bg); --goal-tools-group:#1a344b; --goal-tools-border:var(--ml-line); --goal-tools-icon:#93cce8; }
html.ml-goal-workspace :is(.ml-page-qa,.ml-page-glossary,.ml-page-solution) { background:var(--goal-tools-bg); }
html.ml-goal-workspace :is(.ml-page-qa,.ml-page-glossary,.ml-page-solution) :is(button,a):active { transform:none!important; filter:none!important; }
html.ml-goal-workspace .ml-page-qa .academy-qa-workspace { max-width:none; margin-block:0; display:grid; grid-template-columns:280px minmax(0,1fr); grid-template-rows:auto auto auto auto auto; gap:0 20px; padding:28px 32px 72px; }
html.ml-goal-workspace .academy-qa-header { display:contents; }
html.ml-goal-workspace .academy-qa-header>.academy-kicker { grid-column:1/-1; grid-row:1; font-size:calc(var(--ml-fs-3) - 2px); font-weight:400; color:var(--ml-muted); }
html.ml-goal-workspace .academy-qa-header>.academy-header-line { grid-column:1/-1; grid-row:2; margin-top:8px; display:block; }
html.ml-goal-workspace .ml-page-qa .academy-header-line h1 { margin:0 0 4px; font-size:calc(var(--ml-fs-3) + 22px); font-weight:800; line-height:1.2; letter-spacing:-.025em; text-wrap:balance; }
html.ml-goal-workspace .academy-qa-header .academy-header-line p { font-size:calc(var(--ml-fs-3) + 2px); max-width:none; line-height:1.6; color:var(--ml-ink); }
html.ml-goal-workspace .academy-bank-badge { display:inline-flex; padding:5px 10px; margin-top:8px; font-size:calc(var(--ml-fs-3) - 3px); font-weight:600; }
html.ml-goal-workspace .academy-qa-search { grid-column:1/-1; grid-row:3; width:100%; max-width:none; margin:18px 0 18px; }
html.ml-goal-workspace :is(.ml-page-qa,.ml-page-glossary) .academy-search-field input { min-height:54px; border-radius:6px; border-color:var(--ml-accent-line); box-shadow:none; font-size:calc(var(--ml-fs-3) + 1px); padding-inline-start:52px; padding-inline-end:52px; background:var(--ml-surface); }
html.ml-goal-workspace :is(.ml-page-qa,.ml-page-glossary) .academy-search-field>svg,
html.ml-goal-workspace .ml-page-glossary .academy-search-field>span { inset-inline-start:18px; color:var(--ml-ink); width:22px; height:22px; }
html.ml-goal-workspace :is(.ml-page-qa,.ml-page-glossary) .academy-search-clear { position:absolute; inset-inline-end:5px; top:5px; width:44px; height:44px; display:grid; place-items:center; border:0; background:transparent; color:var(--ml-ink); border-radius:5px; cursor:pointer; }
.academy-search-clear svg { width:18px; height:18px; }
html.ml-goal-workspace .academy-search-clear:hover { background:var(--ml-accent-soft); }
html.ml-goal-workspace .academy-qa-toolbar { grid-column:1; grid-row:4/span 2; margin:0; padding:18px 16px; border-color:var(--goal-tools-border); border-radius:7px; display:flex; flex-direction:column; gap:18px; align-self:start; position:sticky; top:90px; max-height:calc(100dvh - 108px); overflow:auto; scrollbar-width:thin; box-sizing:border-box; }
.academy-filter-title { font-size:calc(var(--ml-fs-3) + 3px); color:var(--ml-ink); margin:0; line-height:1.3; font-weight:800; }
html.ml-goal-workspace .academy-qa-toolbar .academy-filter-row { padding:0; border:0; display:flex; flex-direction:column; align-items:stretch; gap:8px; }
html.ml-goal-workspace .academy-filter-label { min-width:0; font-size:calc(var(--ml-fs-3) - 2px); font-weight:600; }
html.ml-goal-workspace .academy-qa-toolbar .academy-mode-options { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; }
html.ml-goal-workspace .academy-qa-toolbar .academy-diff-options { display:flex; gap:5px; flex-wrap:wrap; }
html.ml-goal-workspace .academy-filter-options .bq-filter { min-width:0; min-height:44px; padding:6px 7px; border:1px solid var(--goal-tools-border); border-radius:5px; color:var(--ml-ink); font-size:calc(var(--ml-fs-3) - 4px); font-weight:500; line-height:1.3; text-wrap:balance; }
html.ml-goal-workspace .academy-filter-options .bq-filter[aria-pressed="true"] { background:var(--ml-accent); border-color:var(--ml-accent); color:var(--ml-on-accent); font-weight:700; }
.academy-select-filter { display:flex; flex-direction:column; gap:8px; min-width:0; }
.academy-select-filter label { font-size:calc(var(--ml-fs-3) - 2px); color:var(--ml-ink); font-weight:500; }
.academy-select-filter select { width:100%; min-height:46px; border:1px solid var(--goal-tools-border); border-radius:6px; background:var(--ml-surface); color:var(--ml-ink); font:inherit; font-size:var(--ml-fs-3); line-height:1.4; padding:8px 10px; box-sizing:border-box; cursor:pointer; }
html.ml-goal-workspace .academy-qa-toolbar .academy-figure-switch { margin:0; width:100%; text-align:start; font-size:calc(var(--ml-fs-3) - 2px); color:var(--ml-ink); gap:10px; padding:6px 0; min-height:44px; }
html.ml-goal-workspace .academy-qa-toolbar .bq-savedchip { display:flex; align-items:center; gap:10px; text-align:start; min-height:44px; padding:8px 0; background:transparent; border:0; color:var(--ml-ink); font-size:calc(var(--ml-fs-3) - 2px); font-weight:500; cursor:pointer; line-height:1.45; }
.academy-qa-toolbar .bq-savedchip svg { width:22px; height:22px; flex:none; }
html.ml-goal-workspace .academy-qa-toolbar .bq-savedchip[aria-pressed="true"] { color:var(--ml-accent-text); font-weight:700; }
.academy-filter-footer { border-top:1px solid var(--ml-line); padding-top:18px; margin-top:2px; }
.academy-filter-clear { display:flex; align-items:center; justify-content:center; gap:10px; width:100%; min-height:48px; padding:8px 12px; background:var(--ml-surface); border:1px solid var(--ml-accent); border-radius:6px; font-size:var(--ml-fs-3); font-weight:700; color:var(--ml-accent-text); cursor:pointer; }
.academy-filter-clear svg { width:21px; height:21px; }
.academy-filter-footer p { margin:10px 0 0; font-size:calc(var(--ml-fs-3) - 4px); color:var(--ml-muted); line-height:1.6; text-align:center; }
html.ml-goal-workspace .academy-qa-header>.academy-result-bar { grid-column:2; grid-row:4; min-height:44px; padding:0 0 12px; align-items:center; }
html.ml-goal-workspace .academy-qa-header .academy-result-bar>p { font-size:calc(var(--ml-fs-3) + 1px); color:var(--ml-ink); }
html.ml-goal-workspace .academy-qa-workspace>.academy-question-groups { grid-column:2; grid-row:5; display:flex; flex-direction:column; gap:14px; min-width:0; }
html.ml-goal-workspace .academy-question-group { border-color:var(--goal-tools-border); border-radius:7px; }
html.ml-goal-workspace .academy-group-toggle { min-height:54px; padding:10px 18px; background:var(--goal-tools-group); gap:8px; flex-wrap:wrap; }
html.ml-goal-workspace .academy-group-toggle[aria-expanded="true"] { background:var(--goal-tools-group); }
html.ml-goal-workspace .academy-group-name { font-size:calc(var(--ml-fs-3) + 1px); line-height:1.4; }
html.ml-goal-workspace .academy-group-count { background:transparent; padding:0; color:var(--ml-ink); font-size:var(--ml-fs-3); font-weight:500; }
html.ml-goal-workspace .academy-group-count::before { content:"·"; margin-inline:3px 8px; }
html.ml-goal-workspace .academy-group-arrow { order:9; margin-inline-start:auto; color:var(--ml-ink); }
html.ml-goal-workspace .academy-group-sub { font-size:calc(var(--ml-fs-3) - 4px); line-height:1.5; }
html.ml-goal-workspace .academy-group-action { margin-inline-start:auto; font-size:calc(var(--ml-fs-3) - 4px); }
html.ml-goal-workspace .academy-group-content { padding:0; border:0; }
html.ml-goal-workspace .academy-group-content .bq-grid { display:flex; flex-direction:column; gap:0; }
.academy-question-row { display:flex; align-items:center; gap:4px; min-width:0; border-top:1px solid var(--goal-tools-border); padding-inline-end:12px; }
.academy-question-row:first-child { border-top:0; }
.academy-question-row:hover,.academy-question-row:focus-within { background:var(--ml-accent-soft); }
html.ml-goal-workspace .academy-question-row .academy-question-card { display:grid; grid-template-columns:50px minmax(0,1fr) 128px; align-items:center; gap:16px; flex:1; min-width:0; min-height:102px; padding:16px!important; background:transparent; border:0; border-radius:0!important; box-shadow:none; color:var(--ml-ink); text-align:start; }
html.ml-goal-workspace .academy-question-row .academy-question-card:hover { background:transparent; border:0; }
.academy-question-art { width:50px; height:50px; display:grid; place-items:center; color:var(--goal-tools-icon); flex:none; }
.academy-question-art svg { width:44px; height:44px; }
.academy-question-copy { display:flex; flex-direction:column; gap:6px; min-width:0; }
html.ml-goal-workspace .academy-question-title { font-size:calc(var(--ml-fs-3) + 2px); line-height:1.4; font-weight:700; overflow-wrap:anywhere; }
html.ml-goal-workspace .academy-question-meta { gap:0; font-size:calc(var(--ml-fs-3) - 3px); line-height:1.65; margin:0; }
.academy-question-meta>span:not(:first-child)::before { content:"·"; padding-inline:7px; }
html.ml-goal-workspace .academy-question-open { display:inline-flex; align-items:center; justify-content:center; gap:12px; margin:0; padding:8px 12px; min-height:46px; border:1px solid var(--ml-accent); border-radius:6px; font-size:var(--ml-fs-3); line-height:1.3; color:var(--ml-accent-text); background:var(--ml-surface); box-sizing:border-box; }
.academy-question-save { width:44px; height:44px; flex:none; padding:10px; border:0; background:transparent; color:var(--ml-ink); border-radius:5px; cursor:pointer; }
.academy-question-save svg { width:23px; height:23px; }
.academy-question-save:hover { background:var(--ml-accent-soft); }
.academy-question-save.is-saved { color:var(--ml-accent-text); }
.academy-question-save.is-saved svg { fill:var(--ml-accent-soft); stroke-width:2.3; }
html.ml-goal-workspace .academy-group-content .academy-load-more { width:calc(100% - 32px); margin:14px 16px; min-height:46px; border-color:var(--ml-accent-line); font-size:calc(var(--ml-fs-3) - 1px); }
html.ml-goal-workspace .academy-qa-workspace>.ml-gate-band { grid-column:1/-1; }

/* The same language continues inside a real question and its existing solutions. */
html.ml-goal-workspace .academy-question-workspace { max-width:none!important; width:auto; margin-block:0; padding:28px 32px 72px!important; gap:24px; box-sizing:border-box; background:var(--goal-tools-bg); }
html.ml-goal-workspace .academy-question-workspace>main { flex:1 1 0%; min-width:0; max-width:100%; }
html.ml-goal-workspace .academy-question-workspace .academy-question-sheet { border-color:var(--goal-tools-border); padding:28px!important; }
.academy-question-kicker { margin:0 0 8px; font-size:calc(var(--ml-fs-3) - 3px); color:var(--ml-muted); line-height:1.5; }
.academy-question-kicker span { padding-inline:7px; }
.academy-question-origin { display:inline-flex; flex-wrap:wrap; gap:6px; }
.academy-mobile-filter-toggle { display:none; }
.academy-question-heading { margin:0 0 18px; font-size:calc(var(--ml-fs-3) + 13px); color:var(--ml-ink); line-height:1.3; font-weight:800; text-wrap:balance; }
html.ml-goal-workspace .academy-question-sheet>p:not(.academy-question-kicker) { font-size:calc(var(--ml-fs-3) + 2px)!important; line-height:var(--ml-lh-body)!important; }
html.ml-goal-workspace .academy-question-sheet .bq-chip { font-size:calc(var(--ml-fs-3) - 3px); color:var(--ml-muted); }
html.ml-goal-workspace .academy-question-workspace .bq-opt { min-height:60px; text-align:start; font-size:var(--ml-fs-3); line-height:1.6; padding:14px 16px; }
html.ml-goal-workspace .academy-question-workspace .bq-rail { width:248px; flex:none; position:sticky; top:90px; align-self:flex-start; max-height:calc(100dvh - 110px); overflow:auto; scrollbar-width:thin; }
html.ml-goal-workspace .academy-question-workspace .bq-deep { font-family:var(--ml-font); font-size:var(--ml-fs-3); line-height:var(--ml-lh-body); }
html.ml-goal-workspace .academy-solution-page { padding:28px 40px 72px!important; max-width:none!important; box-sizing:border-box; }
.academy-solution-kicker { color:var(--ml-muted); padding-top:8px; }
html.ml-goal-workspace .academy-solution-page .academy-solution-title { font-size:calc(var(--ml-fs-3) + 22px)!important; font-weight:800!important; line-height:1.22!important; letter-spacing:-.025em!important; max-width:30ch; text-wrap:balance; }
html.ml-goal-workspace .academy-solution-card { max-width:1040px; border-color:var(--goal-tools-border)!important; border-radius:8px!important; box-shadow:none!important; }
html.ml-goal-workspace .academy-solution-card>[data-reveal-group] { border-top:1px solid var(--ml-line); }
html.ml-goal-workspace .academy-solution-card :is(button,[data-action]) { font-family:var(--ml-font); line-height:1.5; }

/* Glossary: generous definitions, calm metadata, and a second explanation ready during search. */
html.ml-goal-workspace .ml-page-glossary .academy-tool-header { max-width:none; padding:28px 32px 22px; }
html.ml-goal-workspace .ml-page-glossary .academy-header-line h1 { font-size:calc(var(--ml-fs-3) + 22px); line-height:1.2; margin:0 0 6px; letter-spacing:-.025em; }
html.ml-goal-workspace .ml-page-glossary .academy-header-icon { width:68px; height:68px; padding:14px; background:transparent; border-radius:0; }
html.ml-goal-workspace .ml-page-glossary .academy-search { max-width:none; margin-top:20px; }
html.ml-goal-workspace .ml-page-glossary .academy-search>label { font-size:calc(var(--ml-fs-3) - 2px); margin-bottom:8px; }
html.ml-goal-workspace .ml-page-glossary .academy-glossary-workspace { max-width:none; padding:0 32px 72px; gap:20px; grid-template-columns:260px minmax(0,1fr); }
html.ml-goal-workspace .ml-page-glossary .academy-filter-rail { top:90px; padding:18px 14px; border-color:var(--goal-tools-border); max-height:calc(100dvh - 110px); overflow:auto; scrollbar-width:thin; }
html.ml-goal-workspace .ml-page-glossary .academy-rail-heading h2 { font-size:calc(var(--ml-fs-3) + 3px); }
html.ml-goal-workspace .ml-page-glossary .academy-subject { font-size:calc(var(--ml-fs-3) - 1px); }
html.ml-goal-workspace .ml-page-glossary .academy-alphabet { padding:8px; border-color:var(--goal-tools-border); gap:3px; }
html.ml-goal-workspace .ml-page-glossary .academy-alphabet .gl-letter { font-size:calc(var(--ml-fs-3) - 1px); }
html.ml-goal-workspace .ml-page-glossary .academy-term-grid { grid-template-columns:minmax(0,1fr); gap:14px; }
html.ml-goal-workspace .ml-page-glossary .academy-term { padding:24px 28px!important; border-color:var(--goal-tools-border); scroll-margin-top:96px; }
html.ml-goal-workspace .ml-page-glossary .academy-term h2 { font-size:calc(var(--ml-fs-3) + 7px)!important; font-weight:800; line-height:1.3; }
html.ml-goal-workspace .ml-page-glossary .academy-term-english { font-size:calc(var(--ml-fs-3) - 1px); line-height:1.4; }
html.ml-goal-workspace .ml-page-glossary .academy-term-tags { margin:10px 0 16px; }
html.ml-goal-workspace .ml-page-glossary .academy-term-tags>span { background:transparent; padding:0; font-size:calc(var(--ml-fs-3) - 3px); color:var(--ml-muted); }
html.ml-goal-workspace .ml-page-glossary .academy-term-tags>span+span::before { content:"·"; padding-inline:4px 8px; }
html.ml-goal-workspace .ml-page-glossary .academy-term-definition { font-size:calc(var(--ml-fs-3) + 1px); line-height:var(--ml-lh-body); max-width:75ch; }
html.ml-goal-workspace .ml-page-glossary .academy-term .gl-para { margin-top:18px; border-color:var(--goal-tools-border); }
html.ml-goal-workspace .ml-page-glossary .academy-term .gl-para summary { font-size:var(--ml-fs-3); min-height:48px; }
.academy-paraphrase-body { padding:14px 18px 8px; border-radius:6px; background:var(--ml-accent-soft); }
html.ml-goal-workspace .academy-term .gl-para .academy-paraphrase-body p { margin:0; padding:0; background:transparent; font-size:var(--ml-fs-3); line-height:var(--ml-lh-body); }
.academy-paraphrase-speak { min-height:44px; padding:8px 0; margin-top:6px; border:0; background:transparent; color:var(--ml-accent-text); font-size:calc(var(--ml-fs-3) - 2px); font-weight:700; cursor:pointer; }

@media(min-width:1101px) {
  html.ml-goal-workspace :is(.academy-qa-workspace,.academy-question-workspace,.academy-qa-load-error,.academy-qa-loading),
  html.ml-goal-workspace .ml-page-glossary :is(.academy-tool-header,.academy-glossary-workspace),
  html.ml-goal-workspace .academy-solution-page { margin-inline-start:248px!important; margin-inline-end:0!important; }
  html.ml-goal-workspace .ml-page-qa>footer { margin-inline-start:248px; }
  html.ml-goal-workspace .ml-page-qa .academy-qa-load-error { margin-block:28px; padding-inline:32px; }
}
@media(max-width:980px) {
  html.ml-goal-workspace .ml-page-qa .academy-qa-workspace { display:flex; flex-direction:column; gap:0; padding:24px 24px 56px; }
  html.ml-goal-workspace .academy-qa-header { display:contents; }
  html.ml-goal-workspace .academy-qa-toolbar { position:static; max-height:none; width:100%; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-bottom:18px; padding:18px; }
  html.ml-goal-workspace .academy-filter-title { grid-column:1/-1; }
  html.ml-goal-workspace .academy-qa-toolbar>.academy-filter-row:first-of-type { grid-column:1/-1; }
  html.ml-goal-workspace .academy-qa-toolbar .academy-mode-options { grid-template-columns:repeat(4,minmax(0,1fr)); }
  html.ml-goal-workspace .academy-qa-toolbar .academy-filter-footer { grid-column:1/-1; margin:0; }
  html.ml-goal-workspace .academy-qa-header>.academy-result-bar { padding:0 0 12px; }
  html.ml-goal-workspace .academy-question-workspace .bq-rail { display:block!important; width:100%; position:static; max-height:none; }
  html.ml-goal-workspace .academy-question-workspace { flex-direction:column; }
  html.ml-goal-workspace .academy-question-workspace>main { width:100%; flex:none; }
  html.ml-goal-workspace .ml-page-glossary .academy-glossary-workspace { grid-template-columns:220px minmax(0,1fr); }
}
@media(max-width:800px) {
  html.ml-goal-workspace .ml-page-qa .academy-qa-workspace,
  html.ml-goal-workspace .ml-page-glossary .academy-tool-header { padding:24px 16px 20px; }
  html.ml-goal-workspace .ml-page-qa .academy-header-line h1,
  html.ml-goal-workspace .ml-page-glossary .academy-header-line h1 { font-size:calc(var(--ml-fs-3) + 12px); }
  html.ml-goal-workspace .academy-qa-header .academy-header-line p { font-size:var(--ml-fs-3); }
  html.ml-goal-workspace .academy-qa-header .academy-header-line { margin-top:10px; }
  html.ml-goal-workspace .academy-qa-toolbar { margin-bottom:16px; padding:16px; gap:16px; }
  html.ml-goal-workspace .academy-qa-toolbar:not(.is-mobile-open) { display:none; }
  html.ml-goal-workspace .academy-mobile-filter-toggle { display:flex; flex-direction:column; gap:3px; width:100%; min-height:44px; margin:0 0 14px; padding:10px 12px; box-sizing:border-box; border:1px solid var(--goal-tools-border); border-radius:6px; background:var(--ml-surface); color:var(--ml-ink); text-align:start; font:inherit; cursor:pointer; }
  .academy-mobile-filter-top { display:flex; gap:8px; align-items:center; width:100%; font-size:var(--ml-fs-3); font-weight:700; }
  .academy-mobile-filter-count { margin-inline-start:auto; color:var(--ml-accent-text); font-size:calc(var(--ml-fs-3) - 3px); font-weight:600; }
  .academy-mobile-filter-top svg { width:20px; height:20px; flex:none; }
  .academy-mobile-filter-top svg.is-open { transform:rotate(180deg); }
  .academy-mobile-filter-summary { color:var(--ml-muted); font-size:calc(var(--ml-fs-3) - 4px); line-height:1.4; overflow-wrap:anywhere; }
  html.ml-goal-workspace .academy-question-row .academy-question-card { grid-template-columns:40px minmax(0,1fr); gap:10px 12px; padding:16px 12px!important; }
  html.ml-goal-workspace .academy-question-art { width:40px; height:40px; }
  html.ml-goal-workspace .academy-question-art svg { width:36px; height:36px; }
  html.ml-goal-workspace .academy-question-title { font-size:calc(var(--ml-fs-3) + 1px); }
  html.ml-goal-workspace .academy-question-open { grid-column:2; width:max-content; min-height:44px; font-size:calc(var(--ml-fs-3) - 1px); }
  html.ml-goal-workspace .academy-question-row { align-items:flex-start; padding-inline-end:6px; }
  html.ml-goal-workspace .academy-question-save { margin-top:10px; }
  html.ml-goal-workspace .academy-group-toggle { padding:12px; gap:5px; }
  html.ml-goal-workspace .academy-group-name { font-size:var(--ml-fs-3); }
  html.ml-goal-workspace .academy-group-count { font-size:calc(var(--ml-fs-3) - 2px); }
  html.ml-goal-workspace .academy-group-sub { flex-basis:100%; padding:0; }
  html.ml-goal-workspace .academy-question-workspace { padding:12px 10px 56px!important; gap:16px; }
  html.ml-goal-workspace .academy-question-workspace>main { background:transparent!important; padding:0!important; border:0!important; border-radius:0!important; box-shadow:none!important; }
  html.ml-goal-workspace .academy-question-workspace .academy-question-sheet { padding:16px!important; margin-top:8px!important; }
  html.ml-goal-workspace .academy-question-breadcrumb { gap:4px 8px!important; font-size:calc(var(--ml-fs-3) - 4px)!important; }
  html.ml-goal-workspace .academy-question-breadcrumb>.academy-text-button { min-height:44px; padding:4px 0; font-size:calc(var(--ml-fs-3) - 2px); }
  html.ml-goal-workspace .academy-question-origin { gap:4px; line-height:1.4; }
  html.ml-goal-workspace .academy-question-heading { font-size:calc(var(--ml-fs-3) + 8px); }
  html.ml-goal-workspace .academy-solution-page { padding:24px 16px 56px!important; }
  html.ml-goal-workspace .academy-solution-page .academy-solution-title { font-size:calc(var(--ml-fs-3) + 12px)!important; }
  html.ml-goal-workspace .ml-page-glossary .academy-glossary-workspace { display:flex; flex-direction:column; padding:0 16px 56px; gap:16px; }
  html.ml-goal-workspace .ml-page-glossary .academy-filter-rail { position:static; width:100%; max-height:none; }
  html.ml-goal-workspace .ml-page-glossary .academy-term { padding:22px 18px!important; }
  html.ml-goal-workspace .ml-page-glossary .academy-term h2 { font-size:calc(var(--ml-fs-3) + 5px)!important; }
}
@media(max-width:430px) {
  html.ml-goal-workspace .academy-qa-toolbar { grid-template-columns:minmax(0,1fr); }
  html.ml-goal-workspace .academy-question-row .academy-question-card { grid-template-columns:minmax(0,1fr); }
  html.ml-goal-workspace .academy-question-art { display:none; }
  html.ml-goal-workspace .academy-question-open { grid-column:1; }
  html.ml-goal-workspace .academy-qa-toolbar .academy-mode-options { grid-template-columns:repeat(2,minmax(0,1fr)); }
}


/* academy-pages */
/* Focused reading and management surfaces. Their data paths stay unchanged. */
.ml-editorial-page h1{font-weight:800!important;letter-spacing:-.025em!important;color:var(--ml-ink)!important}
.ml-editorial-page h2{font-weight:700!important;letter-spacing:-.015em!important}
.ml-page-map .academy-map-page{max-width:1120px!important;padding-top:36px!important;padding-bottom:56px!important}
.ml-page-map .academy-map-page>div:first-child{padding:0!important;background:transparent!important;border-radius:0!important;font-size:calc(var(--ml-fs-3) - 3px)!important}
.ml-page-map .academy-map-page>h1{font-size:calc(var(--ml-fs-3) + 22px)!important;margin-top:12px!important}
.ml-page-map .academy-map-page>p{font-size:var(--ml-fs-3)!important;max-width:70ch!important;line-height:1.75!important}
.ml-page-map .ml-mapwrap{border:1px solid var(--ml-line)!important;border-radius:12px!important;box-shadow:var(--ml-elev-2);height:620px}
.ml-page-map .ml-legend{border:0;background:transparent;padding:0;gap:16px}
.ml-page-map .ml-legend>div{border:1px solid var(--ml-line);border-radius:8px!important;box-shadow:none!important;padding:18px!important}
.ml-page-map .ml-legend b{font-size:var(--ml-fs-3)!important}
.ml-page-map .ml-legend>div>div:last-child{font-size:calc(var(--ml-fs-3) - 3px)!important;line-height:1.65!important}
.ml-page-map .academy-map-page>div:last-child{border-top:1px solid var(--ml-line);padding-top:24px;gap:16px!important}
.ml-page-legal .ml-lg-hero{padding-top:40px!important;padding-bottom:36px!important}
.ml-page-legal .ml-lg-h1{font-size:calc(var(--ml-fs-3) + 22px)!important;line-height:1.2!important}
.ml-page-legal .ml-lg-wrap{max-width:1120px;margin-inline:auto}
.ml-page-legal .ml-lg-toc{border-radius:8px;box-shadow:none;border:1px solid var(--ml-line);padding:20px!important;top:92px!important}
.ml-page-legal .ml-lg-toc a{min-height:44px;display:flex;align-items:center;line-height:1.5;padding:8px 12px!important;border-radius:5px}
.ml-page-legal .ml-lg-card{border-radius:8px;padding:32px!important;box-shadow:none}
.ml-page-legal :is(.ml-lg-p,.ml-lg-ul){font-size:var(--ml-fs-3);line-height:1.85}
.ml-page-legal .ml-lg-card h2{font-size:calc(var(--ml-fs-3) + 7px);line-height:1.3;margin-bottom:20px}
.ml-page-legal .ml-lg-f :is(input,select,textarea){font-size:var(--ml-fs-2);border-radius:6px;line-height:1.6}
.academy-solution-page{max-width:1080px!important;padding-top:28px!important}
.academy-solution-page>h1{font-size:calc(var(--ml-fs-3) + 18px)!important;line-height:1.3!important;max-width:30ch;margin-top:16px!important}
.academy-solution-page>div:nth-child(4){font-size:calc(var(--ml-fs-3) - 1px)!important;line-height:1.75!important}
.academy-solution-card{border-radius:10px!important;border:1px solid var(--ml-line)!important;box-shadow:none!important}
.academy-solution-card>div:first-child{padding:28px!important}
.academy-solution-card :is(button,[data-action]){min-height:44px;border-radius:6px!important}
.ml-page-solution [data-reveal-body]{padding:24px!important;border-inline-start:3px solid var(--ml-accent);background:var(--ml-tint)!important;line-height:1.85}
.ml-page-solution [data-hint]{border-radius:8px!important;line-height:1.75}
/* Live authentication screen: a quiet entry panel with a contrasting editorial story. */
.ml-auth{background:var(--ml-bg)!important;color:var(--ml-text)}
.ml-auth .auth-header{height:72px;border-bottom:1px solid var(--ml-line);background:var(--ml-surface);padding-inline:32px}
.ml-auth .auth-brand{gap:12px}
.ml-auth .auth-main{max-width:1080px;gap:64px;padding:64px 32px;align-items:center}
.ml-auth .auth-card{background:var(--ml-surface);border:1px solid var(--ml-line);border-radius:12px;padding:36px;box-shadow:var(--ml-elev-2)}
.ml-auth .auth-eyebrow{font-size:calc(var(--ml-fs-3) - 3px);color:var(--ml-accent-text);font-weight:700}
.ml-auth .auth-card h1{font-size:calc(var(--ml-fs-3) + 18px);font-weight:800;line-height:1.2;margin-block:12px}
.ml-auth .auth-intro{font-size:var(--ml-fs-3);line-height:1.7}
.ml-auth .auth-primary{min-height:50px;border-radius:6px;font-size:var(--ml-fs-3)}
.ml-auth .auth-story{background:transparent;border:0;box-shadow:none;padding:16px 0}
.ml-auth .auth-story h2{font-size:calc(var(--ml-fs-3) + 30px);line-height:1.12;color:var(--ml-ink);font-weight:800;letter-spacing:-.035em}
.ml-auth .auth-story h2 em{font-style:normal;color:var(--ml-accent-text)}
.ml-auth .auth-story-intro{font-size:calc(var(--ml-fs-3) + 1px);line-height:1.7}
.ml-auth .auth-features{gap:20px}
.ml-auth .auth-feature-icon{width:40px;height:40px;border-radius:50%;background:var(--ml-accent-soft);border:1px solid var(--ml-accent-line);color:var(--ml-accent-text);font-size:calc(var(--ml-fs-3) - 3px)}
.ml-auth .auth-features strong{font-size:calc(var(--ml-fs-3) + 1px)}
.ml-auth .auth-features li span:last-child{font-size:calc(var(--ml-fs-3) - 2px);line-height:1.6}
.ml-auth .auth-help{border-top:1px solid var(--ml-line);margin-top:24px;padding-top:16px}
.ml-auth .auth-help summary{min-height:44px}
/* Teacher workbench: headers and course sections stay within their permission guards. */
body.ml-teacher-live{max-width:1080px!important;padding:24px 32px 64px!important;background:var(--ml-bg)!important}
.ml-teacher-live>a{font-size:calc(var(--ml-fs-3) - 2px);color:var(--ml-ink);margin-bottom:20px}
.academy-teacher-heading{border-bottom:1px solid var(--ml-line);padding-bottom:24px;margin-bottom:20px}
.academy-teacher-kicker{font-size:calc(var(--ml-fs-3) - 3px);color:var(--ml-accent-text);font-weight:700}
.academy-teacher-heading h1{font-size:calc(var(--ml-fs-3) + 20px);line-height:1.2;margin:12px 0 0;font-weight:800}
.ml-teacher-live>p{font-size:var(--ml-fs-3);max-width:80ch;line-height:1.75}
.ml-teacher-live>section{border:1px solid var(--ml-line);border-radius:10px;padding:28px;box-shadow:none;position:relative}
.ml-teacher-live>section>h2{font-size:calc(var(--ml-fs-3) + 8px);padding-bottom:16px;border-bottom:1px solid var(--ml-line)}
.ml-teacher-live .students{border:1px solid var(--ml-line-strong)!important;border-radius:6px!important;background:var(--ml-surface)!important;color:var(--ml-ink)!important;min-height:44px;margin:8px 0 20px;padding:8px 16px;box-shadow:none}
.ml-teacher-live details{padding:0 20px;border-radius:6px;margin-block:10px;background:var(--ml-tint);border:1px solid var(--ml-line)}
.ml-teacher-live summary{font-size:var(--ml-fs-3);min-height:56px}
.ml-teacher-live form{padding:12px 0 24px;gap:18px}
.ml-teacher-live :is(input,textarea){background:var(--ml-surface);border-radius:6px;padding:12px;font-size:calc(var(--ml-fs-3) - 1px);min-height:44px}
.ml-teacher-live button{border-radius:6px;box-shadow:none}
.ml-teacher-live #notice:not(:empty){padding:16px 20px;border:1px solid var(--ml-accent-line);border-radius:6px;background:var(--ml-accent-soft);color:var(--ml-ink);font-size:var(--ml-fs-3)}
.ml-teacher-live .student-list{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}
.ml-teacher-live .student-list:empty{display:none}
.ml-teacher-live .student-list button{background:var(--ml-surface);color:var(--ml-ink);border:1px solid var(--ml-line);font-size:var(--ml-fs-2);padding:8px 16px}
.ml-teacher-live .student-list button:hover{background:var(--ml-accent-soft);border-color:var(--ml-accent)}
.ml-teacher-live .student-list pre{flex-basis:100%;padding:16px 20px;margin:0;border:1px solid var(--ml-line);border-radius:6px;background:var(--ml-tint);font:var(--ml-fs-2)/1.8 var(--ml-font);color:var(--ml-text);white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:800px){.ml-page-map .academy-map-page{padding:24px 16px 40px!important}.ml-page-map .academy-map-page>h1{font-size:calc(var(--ml-fs-3) + 13px)!important}.ml-page-map .ml-mapwrap{height:560px}.ml-page-legal .ml-lg-h1{font-size:calc(var(--ml-fs-3) + 13px)!important}.ml-page-legal .ml-lg-card{padding:22px!important}.academy-solution-page{padding:20px 16px 48px!important}.academy-solution-page>h1{font-size:calc(var(--ml-fs-3) + 10px)!important}.academy-solution-card>div:first-child{padding:20px!important}.ml-auth .auth-header{height:64px;padding-inline:16px}.ml-auth .auth-main{padding:28px 16px 40px;gap:32px}.ml-auth .auth-card{padding:24px}.ml-auth .auth-card h1{font-size:calc(var(--ml-fs-3) + 12px)}.ml-auth .auth-story{padding:0 8px}.ml-auth .auth-story h2{font-size:calc(var(--ml-fs-3) + 18px)}body.ml-teacher-live{padding:20px 16px 40px!important}.academy-teacher-heading h1{font-size:calc(var(--ml-fs-3) + 12px)}.ml-teacher-live>section{padding:20px}.ml-teacher-live>section>h2{font-size:calc(var(--ml-fs-3) + 5px)}}

/* Goal composition: continue first, review beside it, details always available. */
html.ml-goal-workspace .ml-home-member{background:var(--ml-bg)!important;border-radius:0!important;overflow:visible!important}
html.ml-goal-workspace .ml-home-member-layout{display:block!important;max-width:1240px!important;margin:0 auto!important;padding:24px 38px 42px!important}
html.ml-goal-workspace .ml-home-welcome{padding:0!important;background:transparent!important;max-width:none!important}
.goal-student-home{max-width:1240px;margin-inline:auto;padding:26px 38px 56px}
.goal-student-heading{margin-bottom:22px}
.goal-student-heading .academy-kicker,.goal-student-heading .ml-eyebrow{margin:0 0 8px;padding:0;background:transparent;font-size:calc(var(--ml-fs-3) - 2px);color:var(--ml-muted);font-weight:400}
.goal-student-heading h1{font-size:calc(var(--ml-fs-3) + 25px)!important;line-height:1.2!important;margin:0!important;font-weight:800!important;color:var(--ml-ink)}
.goal-student-heading>p{font-size:calc(var(--ml-fs-3) + 3px)!important;line-height:1.5;margin:7px 0 0!important;color:var(--ml-text)}
.goal-home-primary{display:grid;grid-template-columns:minmax(0,2.7fr) minmax(240px,1fr);gap:16px;align-items:stretch}
.goal-home-resume,.goal-home-review{background:var(--ml-surface);border:1px solid var(--ml-line);border-radius:6px;min-width:0;box-shadow:none}
.goal-home-resume{display:grid;grid-template-columns:minmax(0,1fr) 43%;padding:24px 20px 14px;gap:12px 20px;min-height:300px}
.goal-resume-copy{min-width:0;align-self:center}
.goal-resume-copy>.academy-kicker{margin:0 0 12px;font-size:var(--ml-fs-3);font-weight:700;color:var(--ml-ink)}
.goal-resume-copy h2{margin:0 0 10px;font-size:calc(var(--ml-fs-3) + 20px)!important;font-weight:800!important;line-height:1.2;color:var(--ml-ink)}
.goal-resume-copy>p:not(.academy-kicker){font-size:calc(var(--ml-fs-3) + 1px);line-height:1.55;margin:0 0 14px;color:var(--ml-text)}
.goal-resume-location{display:block;font-size:calc(var(--ml-fs-3) - 3px);line-height:1.6;color:var(--ml-muted);margin-bottom:14px}
.goal-resume-copy :is(.ml-b,.ml-btn){min-height:50px;min-width:215px;padding:9px 22px;border-radius:5px;background:var(--ml-accent);color:var(--ml-on-accent);display:inline-flex;align-items:center;justify-content:center;gap:14px;font-size:calc(var(--ml-fs-3) + 2px);font-weight:700;box-shadow:none;text-align:center}
.goal-resume-art{display:grid;place-items:center;align-self:center;width:100%;height:225px;max-width:255px;justify-self:center;color:var(--ml-ink);background:radial-gradient(ellipse at center,var(--ml-accent-soft),transparent 68%)}
.goal-resume-art :is(svg,span){display:block;width:100%!important;height:100%!important;max-height:225px}
.goal-resume-art svg{stroke-width:1.3}
.goal-resume-bottom{grid-column:1/-1;padding:12px 16px;margin-top:3px;border:1px solid var(--ml-line);border-radius:6px;display:flex;justify-content:space-between;align-items:center;gap:14px;font-size:calc(var(--ml-fs-3) - 3px);color:var(--ml-muted)}
.goal-resume-bottom a{color:var(--ml-accent-text);font-weight:700}
.goal-home-review{padding:20px;display:flex;flex-direction:column}
.goal-home-review h2{font-size:calc(var(--ml-fs-3) + 6px)!important;line-height:1.3;margin:0 0 6px;font-weight:800}
.goal-home-review p{font-size:calc(var(--ml-fs-3) - 2px);line-height:1.6;margin:0 0 14px;color:var(--ml-text)}
.goal-review-list{border:1px solid var(--ml-line);border-radius:6px;overflow:hidden;margin-bottom:16px}
.goal-review-list:empty{display:none}
.goal-review-list a{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:10px 14px;border-bottom:1px solid var(--ml-line);font-size:calc(var(--ml-fs-3) - 2px);color:var(--ml-ink)}
.goal-review-list a:last-child{border:0}
.goal-review-list a:hover{background:var(--ml-tint)}
.goal-home-review>.ml-b{margin-top:auto;width:100%;min-height:46px;display:flex;justify-content:center;align-items:center;border:1px solid var(--ml-accent);border-radius:5px;color:var(--ml-accent-text);background:var(--ml-surface);font-size:var(--ml-fs-3);gap:10px;font-weight:700}
.goal-home-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px}
.goal-home-stats>a{display:flex;align-items:flex-start;gap:15px;padding:18px 20px;background:var(--ml-surface);border:1px solid var(--ml-line);border-radius:6px;min-width:0;color:var(--ml-ink)}
.goal-home-stats>a>div{flex:1;min-width:0}
.goal-home-stats span:not(.goal-stat-icon){display:block;color:var(--ml-muted);font-size:calc(var(--ml-fs-3) - 2px)}
.goal-home-stats strong{display:block;margin:7px 0;font-size:var(--ml-fs-3);line-height:1.4;font-weight:700}
.goal-home-stats small{color:var(--ml-accent-text);font-size:calc(var(--ml-fs-3) - 3px)}
.goal-stat-icon{width:50px;height:50px;flex:none;border-radius:50%;padding:12px;background:var(--ml-tint);color:var(--ml-ink)}
.goal-stat-icon svg{width:100%;height:100%;stroke-width:1.5}
.goal-meter,.goal-home-stats .d-bar{display:block;height:8px!important;border-radius:20px;background:var(--ml-tint-2);overflow:hidden;margin-top:10px}
.goal-meter i,.goal-home-stats .d-bar i{display:block;height:100%;background:var(--ml-accent);border-radius:20px}
.goal-home-tools{margin-top:24px}
.goal-home-tools h2{font-size:calc(var(--ml-fs-3) + 5px)!important;font-weight:800;margin:0 0 12px!important}
.goal-home-tools>div,.goal-home-tools>.ml-home-shortcuts{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
.goal-home-tools .ml-home-shortcuts>p,.goal-home-tools .ml-home-shortcuts>h2{display:none}
.goal-home-tools :is(.ml-home-shortcuts>a,div>a){display:flex;gap:16px;align-items:center;border:1px solid var(--ml-line)!important;border-radius:6px!important;background:var(--ml-surface)!important;min-height:88px;padding:16px 18px!important;margin:0!important;color:var(--ml-ink)}
.goal-home-tools a>span:nth-child(2){flex:1;min-width:0}
.goal-home-tools a strong{font-size:var(--ml-fs-3);font-weight:700;display:block}
.goal-home-tools a small{display:block;font-size:calc(var(--ml-fs-3) - 3px);color:var(--ml-muted);margin-top:4px}
.goal-tool-icon,.goal-home-tools .ml-shortcut-icon{width:42px;height:42px;color:var(--ml-ink);background:transparent;border-radius:0;padding:0;flex:none}
.goal-tool-icon svg{width:100%;height:100%;stroke-width:1.4}
.goal-home-more{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;padding:18px 20px;background:var(--ml-surface);border:1px solid var(--ml-line);border-radius:6px;margin-top:18px;font-size:calc(var(--ml-fs-3) - 2px)}
.goal-home-more>a:first-child{font-weight:800;color:var(--ml-ink);margin-inline-end:auto}
.goal-home-more button{border:0;background:transparent;color:var(--ml-accent-text);font:inherit;cursor:pointer;min-height:44px;padding:0}
.goal-personal-secondary{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px;margin-top:30px;align-items:start}
.goal-personal-main{min-width:0;display:grid;gap:22px}
.goal-personal-main .academy-personal-panel{box-shadow:none!important;border:1px solid var(--ml-line);border-radius:7px!important}
.goal-personal-aside{min-width:0}
.goal-personal-week>div{margin-bottom:16px;border:1px solid var(--ml-line);border-radius:8px!important;box-shadow:none!important;padding:20px!important}
.goal-personal-aside>.academy-logout{display:flex;min-height:44px;align-items:center;justify-content:center;width:100%;border:1px solid var(--ml-line);border-radius:6px;background:var(--ml-surface);font:700 var(--ml-fs-2) var(--ml-font);color:var(--ml-ink);cursor:pointer}
.goal-avatar-journey{background:var(--ml-surface);border:1px solid var(--ml-line);border-radius:12px;padding:24px;margin:0 0 22px;min-width:0}
.goal-avatar-top{display:grid;grid-template-columns:220px minmax(0,1fr) 220px;gap:24px;align-items:center}
.goal-avatar-art{display:grid;place-items:center;min-width:0;aspect-ratio:1;background:radial-gradient(ellipse at center,var(--ml-accent-soft),transparent 72%);border-radius:50%}
.goal-avatar-art>.goal-avatar-image{width:100%;height:100%;max-height:220px;object-fit:contain;filter:drop-shadow(0 10px 16px color-mix(in srgb,var(--ml-ink) 12%,transparent))}
.goal-avatar-copy{min-width:0}
.goal-avatar-copy>h2{font-size:calc(var(--ml-fs-3) + 12px)!important;line-height:1.25;margin:5px 0 10px!important;font-weight:800;color:var(--ml-ink)}
.goal-avatar-copy>.academy-kicker{margin:0;font-size:calc(var(--ml-fs-3) - 2px);color:var(--ml-accent-text);font-weight:700}
.goal-avatar-badge{display:inline-block;padding:5px 12px;border-radius:20px;background:var(--ml-accent-soft);color:var(--ml-accent-text);font-size:var(--ml-fs-3)}
.goal-avatar-copy>p{font-size:var(--ml-fs-3);line-height:1.65;color:var(--ml-ink);margin:12px 0 8px}
.goal-avatar-fiction{display:block;font-size:calc(var(--ml-fs-3) - 3px);line-height:1.55;color:var(--ml-muted)}
.goal-avatar-points{display:flex;flex-direction:column;gap:9px;padding:20px;border-inline-start:1px solid var(--ml-line);min-width:0}
.goal-avatar-points>span{font-size:calc(var(--ml-fs-3) - 2px);line-height:1.5;color:var(--ml-muted)}
.goal-avatar-points>strong{font-size:calc(var(--ml-fs-3) + 28px);line-height:1;font-weight:800;letter-spacing:-1px;color:var(--ml-ink);font-variant-numeric:tabular-nums}
.goal-avatar-points>a{font-size:var(--ml-fs-2);min-height:44px;display:flex;align-items:center;font-weight:700}
.goal-avatar-exp{margin:18px 0 24px}
.goal-avatar-exp>.ml-b{min-height:44px}
.goal-avatar-stage-path>header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}
.goal-avatar-stage-path h3{font-size:calc(var(--ml-fs-3) + 3px)!important;margin:0!important;color:var(--ml-ink);scroll-margin-top:96px}
.goal-avatar-stage-path>header>span{font-size:var(--ml-fs-2);color:var(--ml-muted)}
.goal-avatar-stage-lane,.goal-avatar-preview-stages{margin:16px 0 0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.goal-avatar-stage{display:flex;flex-direction:column;align-items:center;text-align:center;min-width:0;border:1px solid var(--ml-line);border-radius:8px;padding:12px 10px;position:relative;color:var(--ml-ink);background:var(--ml-surface)}
.goal-avatar-stage-art{display:grid;place-items:center;width:100%;height:112px}
.goal-avatar-stage-art>img{width:100%;height:100%;object-fit:contain}
.goal-avatar-stage-number{font-size:calc(var(--ml-fs-3) - 4px);color:var(--ml-muted);margin:8px 0 3px}
.goal-avatar-stage>strong{font-size:var(--ml-fs-3);font-weight:800;line-height:1.35}
.goal-avatar-stage-status{font-size:calc(var(--ml-fs-3) - 4px);font-weight:700;min-height:22px;margin:4px 0;color:var(--ml-muted)}
.goal-avatar-stage-rule{font-size:calc(var(--ml-fs-3) - 4px);line-height:1.5;color:var(--ml-muted)}
.goal-avatar-stage.is-current{border:2px solid var(--ml-accent);padding:11px 9px;background:var(--ml-accent-soft)}
.goal-avatar-stage.is-current .goal-avatar-stage-status{color:var(--ml-accent-text)}
.goal-avatar-stage.is-complete .goal-avatar-stage-status{color:var(--ml-success)}
.goal-avatar-stage.is-future .goal-avatar-stage-art{opacity:.65}
.goal-avatar-picker-disclosure{margin-top:22px;padding-top:4px;border-top:1px solid var(--ml-line);scroll-margin-top:96px}
.goal-avatar-picker-disclosure>summary{cursor:pointer;min-height:52px;display:list-item;align-content:center;font-size:var(--ml-fs-3);font-weight:700;color:var(--ml-accent-text)}
.goal-avatar-picker-note,.goal-avatar-choice-warning,.goal-avatar-picker-status{font-size:var(--ml-fs-2);line-height:1.6;color:var(--ml-muted);margin:10px 0}
.goal-avatar-kind-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.goal-avatar-kind-list>button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:1px solid var(--ml-line);border-radius:8px;background:var(--ml-surface);color:var(--ml-ink);padding:12px;min-height:136px;font:inherit;cursor:pointer}
.goal-avatar-kind-list>button[aria-pressed=true]{background:var(--ml-accent-soft);border:2px solid var(--ml-accent);padding:11px}
.goal-avatar-kind-list img{object-fit:contain;width:88px;height:88px}
.goal-avatar-kind-list strong{font-size:var(--ml-fs-3)}
.goal-avatar-kind-list [data-chosen-label]{font-size:var(--ml-fs-1);color:var(--ml-accent-text);min-height:18px}
.goal-avatar-preview-title{font-size:var(--ml-fs-3)!important;margin:18px 0 10px!important;color:var(--ml-ink)}
.goal-avatar-preview-stages>li{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;font-size:var(--ml-fs-2);min-width:0}
.goal-avatar-preview-stages img{width:100%;height:112px;object-fit:contain}
.goal-avatar-preview-stages span{font-size:var(--ml-fs-1);color:var(--ml-muted)}
.goal-avatar-choice-warning{padding:12px 16px;border-radius:6px;background:var(--ml-warning-soft);color:var(--ml-warning-text);margin-top:20px}
.goal-avatar-picker-status:empty{display:none}
.goal-avatar-picker button:disabled{cursor:default;opacity:.6}
.goal-system-art{width:100%;height:100%;display:grid;place-items:center;position:relative}
.goal-system-fallback{position:absolute;width:70%;height:70%;z-index:0}
.goal-system-art>.goal-system-illustration{position:relative;z-index:1;width:100%;height:100%;object-fit:contain}
.goal-system-art:has(.goal-system-illustration:not([style*=none])) .goal-system-fallback{visibility:hidden}
#ml-dash .goal-home-avatar{padding:22px;border-radius:12px;background:var(--ml-surface);border:1px solid var(--ml-line);margin-bottom:18px}
#ml-dash .goal-home-avatar-head{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:24px;align-items:center}
#ml-dash .goal-home-avatar .d-av{gap:22px;margin:0;min-width:0}
#ml-dash .goal-home-avatar .d-av img{width:180px;height:180px;object-fit:contain;flex:none;background:radial-gradient(ellipse at center,var(--ml-accent-soft),transparent 72%)}
#ml-dash .goal-home-avatar h2{margin:6px 0;font-size:calc(var(--ml-fs-3) + 12px);line-height:1.25;color:var(--ml-ink)}
#ml-dash .goal-home-avatar .d-next{margin:10px 0 0;max-width:52ch;font-size:var(--ml-fs-3);line-height:1.6}
#ml-dash .goal-home-avatar-points{display:flex;flex-direction:column;gap:8px;border-inline-start:1px solid var(--ml-line);padding-inline-start:24px;font-size:var(--ml-fs-2);color:var(--ml-muted)}
#ml-dash .goal-home-avatar-points>strong{font-size:calc(var(--ml-fs-3) + 28px);line-height:1;font-weight:800;color:var(--ml-ink);font-variant-numeric:tabular-nums}
#ml-dash .goal-home-avatar-stages{margin:20px 0 0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
#ml-dash .goal-home-avatar-stages>li{display:flex;flex-direction:column;align-items:center;text-align:center;gap:3px;border:1px solid var(--ml-line);border-radius:8px;padding:10px;min-width:0;font-size:var(--ml-fs-2)}
#ml-dash .goal-home-avatar-stages img{width:100%;height:80px;object-fit:contain}
#ml-dash .goal-home-avatar-stages span{font-size:var(--ml-fs-1);color:var(--ml-muted)}
#ml-dash .goal-home-avatar-stages .is-current{background:var(--ml-accent-soft);border:2px solid var(--ml-accent);padding:9px}
#ml-dash .goal-home-avatar-stages .is-future img{opacity:.65}
@media(max-width:1100px){.goal-avatar-top{grid-template-columns:180px minmax(0,1fr)}.goal-avatar-points{grid-column:1/-1;border-inline-start:0;border-top:1px solid var(--ml-line);padding:16px 0 0;display:grid;grid-template-columns:1fr auto;align-items:center}.goal-avatar-points>strong{grid-column:2;grid-row:1/3}.goal-avatar-stage-lane{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.goal-avatar-stage{padding:10px 6px}.goal-avatar-stage.is-current{padding:9px 5px}.goal-avatar-stage-art{height:88px}}
@media(max-width:760px){.goal-avatar-journey{padding:18px 16px;margin-bottom:18px}.goal-avatar-top{grid-template-columns:112px minmax(0,1fr);gap:14px}.goal-avatar-art>.goal-avatar-image{max-height:136px}.goal-avatar-copy>h2{font-size:calc(var(--ml-fs-3) + 6px)!important}.goal-avatar-copy>p{font-size:var(--ml-fs-2);line-height:1.5}.goal-avatar-fiction{font-size:var(--ml-fs-1)}.goal-avatar-points{padding-top:12px;gap:6px}.goal-avatar-points>strong{font-size:calc(var(--ml-fs-3) + 20px)}.goal-avatar-stage-lane{grid-template-columns:minmax(0,1fr);gap:8px}.goal-avatar-stage{display:grid;grid-template-columns:76px minmax(0,1fr) auto;gap:2px 12px;align-items:center;text-align:start;padding:10px 12px}.goal-avatar-stage.is-current{padding:9px 11px}.goal-avatar-stage-art{grid-column:1;grid-row:1/5;width:76px;height:76px}.goal-avatar-stage-number{margin:0;grid-column:2}.goal-avatar-stage>strong{grid-column:2}.goal-avatar-stage-status{grid-column:3;grid-row:1/3;align-self:center;margin:0}.goal-avatar-stage-rule{grid-column:2/4}.goal-avatar-kind-list{grid-template-columns:repeat(2,minmax(0,1fr))}.goal-avatar-preview-stages{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}.goal-avatar-preview-stages img{height:64px}.goal-avatar-preview-stages>li{font-size:var(--ml-fs-1)}#ml-dash .goal-home-avatar{padding:16px}#ml-dash .goal-home-avatar-head{grid-template-columns:minmax(0,1fr);gap:16px}#ml-dash .goal-home-avatar .d-av{gap:12px;align-items:center}#ml-dash .goal-home-avatar .d-av img{width:112px;height:112px}#ml-dash .goal-home-avatar h2{font-size:calc(var(--ml-fs-3) + 6px)}#ml-dash .goal-home-avatar-points{border-inline-start:0;border-top:1px solid var(--ml-line);padding:14px 0 0}#ml-dash .goal-home-avatar-stages{gap:4px}#ml-dash .goal-home-avatar-stages>li{padding:6px 2px;font-size:var(--ml-fs-1)}#ml-dash .goal-home-avatar-stages .is-current{padding:5px 1px}#ml-dash .goal-home-avatar-stages img{height:64px}}
.goal-map-link{display:block;padding:18px 0;color:var(--ml-accent-text);font-size:calc(var(--ml-fs-3) - 2px);font-weight:700}
.goal-dashboard-details{margin-top:22px;border:1px solid var(--ml-line);border-radius:7px;background:var(--ml-surface);padding:0 22px 18px}
.goal-dashboard-details>summary{min-height:60px;display:flex;align-items:center;font-size:var(--ml-fs-3);font-weight:700;color:var(--ml-ink);cursor:pointer;list-style:revert}
html.ml-goal-workspace #ml-dash{margin-top:24px!important}
html.ml-goal-workspace .ml-resume-where{margin:14px 0 0!important;font-size:calc(var(--ml-fs-3) - 3px)!important;color:var(--ml-muted)!important;max-width:none}
html.ml-goal-workspace .ml-home-apps{margin-top:28px!important;border-top:1px solid var(--ml-line);padding-top:22px;justify-content:flex-start!important}
.goal-status{padding:16px 20px;border:1px solid var(--ml-warning-text);border-radius:6px;margin-bottom:16px;background:var(--ml-warning-soft);display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:var(--ml-fs-3);color:var(--ml-text)}
@media(min-width:1101px){html.ml-goal-workspace .ml-page-personal>.goal-student-home{margin-inline-start:248px;max-width:none}html.ml-goal-workspace .ml-page-personal>footer{margin-inline-start:248px}html.ml-goal-workspace .ml-page-home #ml-main{margin-inline-start:248px}html.ml-goal-workspace .ml-page-home>footer{margin-inline-start:248px}html.ml-goal-workspace .ml-page-map .academy-map-page{margin-inline-start:248px!important;max-width:none!important}}
@media(max-width:1100px){.goal-home-primary{grid-template-columns:minmax(0,2fr) minmax(230px,1fr)}.goal-student-home{padding-inline:24px}.goal-resume-art{height:180px}.goal-resume-copy h2{font-size:calc(var(--ml-fs-3) + 13px)!important}.goal-personal-secondary{grid-template-columns:minmax(0,1fr) 260px}.goal-home-tools a{gap:10px!important}.goal-home-tools a small{font-size:calc(var(--ml-fs-3) - 4px)}}
@media(max-width:760px){html.ml-goal-workspace .ml-home-member-layout{padding:22px 16px 36px!important}.goal-student-home{padding:22px 16px 40px}.goal-student-heading h1{font-size:calc(var(--ml-fs-3) + 13px)!important}.goal-student-heading>p{font-size:var(--ml-fs-3)!important}.goal-home-primary{grid-template-columns:minmax(0,1fr)}.goal-home-resume{grid-template-columns:minmax(0,1fr) 30%;min-height:0;padding:20px 16px 12px;gap:12px}.goal-resume-art{height:142px}.goal-resume-copy h2{font-size:calc(var(--ml-fs-3) + 9px)!important}.goal-resume-copy :is(.ml-b,.ml-btn){min-width:0;width:100%;font-size:var(--ml-fs-3);padding-inline:10px}.goal-resume-copy>.academy-kicker{font-size:calc(var(--ml-fs-3) - 2px)}.goal-resume-copy>p:not(.academy-kicker){font-size:calc(var(--ml-fs-3) - 1px)}.goal-resume-bottom{flex-wrap:wrap;font-size:calc(var(--ml-fs-3) - 4px);gap:8px;padding:12px}.goal-home-stats{grid-template-columns:minmax(0,1fr);gap:10px}.goal-home-stats>a{padding:15px 16px}.goal-home-tools>div,.goal-home-tools>.ml-home-shortcuts{grid-template-columns:minmax(0,1fr)}.goal-home-tools :is(.ml-home-shortcuts>a,div>a){min-height:74px}.goal-home-more{gap:8px 20px;padding:12px 16px}.goal-home-more>a:first-child{width:100%;margin:0;min-height:36px}.goal-personal-secondary{grid-template-columns:minmax(0,1fr);gap:16px}.goal-personal-main .academy-personal-tool-grid{grid-template-columns:minmax(0,1fr)}.goal-dashboard-details{padding:0 16px 16px}.goal-status{flex-direction:column;align-items:flex-start}}

/* Homepage: actual system art first; achievements stay visible outside the bank disclosure. */
.goal-home-resume .goal-resume-art{height:270px;max-width:315px;background:radial-gradient(ellipse at center,var(--ml-accent-soft),transparent 73%)}
.goal-home-resume .goal-resume-art,.goal-home-resume .goal-resume-art .goal-system-art,.goal-guest-system-art{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);box-sizing:border-box;min-width:0;min-height:0}
.goal-home-resume .goal-resume-art :is(.goal-system-illustration,.goal-system-fallback),.goal-guest-system-art>img{box-sizing:border-box;min-width:0;min-height:0;max-width:100%;max-height:100%;object-fit:contain}
.goal-resume-art>.goal-system-illustration{display:block;width:100%;height:100%;object-fit:contain}
.goal-home-resume .goal-resume-art .goal-system-art{max-height:none}
.goal-home-loading{padding:18px 20px;border:1px solid var(--ml-line);border-radius:8px;background:var(--ml-surface);color:var(--ml-muted);font-size:var(--ml-fs-2)}
#ml-dash .goal-home-achievements{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.45fr);gap:18px;align-items:start;margin:0 0 20px}
#ml-dash .goal-home-achievements>.d-card{min-width:0;border-radius:12px;padding:22px}
#ml-dash .goal-home-achievements header{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:16px;flex-wrap:wrap}
#ml-dash .goal-home-achievements header>h3{margin:0;font-size:calc(var(--ml-fs-3) + 6px);line-height:1.3;color:var(--ml-ink)}
#ml-dash .goal-home-achievements header>a{font-size:var(--ml-fs-2);color:var(--ml-accent-text);font-weight:700;min-height:44px;display:inline-flex;align-items:center}
#ml-dash .goal-achievement-intro{margin:0 0 16px;font-size:var(--ml-fs-2);line-height:1.65;color:var(--ml-muted)}
#ml-dash .goal-home-medals .d-row{padding:14px 0;gap:14px;min-height:80px}
#ml-dash .goal-home-medals .d-ico{width:64px;height:64px;background:transparent;border-radius:0}
#ml-dash .goal-home-medals .d-name{font-size:var(--ml-fs-3);white-space:normal;line-height:1.35}
#ml-dash .goal-home-medals .d-meta{font-size:var(--ml-fs-2);line-height:1.55;margin-top:4px}
#ml-dash .goal-medals-next>div+div{border-top:1px solid var(--ml-line);margin-top:12px;padding-top:8px}
#ml-dash .goal-home-medals .d-bar{margin-inline-start:78px;margin-top:0}
#ml-dash .goal-medal-earned{padding:12px 14px;background:var(--ml-accent-soft);border:1px solid var(--ml-accent-line);border-radius:8px;margin-bottom:12px}
#ml-dash .goal-medal-earned-label{display:block;color:var(--ml-accent-text);font-size:var(--ml-fs-2);font-weight:700}
#ml-dash .goal-home-prizes .d-awards{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
#ml-dash .goal-home-prizes .d-flip,#ml-dash .goal-home-prizes .d-flip-in{min-height:208px}
#ml-dash .goal-home-prizes .d-face{padding:14px 10px;gap:7px;border-radius:8px}
#ml-dash .d-award-status{font-size:var(--ml-fs-1);line-height:1.4;color:var(--ml-muted)}
#ml-dash .d-award-status.is-won{padding:3px 10px;background:var(--ml-accent-soft);color:var(--ml-accent-text);border-radius:20px;font-weight:700}
#ml-dash .goal-home-achievements .d-foot{font-size:var(--ml-fs-2);line-height:1.6;margin-top:18px}
#ml-dash .goal-home-achievements+.goal-home-avatar{margin-top:24px}
.goal-guest-system-art{float:inline-end;display:grid;place-items:center;width:160px;height:180px;margin:14px 0 12px 18px;background:radial-gradient(ellipse at center,var(--ml-accent-soft),transparent 72%)}
.goal-guest-system-art>img{display:block;width:100%;height:100%;object-fit:contain}
.ml-home-intro>.ml-lede{clear:both}
.goal-home-resume .goal-resume-copy :is(.ml-b,.ml-btn){white-space:normal;text-wrap:balance}
.goal-home-resume .goal-resume-actions{min-width:0}
.goal-home-resume .goal-resume-actions a>span{min-width:0;max-width:100%;white-space:normal}
@media(max-width:1100px){#ml-dash .goal-home-achievements{grid-template-columns:minmax(0,1fr)}#ml-dash .goal-home-prizes .d-awards{grid-template-columns:repeat(3,minmax(0,1fr))}.goal-home-resume .goal-resume-art{height:225px}}
@media(max-width:760px){.goal-home-resume{grid-template-columns:minmax(0,1fr) 36%}.goal-home-resume .goal-resume-art{height:180px;max-width:180px}#ml-dash .goal-home-achievements{gap:16px}#ml-dash .goal-home-achievements>.d-card{padding:18px 16px}#ml-dash .goal-home-prizes .d-awards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}#ml-dash .goal-home-prizes .d-flip,#ml-dash .goal-home-prizes .d-flip-in{min-height:214px}#ml-dash .goal-home-achievements header{margin-bottom:12px}#ml-dash .goal-home-medals .d-row{gap:12px}#ml-dash .goal-home-medals .d-bar{margin-inline-start:76px}.goal-guest-system-art{width:104px;height:124px;margin:14px 0 10px 12px}}

/* Goal map frame follows the same student workspace. */
html.ml-goal-workspace .ml-page-map .academy-map-page{max-width:none;padding:20px 38px 40px!important}
html.ml-goal-workspace .ml-page-map .academy-map-page>div:first-child{display:none}
html.ml-goal-workspace .ml-page-map .academy-map-page>h1{font-size:calc(var(--ml-fs-3) + 25px)!important;line-height:1.2;margin:8px 0 0!important;font-weight:800}
.goal-map-intro{font-size:var(--ml-fs-3);line-height:1.5;color:var(--ml-text);margin:7px 0 0}
html.ml-goal-workspace .ml-page-map .ml-mapwrap{height:760px;min-height:0;background:var(--ml-bg);border:0!important;border-radius:0!important;box-shadow:none;margin-top:18px!important}
html.ml-goal-workspace .ml-page-map .ml-mapwrap iframe{background:var(--ml-bg)}
.goal-map-course-info{margin-top:18px;font-size:calc(var(--ml-fs-3) - 2px);color:var(--ml-text)}
.goal-map-course-info>summary{min-height:44px;cursor:pointer;font-weight:700}
@media(min-width:1101px){html.ml-goal-workspace .ml-page-map>footer{margin-inline-start:248px}}
@media(max-width:1100px){html.ml-goal-workspace .ml-page-map .academy-map-page{padding-inline:24px!important}}
@media(max-width:700px){html.ml-goal-workspace .ml-page-map .academy-map-page{padding:18px 16px 40px!important}html.ml-goal-workspace .ml-page-map .academy-map-page>h1{font-size:calc(var(--ml-fs-3) + 13px)!important}html.ml-goal-workspace .ml-page-map .ml-mapwrap{height:1150px}.goal-map-intro{font-size:calc(var(--ml-fs-3) - 1px)}}

/* The server's existing teacher link sits below the shared header, without
   moving that header away from the persistent learning navigation. */
html.ml-goal-workspace[data-ml-page="personal"] body:has(> nav[aria-label="הוראה"]){--goal-teacher-row-height:max(68px,calc(var(--ml-fs-3) + 50px))}
html.ml-goal-workspace[data-ml-page="personal"] body:has(> nav[aria-label="הוראה"]) > nav[aria-label="הוראה"]{position:absolute;top:var(--goal-header-height);inset-inline:0;height:var(--goal-teacher-row-height);box-sizing:border-box;display:flex;align-items:center;justify-content:flex-start;padding:12px 38px!important;z-index:21;background:var(--ml-bg)}
html.ml-goal-workspace[data-ml-page="personal"] body:has(> nav[aria-label="הוראה"]) .goal-student-home{padding-block-start:calc(26px + var(--goal-teacher-row-height))!important}
@media(min-width:1101px){html.ml-goal-workspace[data-ml-page="personal"] body:has(> nav[aria-label="הוראה"]) > nav[aria-label="הוראה"]{inset-inline-start:var(--goal-rail-width)}}
@media(max-width:1100px){html.ml-goal-workspace[data-ml-page="personal"] body:has(> nav[aria-label="הוראה"]) > nav[aria-label="הוראה"]{padding-inline:24px!important}}
@media(max-width:760px){html.ml-goal-workspace[data-ml-page="personal"] body:has(> nav[aria-label="הוראה"]) > nav[aria-label="הוראה"]{padding-inline:16px!important}html.ml-goal-workspace[data-ml-page="personal"] body:has(> nav[aria-label="הוראה"]) .goal-student-home{padding-block-start:calc(22px + var(--goal-teacher-row-height))!important}}

@media(max-width:480px){
 .goal-home-resume{grid-template-columns:minmax(0,1fr);gap:16px}
 .goal-home-resume .goal-resume-art{grid-row:1;width:100%;height:150px;max-width:200px}
 .goal-home-resume .goal-resume-copy{grid-row:2}
 .goal-home-resume .goal-resume-copy h2{font-size:calc(var(--ml-fs-3) + 11px)!important}
}


/* academy-learning */
/* Learning surfaces: authored content and activity contracts stay in units.js. */
.ml-view-topic .ml-course-layout { max-width: 1200px !important; padding: 0 !important; margin: 24px auto 40px !important; gap: 0 !important; border: 1px solid var(--ml-line); border-radius: 8px; background: var(--ml-surface); }
.ml-view-topic .ml-course-layout > .ml-rail { width: 248px !important; top: 88px !important; max-height: calc(100dvh - 112px); overflow-y: auto; scrollbar-width: thin; border: 0 !important; border-inline-end: 1px solid var(--ml-line) !important; border-radius: 0 !important; padding: 20px 12px !important; box-shadow: none !important; background: var(--ml-surface); }
.ml-view-topic .academy-lesson-back { min-height: 44px; width: 100%; padding: 8px 12px; font-size: var(--ml-fs-2); text-align: start; color: var(--ml-accent-text); border: 0; background: transparent; cursor: pointer; }
.ml-view-topic .ml-course-layout > main {
  max-width: 952px !important;
  padding: 24px 32px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: var(--ml-surface);
  box-shadow: none !important;
}
.ml-view-topic .ml-course-layout > main > h1 {
  color: var(--ml-ink);
  font-size: clamp(calc(var(--ml-fs-3) + 10px), calc(3vw + var(--ml-fs-3) - 18px), calc(var(--ml-fs-3) + 18px)) !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
  margin-block: 8px 12px !important;
  text-wrap: balance;
}
.ml-view-topic .ml-objective {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-block: 12px 14px !important;
  border: 1px solid var(--ml-accent-line);
  border-radius: 8px !important;
  padding: 12px 16px !important;
  background: var(--ml-accent-soft) !important;
  font-size: var(--ml-fs-3) !important;
  line-height: 1.55;
}
.ml-view-topic .ml-objective b { display: block; font-size: calc(var(--ml-fs-3) + 1px); margin-bottom: 2px; }
.ml-view-topic .academy-objective-icon { width: 28px; height: 28px; flex: none; color: var(--ml-accent-text); }
.ml-view-topic .academy-objective-icon svg { width: 100%; height: 100%; }
.ml-view-topic .ml-locator { color: var(--ml-muted); font-size: var(--ml-fs-2) !important; line-height: 1.5; margin-top: 0 !important; }
.ml-view-topic .ml-lesson { color: var(--ml-text); font-size: var(--ml-fs-3) !important; line-height: 1.75 !important; }
.ml-view-topic .ml-lesson :is(p, li, dd) { color: var(--ml-text); }
.ml-course-screen .mlu .mlu-body { color: var(--ml-text); }
.ml-course-screen .mlu .mlu-body > p { color: var(--ml-text); margin-block: 12px; line-height: 1.75; }
.ml-course-screen .mlu .mlu-body > p:first-child { margin-top: 0; }
.ml-course-screen .mlu .mlu-body > h3 { color: var(--ml-ink); font-weight: 800; font-size: calc(var(--ml-fs-3) + 8px); line-height: 1.35; margin-block: 26px 10px; }
.ml-course-screen .mlu .mlu-body > h4 { color: var(--ml-ink); font-weight: 700; font-size: var(--ml-fs-4); margin-block: 22px 10px; }
.ml-course-screen .mlu .term { font-family: var(--ml-font-voice) !important; font-weight: 700; color: var(--ml-accent-text) !important; letter-spacing: 0; }
.ml-course-screen .mlu .tg { font-family: var(--ml-font-voice); color: var(--ml-accent-text); display: inline; vertical-align: baseline; line-height: inherit; margin: 0; }
.ml-course-screen .mlu .tg .tb { display: inline; }
.ml-course-screen .mlu .tg .gl { display: inline; width: auto; min-width: 0; font-family: var(--ml-font-voice) !important; color: var(--ml-accent-text) !important; font-size: var(--ml-fs-1); line-height: inherit; letter-spacing: 0; direction: ltr; unicode-bidi: isolate; text-align: start; }
.ml-course-screen .mlu .tg:not(.is-term-popover) .gl::before { content: ' ('; }
.ml-course-screen .mlu .tg:not(.is-term-popover) .gl::after { content: ')'; }
.ml-course-screen .mlu .mlu-term-button { font: inherit; line-height: inherit; color: var(--ml-accent-text); background: transparent; border: 0; border-radius: 2px; padding: 0; min-height: 0; text-decoration: none; cursor: help; }
.ml-course-screen .mlu .is-term-popover .gl:not(:popover-open) { display: none !important; }
.ml-course-screen .mlu .is-term-popover .gl:popover-open { display: block; position: fixed; inset: auto; margin: 0; box-sizing: border-box; width: min(280px, calc(100vw - 32px)); min-width: 0; max-height: calc(100dvh - 32px); overflow: auto; padding: 12px 16px; border: 1px solid var(--ml-line-strong); border-radius: 8px; background: var(--ml-surface); color: var(--ml-ink); box-shadow: var(--ml-elev-2); font-size: var(--ml-fs-2); line-height: 1.6; overflow-wrap: anywhere; }

/* Legacy summaries remain available to older embeds; the lesson renderer omits them. */
.ml-course-screen .mlu .mlu-overview { display: flex; align-items: flex-start; flex-wrap: wrap; gap: 8px; margin: 0 0 12px; }
.ml-course-screen .mlu .mlu-subs {
  border: 1px solid var(--ml-line);
  border-radius: 8px;
  background: var(--ml-surface);
  margin: 0;
  color: var(--ml-text);
  font-size: var(--ml-fs-2);
}
.ml-course-screen .mlu .mlu-subs > summary { min-height: 44px; padding: 10px 14px; box-sizing: border-box; cursor: pointer; font-weight: 600; color: var(--ml-ink); }
.ml-course-screen .mlu .mlu-subs > p { max-width: 72ch; margin: 0; padding: 0 14px 14px; line-height: 1.7; }
.ml-course-screen .mlu .mlu-section-progress { margin: 0; padding: 0; border: 1px solid var(--ml-line); background: var(--ml-bg); border-radius: 8px; min-width: 0; }
.ml-course-screen .mlu .mlu-progress-heading { display: flex; justify-content: space-between; align-items: baseline; flex-wrap: wrap; gap: 6px 12px; min-height: 44px; padding: 10px 14px; box-sizing: border-box; cursor: pointer; list-style: none; font-size: var(--ml-fs-2); color: var(--ml-ink); }
.ml-course-screen .mlu .mlu-progress-heading::-webkit-details-marker { display: none; }
.ml-course-screen .mlu .mlu-progress-heading::before { content: '⌄'; font-size: var(--ml-fs-3); line-height: 1; }
.ml-course-screen .mlu .mlu-section-progress[open] .mlu-progress-heading::before { transform: rotate(180deg); }
.ml-course-screen .mlu .mlu-progress-count { font-weight: 800; }
.ml-course-screen .mlu .mlu-progress-bar { display: block; height: 6px; margin: 0 14px 10px; background: var(--ml-line); border-radius: 8px; overflow: hidden; }
.ml-course-screen .mlu .mlu-progress-fill { display: block; height: 100%; border-radius: inherit; background: var(--ml-accent); }
.ml-course-screen .mlu .mlu-progress-note { margin: 0 14px; color: var(--ml-muted); font-size: var(--ml-fs-2); line-height: 1.6; }
.ml-course-screen .mlu .mlu-progress-next { margin: 8px 14px 14px; border: 1px solid var(--ml-line); min-height: 44px; }
.ml-course-screen .mlu .mlu-savebar { padding: 10px 14px; border-radius: 8px; font-size: var(--ml-fs-2); margin: 20px 0 12px; background: var(--ml-sunken); }
.ml-course-screen .mlu .mlu-savemore > summary { min-height: 44px; }

/* Optional questions have a distinct, quiet blue identity, separate from the learning goal. */
.ml-course-screen .mlu .mlu-prior.box.blue {
  --rail: #bed2e8;
  --fill: #f0f5fb;
  --title: #285989;
  border-color: var(--rail) !important;
  background: var(--fill) !important;
}
.ml-course-screen .mlu .mlu-prior > summary { color: var(--title); font-weight: 700; }
html[data-ml-theme=dark] .ml-course-screen .mlu .mlu-prior.box.blue {
  --rail: #456585;
  --fill: #20374e;
  --title: #b5d5f6;
}

/* The corner icon is a deliberate circular seal, matching the approved lesson reference. */
.ml-course-screen .mlu .box {
  position: relative;
  border: 1px solid var(--rail) !important;
  border-radius: 8px !important;
  padding: 18px 20px !important;
  margin-block: 24px !important;
  background: var(--fill) !important;
  box-shadow: none !important;
}
.ml-course-screen .mlu .box .bt { padding-inline-start: 42px !important; margin: 0 0 8px !important; color: var(--title); font-size: var(--ml-fs-4) !important; font-weight: 800; line-height: 1.4; min-height: 28px; }
.ml-course-screen .mlu .box .bt svg {
  position: absolute;
  inset-inline-start: 8px;
  top: -8px;
  width: 48px !important;
  height: 48px !important;
  padding: 10px !important;
  box-sizing: border-box;
  border: 1px solid var(--rail) !important;
  border-radius: 50% !important;
  background: var(--fill) !important;
  color: var(--title);
}
.ml-course-screen .mlu .box[data-callout="remember"] { --rail: #70bec4; --fill: #e8f7f8; --title: #087f8b; }
.ml-course-screen .mlu .box[data-callout="remember"] .bt svg { background: #078a96 !important; color: white; border-color: #078a96 !important; }
.ml-course-screen .mlu .box p, .ml-course-screen .mlu .box li { font-size: var(--ml-fs-3); line-height: 1.7; }
.ml-course-screen .mlu .box.voice .bt, .ml-course-screen .mlu .box.voice p, .ml-course-screen .mlu .box.voice li { font-family: var(--ml-font) !important; letter-spacing: 0; }
.ml-course-screen .mlu .box[data-callout="misconception"] { --rail: #dfb573; --fill: #fff7e8; --title: #9b5916; }
.ml-course-screen .mlu .box[data-callout="selfcheck"] { --rail: #a1c0df; --fill: #edf5fc; --title: #245d91; }
.ml-course-screen .mlu .box[data-callout="analogy"] { --rail: #b2a8d8; --fill: #f5f1fb; --title: #625196; }
.ml-course-screen .mlu .box[data-callout="formula"] { --rail: #b5a0d4; --fill: #f5f0fb; --title: #664697; }
.ml-course-screen .mlu .box[data-callout="chain"] { --rail: #aacaa1; --fill: #f1f7ec; --title: #4a733d; }
.ml-course-screen .mlu .box[data-callout="graph"] { --rail: #d2a9c9; --fill: #fcf2f9; --title: #865077; }
.ml-course-screen .mlu .box[data-callout="safety"] { --rail: #d9a0a6; --fill: #fff1f2; --title: #98363f; }
.ml-course-screen .mlu .box[data-callout="interesting"] { --rail: #d1bc73; --fill: #fff9e9; --title: #816919; }
.ml-course-screen .mlu .box[data-callout="scenario"] { --rail: #a5bfce; --fill: #eff5f9; --title: #486d82; }

/* Activity families share controls; each existing builder keeps its scientific interaction. */
.ml-course-screen .mlu .act { border: 1px solid var(--ml-line) !important; border-radius: 10px !important; margin-block: 30px !important; background: var(--ml-surface); overflow: hidden; box-shadow: none !important; }
.ml-course-screen .mlu .act-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; padding: 18px 22px; background: var(--ml-bg) !important; border-bottom: 1px solid var(--ml-line); }
.ml-course-screen .mlu .act-kind { flex-basis: 100%; font-size: var(--ml-fs-2); color: var(--ml-accent-text); font-weight: 700; }
.ml-course-screen .mlu .act-title { flex: 1; min-width: 0; font-size: var(--ml-fs-5); font-weight: 800; line-height: 1.35; margin: 0; }
.ml-course-screen .mlu .act-goal { flex-basis: 100%; color: var(--ml-muted); font-size: var(--ml-fs-3); line-height: 1.6; }
.ml-course-screen .mlu .act-status { flex-basis: 100%; margin-top: 6px; }
.ml-course-screen .mlu .act-body { padding: 22px; }
.ml-course-screen .mlu .btn { border-radius: 7px; min-height: 46px; font-size: var(--ml-fs-3); font-weight: 700; }
.ml-course-screen .mlu .btn.primary { background: var(--ml-accent); border: 1px solid var(--ml-accent); color: var(--ml-on-accent); box-shadow: none; }
.ml-course-screen .mlu .btn.ghost { border: 1px solid var(--ml-line); background: var(--ml-surface); }
.ml-course-screen .mlu .btn:focus-visible, .ml-course-screen .mlu .lbl-choice:focus-visible { outline: 3px solid var(--ml-accent); outline-offset: 3px; }
.ml-course-screen .mlu .btn:disabled { cursor: default; color: var(--ml-muted); background: var(--ml-sunken); opacity: .7; }
.ml-course-screen .mlu .mlu-practice-launch { margin-inline-start: auto; font-size: var(--ml-fs-2); min-height: 44px; white-space: nowrap; }
.ml-course-screen .mlu .row-actions { gap: 10px; }
.ml-course-screen .mlu .fb.show { padding: 16px; border-radius: 8px; line-height: 1.7; font-size: var(--ml-fs-3); }
.ml-course-screen .mlu .fb.bad { border: 1px solid var(--ml-danger); background: var(--ml-danger-soft); }
.ml-course-screen .mlu .fb.ok { border: 1px solid var(--ml-success); background: var(--ml-success-soft); }
.ml-course-screen .mlu .hintbox { border: 1px solid var(--ml-warning); background: var(--ml-warning-soft); border-radius: 8px; padding: 14px 16px; font-size: var(--ml-fs-3); line-height: 1.6; }

/* Figure labelling: one visible item, all original answer choices, original grading values. */
.ml-course-screen .mlu .lbl-workspace { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(280px, 1fr); gap: 20px; align-items: start; margin-block: 14px 0; }
.ml-course-screen .mlu .lbl-instruction { color: var(--ml-text); font-size: var(--ml-fs-3); line-height: 1.6; margin: 0 0 12px; }
.ml-course-screen .mlu .lbl-figure-pane { position: static; padding: 16px; background: var(--ml-surface); border: 1px solid var(--ml-line); border-radius: 8px; min-width: 0; }
.ml-course-screen .mlu .lbl-fig { max-width: min(100%, var(--fig-nw, 10000px)) !important; width: 100%; margin: 0 auto; border: 0; border-radius: 4px; box-shadow: none; }
.ml-course-screen .mlu .lbl-fig img { display: block; width: 100%; height: auto; border-radius: 0; }
.ml-course-screen .mlu .lbl-figure-tools { display: flex; justify-content: flex-end; padding-top: 12px; gap: 8px; }
.ml-course-screen .mlu .lbl-figure-pane .note { margin-top: 12px !important; font-size: var(--ml-fs-2); line-height: 1.6; color: var(--ml-muted); }
.ml-course-screen .mlu .lbl-answer-pane { position: static; padding: 18px; background: var(--ml-surface); border: 1px solid var(--ml-line); border-radius: 8px; min-width: 0; }
.ml-course-screen .mlu .lbl-answer-count { display: block; margin: 0 0 6px; color: var(--ml-muted); font-size: var(--ml-fs-2); font-weight: 600; line-height: 1.5; }
.ml-course-screen .mlu .lbl-progress-bar { height: 6px; background: var(--ml-line); border-radius: 6px; display: block; overflow: hidden; margin-bottom: 14px; }
.ml-course-screen .mlu .lbl-progress-fill { height: 100%; background: var(--ml-accent); display: block; border-radius: inherit; }
.ml-course-screen .mlu .lbl-active-title { font-size: var(--ml-fs-5); font-weight: 800; line-height: 1.3; margin: 0 0 6px; color: var(--ml-ink); }
.ml-course-screen .mlu .lbl-active-prompt { font-size: var(--ml-fs-3); font-weight: 600; color: var(--ml-text); line-height: 1.5; margin: 0 0 16px; }
.ml-course-screen .mlu .lbl-nav { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 8px; margin: 0 0 16px; }
.ml-course-screen .mlu .lbl-nav .btn { padding-inline: 10px; min-width: 44px; min-height: 44px; }
.ml-course-screen .mlu .lbl-counter { font-size: var(--ml-fs-2); font-weight: 600; text-align: center; color: var(--ml-muted); line-height: 1.45; }
.ml-course-screen .mlu .lbl-grid { display: block !important; margin: 0; }
.ml-course-screen .mlu .lbl-row { display: none !important; grid-template-columns: 28px minmax(0, 1fr) 20px; gap: 8px; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.ml-course-screen .mlu .lbl-row.is-active { display: grid !important; }
.ml-course-screen .mlu .lbl-row .lbl-value { position: absolute !important; width: 1px !important; height: 1px !important; min-height: 0 !important; padding: 0 !important; margin: -1px; border: 0 !important; clip: rect(0, 0, 0, 0); clip-path: inset(50%); overflow: hidden; pointer-events: none; }
.ml-course-screen .mlu .lbl-row .lbl-num, .ml-course-screen .mlu .lbl-row .lbl-answer-text, .ml-course-screen .mlu .lbl-row .cz-mark { display: none; }
.ml-course-screen .mlu .lbl-choices { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 0; }
.ml-course-screen .mlu .lbl-choice { font: inherit; font-size: var(--ml-fs-3); line-height: 1.35; font-weight: 600; text-align: center; width: 100%; min-height: 48px; padding: 10px 12px; color: var(--ml-ink); background: var(--ml-bg); border: 1px solid var(--ml-line-strong); border-radius: 7px; cursor: pointer; box-shadow: none; overflow-wrap: anywhere; }
.ml-course-screen .mlu .lbl-choice:hover { border-color: var(--ml-accent); }
.ml-course-screen .mlu .lbl-choice[aria-pressed="true"] { background: var(--ml-accent-soft); border: 1px solid var(--ml-accent); box-shadow: inset 0 0 0 1px var(--ml-accent); color: var(--ml-ink); font-weight: 800; }
.ml-course-screen .mlu .lbl-choice[aria-pressed="true"]::before { content: "✓ "; color: var(--ml-accent-text); }
.ml-course-screen .mlu .lbl-choice:disabled { cursor: default; }
.ml-course-screen .mlu .lbl-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 16px; padding: 0; }
.ml-course-screen .mlu .lbl-actions .primary { grid-column: 1 / -1; }
.ml-course-screen .mlu .lbl-actions .btn { width: 100%; min-height: 48px; }
.ml-course-screen .mlu .lbl-check-note { margin: 10px 0 0; font-size: var(--ml-fs-2); color: var(--ml-muted); line-height: 1.5; }
.ml-course-screen .mlu .lbl-saving-note { margin: 14px 0 0 !important; font-size: var(--ml-fs-2); line-height: 1.6; color: var(--ml-muted); }
.ml-course-screen .mlu .lbl-grid.is-complete .lbl-row { display: grid !important; margin-bottom: 8px; padding: 10px; background: var(--ml-success-soft); border: 1px solid var(--ml-line); border-radius: 6px; }
.ml-course-screen .mlu .lbl-grid.is-complete .lbl-num { display: flex; }
.ml-course-screen .mlu .lbl-grid.is-complete .lbl-answer-text, .ml-course-screen .mlu .lbl-grid.is-complete .cz-mark { display: block; font-weight: 700; }
.ml-course-screen .mlu .lbl-grid.is-complete .lbl-choices { display: none; }
.ml-course-screen .mlu .lbl-badge { min-width: 28px !important; min-height: 28px !important; width: 28px !important; height: 28px !important; padding: 0 !important; border: 1.5px solid var(--ml-ink); background: var(--ml-surface); color: var(--ml-ink); font-size: calc(var(--ml-fs-3) - 4px) !important; box-shadow: 0 1px 3px rgb(8 38 75 / .1); }
.ml-course-screen .mlu .lbl-badge::before { inset: 0; }
.ml-course-screen .mlu .lbl-badge.on { background: var(--ml-accent-soft); border-color: var(--ml-accent); color: var(--ml-ink); outline: 4px solid var(--ml-accent-line); }
.ml-course-screen .mlu .lbl-badge.is-ok { background: var(--ml-success-soft); border-color: var(--ml-success); color: var(--ml-success); }
.ml-course-screen .mlu .lbl-badge.is-bad { background: var(--ml-danger-soft); border-color: var(--ml-danger); color: var(--ml-danger); border-style: dashed; }
.ml-course-screen .mlu .lbl-badge:active { transform: translate(-50%, -50%) !important; }

/* Native modal keeps keyboard focus within the workspace and returns to the launcher on close. */
.ml-course-screen .mlu .mlu-practice-dialog { width: 100%; max-width: 100%; height: 100dvh; max-height: 100dvh; margin: 0; border: 0; padding: 0; border-radius: 0; background: var(--ml-bg); color: var(--ml-text); overflow: auto; overscroll-behavior: contain; }
.ml-course-screen .mlu .mlu-practice-dialog::backdrop { background: rgb(8 38 75 / .46); }
.ml-course-screen .mlu .mlu-practice-bar { position: sticky; top: 0; z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 72px; padding: 8px 32px; box-sizing: border-box; border-bottom: 1px solid var(--ml-line); background: var(--ml-surface); color: var(--ml-ink); font-size: calc(var(--ml-fs-3) + 4px); font-weight: 800; }
.ml-course-screen .mlu .mlu-practice-dialog .act { max-width: 1440px; margin: 0 auto !important; border: 0 !important; border-radius: 0 !important; background: var(--ml-bg); }
.ml-course-screen .mlu .mlu-practice-dialog .act-head { padding: 20px 32px 10px; gap: 2px 12px; background: var(--ml-bg) !important; border-bottom: 0; }
.ml-course-screen .mlu .mlu-practice-dialog .act-kind { font-size: var(--ml-fs-2); }
.ml-course-screen .mlu .mlu-practice-dialog .act-title { font-size: calc(var(--ml-fs-3) + 14px); line-height: 1.25; }
.ml-course-screen .mlu .mlu-practice-dialog .act-goal { font-size: var(--ml-fs-2); line-height: 1.5; margin-top: 2px; }
.ml-course-screen .mlu .mlu-practice-dialog .act-status { margin-top: 4px; }
.ml-course-screen .mlu .mlu-practice-dialog .act-body { padding: 4px 32px 32px; }
.ml-course-screen .mlu .mlu-practice-dialog .lbl-instruction { font-size: var(--ml-fs-3); line-height: 1.5; margin: 0 0 10px; }
.ml-course-screen .mlu .mlu-practice-dialog .mlu-practice-launch { display: none; }
.ml-course-screen .mlu .mlu-practice-dialog .lbl-workspace { grid-template-columns: minmax(0, 1.5fr) minmax(340px, 1fr); gap: 20px; margin-top: 10px; }
.ml-course-screen .mlu .mlu-practice-dialog .lbl-figure-pane { padding: 18px; }
.ml-course-screen .mlu .mlu-practice-dialog .lbl-fig { width: min(100%, var(--fig-nw, 10000px), calc(max(180px, calc(100dvh - 400px)) * var(--fig-r, 10))); }
.ml-course-screen .mlu .mlu-practice-dialog .lbl-answer-pane { padding: 22px; }

/* Comparison cards retain the original table and all cell content. */
.ml-course-screen .mlu .tbl { margin-block: 18px 24px; border: 1px solid var(--ml-line); border-radius: 8px; background: var(--ml-surface); }
.ml-course-screen .mlu table.data { background: var(--ml-surface); font-size: var(--ml-fs-3); line-height: 1.65; }
.ml-course-screen .mlu table.data th { background: var(--ml-bg); color: var(--ml-ink); border: 0; border-bottom: 1px solid var(--ml-line); padding: 12px 16px; font-weight: 800; }
.ml-course-screen .mlu table.data td { padding: 14px 16px; border: 0; border-bottom: 1px solid var(--ml-line); color: var(--ml-text); }
.ml-course-screen .mlu table.data td.rowh { background: var(--ml-bg); color: var(--ml-ink); font-weight: 800; }
.ml-course-screen .mlu .tbl caption { padding: 12px 16px; background: var(--ml-surface); color: var(--ml-ink); text-align: start; font-size: var(--ml-fs-3); }
.ml-course-screen .mlu .mlu-mobile-table { display: none; }
.ml-course-screen .mlu .mlu-table-item { background: var(--ml-surface); border: 1px solid var(--ml-line); border-radius: 8px; overflow: hidden; margin-block: 8px; }
.ml-course-screen .mlu .mlu-table-item > summary { min-height: 52px; padding: 14px 16px; background: var(--ml-bg); font-size: var(--ml-fs-4); font-weight: 800; color: var(--ml-ink); }
.ml-course-screen .mlu .mlu-table-item dl { padding: 0 16px 18px; margin: 0; }
.ml-course-screen .mlu .mlu-table-item dt { color: var(--ml-muted); font-size: var(--ml-fs-2); font-weight: 700; }
.ml-course-screen .mlu .mlu-table-item dd { margin: 4px 0 12px; font-size: var(--ml-fs-3); line-height: 1.7; }
.ml-course-screen .mlu .mlu-foot { border-radius: 8px; background: var(--ml-bg); border: 1px solid var(--ml-line); padding: 20px; box-shadow: none; }
.ml-course-screen .mlu .mlu-foot-h { color: var(--ml-ink); font-weight: 800; }
.ml-view-practice .ml-course-layout > main { max-width: 1000px; }
.ml-view-practice .mlp-card { border: 1px solid var(--ml-line); border-radius: 10px; box-shadow: none; }

/* A single contextual navigation stays within the lesson reading surface. */
.academy-lesson-nav { display: flex; align-items: center; justify-content: space-between; gap: 8px; border-top: 1px solid var(--ml-line); background: var(--ml-surface); padding: 12px 0; margin-top: 24px; }
.academy-lesson-nav button { min-height: 44px; display: flex; align-items: center; justify-content: center; gap: 8px; padding: 8px 12px; border: 0; border-radius: 5px; background: transparent; color: var(--ml-ink); font: inherit; font-size: var(--ml-fs-3); cursor: pointer; }
.academy-lesson-nav button:disabled { opacity: .5; cursor: default; }
.academy-lesson-nav button:hover:not(:disabled) { background: var(--ml-tint); }
.academy-lesson-nav svg { width: 22px; height: 22px; flex: none; }

html[data-ml-theme="dark"] .ml-course-screen .mlu .box[data-callout] { --fill: var(--ml-surface); --title: var(--ml-ink); }
html[data-ml-theme="dark"] .ml-course-screen .mlu .box[data-callout="remember"] .bt svg { background: var(--ml-accent) !important; color: var(--ml-on-accent); border-color: var(--ml-accent) !important; }
html[data-ml-theme="dark"] .ml-course-screen .mlu .lbl-choice { background: var(--ml-bg); }
html[data-ml-theme="dark"] .ml-course-screen .mlu .lbl-choice[aria-pressed="true"] { background: var(--ml-accent-soft); }
@media (min-width: 901px) {
  /* The source diagram keeps its aspect ratio; the response bank remains reachable beside it. */
  .ml-course-screen .mlu .mlu-practice-dialog .act { overflow: visible !important; }
  .ml-course-screen .mlu .mlu-practice-dialog .lbl-answer-pane { position: sticky; top: 88px; align-self: start; max-height: calc(100dvh - 104px); overflow: auto; scrollbar-width: thin; overscroll-behavior: contain; box-sizing: border-box; }
}
@media (max-width: 900px) {
  .ml-view-topic .ml-course-layout { margin: 0 auto 24px !important; border: 0; border-radius: 0; }
  .ml-view-topic .ml-course-layout > .ml-rail { width: 100% !important; position: static !important; top: auto !important; max-height: none; overflow: visible; padding: 8px 16px !important; border: 0 !important; border-bottom: 1px solid var(--ml-line) !important; box-sizing: border-box; }
  .ml-course-screen .mlu .lbl-workspace { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .ml-course-screen .mlu .mlu-practice-dialog .lbl-workspace { grid-template-columns: minmax(0, 1fr); }
  .ml-course-screen .mlu .lbl-answer-pane { width: 100%; }
  .ml-course-screen .mlu .lbl-figure-pane { padding: 12px; }
  .ml-course-screen .mlu .mlu-practice-dialog .lbl-fig { width: min(100%, var(--fig-nw, 10000px)); }
}
@media (max-width: 800px) {
  .ml-view-topic .ml-course-layout > main { padding-bottom: 100px !important; }
  .academy-lesson-nav { position: fixed; bottom: 0; inset-inline: 0; z-index: 25; box-shadow: 0 -2px 12px rgb(9 38 75 / .04); margin: 0; padding: 8px 12px calc(8px + env(safe-area-inset-bottom)); box-sizing: border-box; }
  .academy-lesson-nav button { font-size: var(--ml-fs-2); padding-inline: 8px; }
  html:has(.academy-lesson-nav) :is(.ml-ctxbar, .ml-tabbar) { display: none !important; }
  html:has(.academy-lesson-nav) body { padding-bottom: calc(72px + env(safe-area-inset-bottom)) !important; }
  html:has(.academy-lesson-nav) .ml-burger,
  html:has(.academy-lesson-nav) .ml-nav .ml-burger { display: grid !important; }
  .ml-course-screen .mlu .mlu-practice-bar { min-height: calc(64px + env(safe-area-inset-top)); padding: calc(8px + env(safe-area-inset-top)) 16px 8px; font-size: var(--ml-fs-3); gap: 12px; flex-wrap: wrap; }
  .ml-course-screen .mlu .mlu-practice-bar > span { flex: 1; min-width: 0; line-height: 1.3; }
  .ml-course-screen .mlu .mlu-practice-close { font-size: var(--ml-fs-2); }
}
@media (max-width: 600px) {
  .ml-view-topic .ml-course-layout > main { padding: 18px 16px 100px !important; border-radius: 0 !important; border-inline: 0; }
  .ml-view-topic .ml-course-layout > main > h1 { font-size: calc(var(--ml-fs-3) + 10px) !important; margin-block: 8px 12px !important; }
  .ml-view-topic .ml-objective { padding: 12px 14px !important; margin-block: 12px !important; }
  .ml-course-screen .mlu .mlu-overview { gap: 6px; }
  .ml-course-screen .mlu .mlu-progress-heading { font-size: var(--ml-fs-2); gap: 6px 10px; }
  .ml-course-screen .mlu .box { padding: 22px 18px 18px !important; }
  .ml-course-screen .mlu .box .bt { padding-inline-start: 40px !important; font-size: var(--ml-fs-4) !important; }
  .ml-course-screen .mlu .box .bt svg { width: 44px !important; height: 44px !important; inset-inline-start: 10px; }
  .ml-course-screen .mlu .act-head, .ml-course-screen .mlu .act-body { padding: 16px; }
  .ml-course-screen .mlu .act-title { font-size: var(--ml-fs-4); }
  .ml-course-screen .mlu .mlu-practice-launch { font-size: var(--ml-fs-2); }
  .ml-course-screen .mlu .lbl-answer-pane { padding: 16px 12px; }
  .ml-course-screen .mlu .lbl-active-title { font-size: var(--ml-fs-5); }
  .ml-course-screen .mlu .lbl-choice { font-size: var(--ml-fs-3); padding: 10px; min-height: 48px; }
  .ml-course-screen .mlu .lbl-nav .btn { padding-inline: 8px; min-width: 44px; }
  .ml-course-screen .mlu .lbl-counter { font-size: var(--ml-fs-2); }
  .ml-course-screen .mlu .mlu-practice-dialog .act-head { padding: 16px 16px 8px; }
  .ml-course-screen .mlu .mlu-practice-dialog .act-title { font-size: calc(var(--ml-fs-3) + 6px); }
  .ml-course-screen .mlu .mlu-practice-dialog .act-body { padding: 12px 16px calc(20px + env(safe-area-inset-bottom)); }
  .ml-course-screen .mlu .mlu-practice-dialog .lbl-answer-pane { padding: 16px; }
  .ml-course-screen .mlu .mlu-practice-dialog .lbl-figure-pane { padding: 8px; }
  .ml-course-screen .mlu table.mlu-card-table { display: none !important; }
  .ml-course-screen .mlu .tbl:has(.mlu-card-table) { border: 0; background: transparent; }
  .ml-course-screen .mlu .mlu-mobile-table { display: block; }
}
@media (max-width: 360px) {
  .ml-course-screen .mlu .lbl-choice { padding-inline: 6px; }
  .ml-course-screen .mlu .lbl-nav { gap: 6px; }
  .ml-course-screen .mlu .lbl-nav .btn { font-size: var(--ml-fs-2); }
}
@media (prefers-reduced-motion: reduce) { .ml-course-screen .mlu * { scroll-behavior: auto !important; } }
@media print {
  .ml-course-screen .mlu .mlu-practice-launch, .ml-course-screen .mlu .mlu-progress-next { display: none !important; }
  .ml-course-screen .mlu .mlu-practice-dialog { display: none !important; }
  .ml-course-screen .mlu .is-term-popover .gl[popover] { display: inline !important; position: static !important; inset: auto !important; margin: 0 !important; width: auto !important; min-width: 0 !important; max-width: none !important; max-height: none !important; overflow: visible !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; color: inherit !important; box-shadow: none !important; font-size: var(--ml-fs-1) !important; line-height: inherit !important; }
  .ml-course-screen .mlu .is-term-popover .gl::before { content: ' ('; }
  .ml-course-screen .mlu .is-term-popover .gl::after { content: ')'; }
  .ml-course-screen .mlu .mlu-term-button { color: inherit; text-decoration: none; cursor: auto; }
}


/* academy-course */
/* Rebuilt course directory: full edge rail, three-part resume, dense anatomy rows. */
.ml-view-courses{background:var(--ml-bg)}
.ml-view-courses .ml-course-layout{max-width:none!important;padding:0!important;margin:0!important;gap:0!important;align-items:stretch!important;min-height:calc(100vh - 72px)}
.ml-view-courses .ml-catalog-rail{width:264px;position:sticky;top:72px;align-self:flex-start;min-height:calc(100vh - 72px);border:0;border-inline-end:1px solid var(--ml-line);border-radius:0;background:var(--ml-surface);padding:28px 0;box-shadow:none}
.ml-view-courses .ml-catalog-rail h2{font-size:calc(var(--ml-fs-3) + 7px);margin:0 28px 22px;font-weight:800}
.ml-view-courses .ml-course-switcher{gap:4px}
.ml-view-courses .ml-course-switch{padding:16px 24px;gap:14px;min-height:68px;border:0;border-radius:0;background:transparent;font-weight:400;color:var(--ml-ink);position:relative}
.ml-view-courses .ml-course-switch strong{font-size:calc(var(--ml-fs-3) + 1px);font-weight:600;line-height:1.4}
.ml-view-courses .ml-course-switch.is-selected{background:var(--ml-accent-soft);color:var(--ml-ink)}
.ml-view-courses .ml-course-switch.is-selected:before{content:'';position:absolute;inset-inline-start:0;top:4px;bottom:4px;width:4px;background:var(--ml-accent);border-radius:4px}
.ml-view-courses .ml-course-switch-icon{width:34px;height:34px;color:var(--ml-ink)}
.ml-view-courses .ml-course-switch-icon svg{width:34px;height:34px;stroke-width:1.3}
.ml-view-courses .ml-rail-note{font-size:calc(var(--ml-fs-3) - 4px);padding:22px 24px 0;margin:24px 0 0;border:0;color:var(--ml-muted);line-height:1.7}
.ml-view-courses .ml-catalog-main{max-width:1104px;flex:1;box-sizing:border-box;padding:16px 56px 56px;margin:0 auto;align-self:flex-start}
.ml-view-courses .ml-catalog-heading{margin:8px 0 18px}
.ml-view-courses .ml-catalog-heading h1{font-size:calc(var(--ml-fs-3) + 22px);line-height:1.15;font-weight:800;letter-spacing:-.035em}
.ml-view-courses .ml-catalog-heading p{font-size:calc(var(--ml-fs-3) + 4px);line-height:1.45;margin:8px 0 0;color:var(--ml-ink)}
.ml-view-courses .ml-resume-card{display:grid;grid-template-columns:30% minmax(0,1fr) 130px;gap:28px;padding:20px 30px;margin:0 0 22px;background:var(--ml-surface);border:1px solid var(--ml-line);border-radius:6px;min-height:184px;box-sizing:border-box}
.ml-view-courses .academy-course-progress{align-self:center;padding-inline-end:24px;border-inline-end:1px solid var(--ml-line);display:grid;gap:12px}
.ml-view-courses .academy-course-progress p{font-size:calc(var(--ml-fs-3) - 2px);margin:0;color:var(--ml-muted)}
.ml-view-courses .academy-course-progress strong{font-size:calc(var(--ml-fs-3) + 2px);line-height:1.4;font-weight:700}
.ml-view-courses .academy-course-progress small{font-size:calc(var(--ml-fs-3) - 5px);line-height:1.5;color:var(--ml-muted)}
.ml-view-courses .academy-resume-copy .ml-eyebrow{font-size:calc(var(--ml-fs-3) - 1px);line-height:1.4;margin:0 0 8px;background:transparent;padding:0;color:var(--ml-ink)}
.ml-view-courses .ml-resume-card h2{font-size:calc(var(--ml-fs-3) + 11px);font-weight:800;line-height:1.15}
.ml-view-courses .ml-resume-card .academy-resume-detail{margin:6px 0 16px;font-size:calc(var(--ml-fs-3) - 1px);line-height:1.4;color:var(--ml-text)}
.ml-view-courses .ml-resume-card a{min-width:190px;min-height:48px;font-size:calc(var(--ml-fs-3) + 1px);gap:14px;flex-direction:row;border-radius:5px;box-sizing:border-box;padding:8px 18px;background:var(--ml-accent)}
.ml-view-courses .academy-resume-art{align-self:center;justify-self:center;width:112px;height:112px;background:var(--ml-tint);border-radius:50%;padding:20px;box-sizing:border-box;color:#2c699c}
.ml-view-courses .academy-resume-art svg{stroke-width:1.2}
.ml-view-courses .ml-section-heading{margin:0 0 12px;min-height:36px;align-items:baseline}
.ml-view-courses .ml-section-heading h2{font-size:calc(var(--ml-fs-3) + 9px);font-weight:800}
.ml-view-courses .ml-section-heading>span{font-size:calc(var(--ml-fs-3) - 3px)}
.ml-view-courses .ml-course-unit-grid{display:flex;flex-direction:column;gap:0;border:1px solid var(--ml-line);border-radius:6px;overflow:hidden}
.ml-view-courses .ml-urow{min-height:52px;padding:6px 18px;gap:16px;border:0;border-bottom:1px solid var(--ml-line);border-radius:0;box-shadow:none;align-items:center;background:var(--ml-surface)}
.ml-view-courses .ml-urow:last-child{border-bottom:0}
.ml-view-courses .ml-urow:hover{box-shadow:none;background:var(--ml-tint)}
.ml-view-courses .ml-urow.is-resuming{background:#e5f1ff}
html[data-ml-theme=dark] .ml-view-courses .ml-urow.is-resuming{background:#203e60}
.ml-view-courses .ml-urow.is-resuming .ml-unit-copy strong{font-weight:700}
.ml-view-courses .ml-urow.is-preparing{background:var(--ml-surface);color:var(--ml-muted);border-style:solid}
.ml-view-courses .academy-unit-number{width:24px;flex:none;font-size:var(--ml-fs-3);text-align:center;color:inherit}
.ml-view-courses .ml-unit-icon{width:34px;height:34px;background:transparent!important;border-radius:0;padding:0;color:inherit!important}
.ml-view-courses .ml-unit-icon svg{width:32px;height:32px;stroke-width:1.2}
.ml-view-courses .ml-unit-copy strong{font-size:calc(var(--ml-fs-3) + 1px);font-weight:400;line-height:1.3}
.ml-view-courses .ml-unit-progress{width:144px;gap:3px;font-size:calc(var(--ml-fs-3) - 4px);line-height:1.2;color:var(--ml-accent-text)}
.ml-view-courses .is-preparing .ml-unit-progress{color:var(--ml-muted)}
.ml-view-courses .ml-unit-meter{height:3px;max-width:100px;background:var(--ml-sunken)}
.ml-view-courses .ml-unit-arrow{width:22px;text-align:center;flex:none;font-size:calc(var(--ml-fs-3) + 12px);font-weight:400;line-height:1;color:var(--ml-ink);margin:0}
.ml-view-courses .is-preparing .ml-unit-arrow{font-size:var(--ml-fs-3);color:var(--ml-subtle)}
.ml-view-courses .ml-urow:active{transform:none!important;filter:none!important}
@media(max-width:1280px) and (min-width:801px){.ml-view-courses .ml-catalog-main{padding:28px 36px 48px}.ml-view-courses .ml-resume-card{grid-template-columns:28% minmax(0,1fr) 100px;gap:20px;padding:24px}.ml-view-courses .academy-resume-art{width:94px;height:94px;padding:16px}.ml-view-courses .ml-catalog-heading h1{font-size:calc(var(--ml-fs-3) + 18px)}.ml-view-courses .ml-resume-card h2{font-size:calc(var(--ml-fs-3) + 8px)}.ml-view-courses .academy-course-progress strong{font-size:var(--ml-fs-3)}}
@media(max-width:1050px) and (min-width:801px){.ml-view-courses .ml-catalog-rail{width:228px}.ml-view-courses .ml-catalog-main{padding-inline:24px}.ml-view-courses .ml-course-switch{padding-inline:18px}.ml-view-courses .ml-course-switch strong{font-size:calc(var(--ml-fs-3) - 1px)}.ml-view-courses .ml-resume-card{grid-template-columns:1fr 1.4fr;gap:20px}.ml-view-courses .academy-resume-art{display:none}.ml-view-courses .ml-catalog-heading h1{font-size:calc(var(--ml-fs-3) + 14px)}.ml-view-courses .ml-unit-progress{width:105px}.ml-view-courses .ml-unit-copy strong{font-size:calc(var(--ml-fs-3) - 1px)}.ml-view-courses .ml-urow{gap:10px}}
@media(max-width:800px){.ml-view-courses .ml-course-layout{display:block!important;min-height:calc(100vh - 64px)}.ml-view-courses .ml-catalog-rail{min-height:0;width:100%!important;padding:12px 16px!important;border:0;border-bottom:1px solid var(--ml-line);position:static}.ml-view-courses .ml-catalog-rail h2,.ml-view-courses .ml-rail-note{display:none}.ml-view-courses .ml-course-switcher{display:flex;overflow-x:auto;gap:8px;padding:4px 0;scrollbar-width:thin}.ml-view-courses .ml-course-switch{width:auto;min-height:44px;flex:none;padding:8px 12px;border:1px solid var(--ml-line);border-radius:6px;gap:8px}.ml-view-courses .ml-course-switch strong{font-size:calc(var(--ml-fs-3) - 2px);white-space:nowrap}.ml-view-courses .ml-course-switch-icon{width:22px;height:22px}.ml-view-courses .ml-course-switch-icon svg{width:22px;height:22px}.ml-view-courses .ml-course-switch.is-selected:before{display:none}.ml-view-courses .ml-catalog-main{padding:22px 16px 40px!important;width:100%}.ml-view-courses .academy-breadcrumb{font-size:calc(var(--ml-fs-3) - 4px)}.ml-view-courses .ml-catalog-heading{margin:10px 0 20px}.ml-view-courses .ml-catalog-heading h1{font-size:calc(var(--ml-fs-3) + 13px)}.ml-view-courses .ml-catalog-heading p{font-size:var(--ml-fs-3)}.ml-view-courses .ml-resume-card{grid-template-columns:1fr 78px;padding:20px;gap:16px;min-height:0;margin-bottom:26px}.ml-view-courses .academy-course-progress{grid-column:1/-1;grid-row:2;border:0;border-top:1px solid var(--ml-line);padding:16px 0 0;gap:8px}.ml-view-courses .academy-course-progress p{font-size:calc(var(--ml-fs-3) - 4px)}.ml-view-courses .academy-course-progress strong{font-size:calc(var(--ml-fs-3) - 1px)}.ml-view-courses .academy-course-progress small{font-size:calc(var(--ml-fs-3) - 5px)}.ml-view-courses .academy-resume-art{width:74px;height:74px;padding:12px;align-self:start}.ml-view-courses .ml-resume-card h2{font-size:calc(var(--ml-fs-3) + 7px)}.ml-view-courses .academy-resume-copy .ml-eyebrow{font-size:calc(var(--ml-fs-3) - 4px)}.ml-view-courses .ml-resume-card .academy-resume-detail{font-size:calc(var(--ml-fs-3) - 2px)}.ml-view-courses .ml-resume-card a{min-width:0;min-height:46px;font-size:calc(var(--ml-fs-3) - 1px);width:100%;padding-inline:12px}.ml-view-courses .ml-section-heading h2{font-size:calc(var(--ml-fs-3) + 5px)}.ml-view-courses .ml-section-heading>span{font-size:calc(var(--ml-fs-3) - 5px)}.ml-view-courses .ml-urow{min-height:66px;padding:10px 12px;gap:10px}.ml-view-courses .academy-unit-number{width:18px;font-size:calc(var(--ml-fs-3) - 2px)}.ml-view-courses .ml-unit-icon{width:28px;height:28px}.ml-view-courses .ml-unit-icon svg{width:28px;height:28px}.ml-view-courses .ml-unit-copy strong{font-size:calc(var(--ml-fs-3) - 1px)}.ml-view-courses .ml-unit-progress{width:70px;font-size:calc(var(--ml-fs-3) - 6px)}.ml-view-courses .ml-unit-arrow{font-size:calc(var(--ml-fs-3) + 7px);width:14px}}

/* Approved goal composition. */
.ml-view-courses .ml-catalog-heading{align-items:center;justify-content:space-between;gap:24px;display:flex}
.goal-course-picker{display:block;flex:none;max-width:260px}
.goal-course-picker select{width:100%;min-height:44px;padding:8px 36px 8px 14px;border:1px solid var(--ml-line);border-radius:6px;background:var(--ml-surface);color:var(--ml-ink);font:inherit;font-weight:700;cursor:pointer}
.ml-view-courses .ml-catalog-main{max-width:1240px!important;width:100%;padding:24px 38px 56px!important}
.ml-view-courses .ml-catalog-heading h1{font-size:calc(var(--ml-fs-3) + 25px)}
.ml-view-courses .ml-catalog-heading p{font-size:calc(var(--ml-fs-3) + 3px)}
.ml-view-courses .ml-resume-card{grid-template-columns:32% minmax(0,1fr) 146px;min-height:186px;border-radius:6px;padding:18px 26px;gap:28px}
.ml-view-courses .academy-resume-art{width:138px;height:138px;padding:24px;color:var(--ml-ink);background:var(--ml-tint)}
.ml-view-courses .ml-unit-progress{width:170px;display:flex;gap:12px;flex-direction:row;justify-content:flex-end;align-items:center}
.ml-view-courses .ml-unit-meter{order:-1;width:118px;height:7px;flex:none}
.goal-unit-group{border-bottom:1px solid var(--ml-line)}
.goal-unit-group:last-child{border-bottom:0}
.goal-unit-group .ml-urow{border:0!important;width:100%;text-align:start}
.ml-view-courses .ml-urow[aria-expanded=true]{background:var(--ml-accent-soft);color:var(--ml-ink)}
.goal-unit-details{padding:0 12px 12px;background:var(--ml-accent-soft)}
.goal-unit-part{display:grid;grid-template-columns:44px minmax(0,1fr) 140px 85px 16px;align-items:center;gap:12px;min-height:42px;padding:6px 14px;background:var(--ml-surface);border-bottom:1px solid var(--ml-line);font-size:calc(var(--ml-fs-3) - 2px);color:var(--ml-ink)}
.goal-unit-part:first-child{border-radius:5px 5px 0 0}
.goal-unit-part strong{font-weight:500;line-height:1.4}
.goal-unit-part-kind{color:var(--ml-muted);font-size:calc(var(--ml-fs-3) - 4px)}
.goal-unit-part-status{color:var(--ml-accent-text);font-size:calc(var(--ml-fs-3) - 3px)}
.goal-unit-details>p{margin:0;padding:16px;background:var(--ml-surface);color:var(--ml-muted);font-size:calc(var(--ml-fs-3) - 2px)}
.goal-unit-all{margin-top:8px;min-height:38px;min-width:180px;display:flex;width:max-content;margin-inline-start:auto;border:1px solid var(--ml-accent)!important;border-radius:5px!important;background:var(--ml-surface)!important;font-size:calc(var(--ml-fs-3) - 2px)}

.ml-view-courses .ml-catalog-main{padding-top:8px!important}
.ml-view-courses .ml-catalog-heading{margin:5px 0 13px}
.ml-view-courses .ml-catalog-heading p{margin-top:5px}
.ml-view-courses .ml-resume-card{min-height:166px;margin-bottom:16px}
.ml-view-courses .ml-section-heading{margin-bottom:8px;min-height:30px}
.ml-view-courses .ml-section-heading h2{font-size:calc(var(--ml-fs-3) + 7px);margin:0}
@media(min-width:1101px){html.ml-goal-workspace .ml-view-courses .ml-course-layout{margin-inline-start:248px!important;min-height:calc(100vh - 72px)}html.ml-goal-workspace .ml-view-courses>footer{margin-inline-start:248px}}
@media(max-width:1100px){.ml-view-courses .ml-catalog-main{padding-inline:24px!important}.ml-view-courses .ml-resume-card{grid-template-columns:30% minmax(0,1fr) 104px;gap:20px}.ml-view-courses .academy-resume-art{display:block;width:96px;height:96px;padding:17px}.ml-view-courses .ml-catalog-heading h1{font-size:calc(var(--ml-fs-3) + 18px)}}
@media(max-width:700px){.ml-view-courses .ml-catalog-heading{align-items:flex-start;flex-direction:column;gap:14px}.goal-course-picker{max-width:none;width:100%}.ml-view-courses .ml-catalog-main{padding:16px 16px 40px!important}.ml-view-courses .ml-catalog-heading h1{font-size:calc(var(--ml-fs-3) + 13px)}.ml-view-courses .ml-resume-card{grid-template-columns:minmax(0,1fr) 80px;gap:16px;padding:18px}.ml-view-courses .academy-resume-art{width:76px;height:76px;padding:12px}.ml-view-courses .academy-course-progress{grid-column:1/-1;grid-row:2}.ml-view-courses .ml-unit-progress{width:72px;display:grid;gap:5px;font-size:calc(var(--ml-fs-3) - 4px)}.ml-view-courses .ml-unit-meter{width:66px;max-width:none;order:0}.goal-unit-part{grid-template-columns:38px minmax(0,1fr) 16px;gap:7px;padding:10px;min-height:56px}.goal-unit-part-kind{grid-column:2;grid-row:2;font-size:calc(var(--ml-fs-3) - 4px)}.goal-unit-part-status{grid-column:2;grid-row:3;font-size:calc(var(--ml-fs-3) - 4px)}.goal-unit-part>span:last-child{grid-column:3;grid-row:1/4}.goal-unit-all{min-height:44px;width:100%;justify-content:center}}

/* Genuine editorial organ illustrations, shared with the journey map. */
.ml-system-illustration{display:block;object-fit:contain;width:100%;height:100%;pointer-events:none}
.ml-view-courses .academy-resume-art{width:164px;height:164px;padding:0;border-radius:0;background:transparent;filter:drop-shadow(0 8px 8px rgba(33,101,133,.10))}
.ml-view-courses .ml-resume-card{grid-template-columns:29% minmax(0,1fr) 180px;min-height:210px;background:linear-gradient(110deg,var(--ml-surface),var(--ml-tint));border-radius:12px}
.ml-view-courses .ml-unit-icon{width:58px;height:58px;flex:none}
.ml-view-courses .ml-urow{min-height:78px;padding-block:7px}
.ml-view-courses .ml-unit-copy strong{font-weight:600}
.ml-view-courses .goal-unit-group .ml-urow:hover{background:var(--ml-tint)}
.ml-view-courses .ml-unit-copy{padding-inline:4px}
.ml-view-courses .ml-course-unit-grid{border-radius:12px}
.ml-view-courses .is-preparing .ml-system-illustration{opacity:.66}
@media(max-width:1100px) and (min-width:801px){.ml-view-courses .ml-resume-card{grid-template-columns:1fr 1.5fr 120px;gap:20px}.ml-view-courses .academy-resume-art{display:block;width:116px;height:130px}.ml-view-courses .ml-unit-icon{width:50px;height:50px}}
@media(max-width:800px){.ml-view-courses .ml-resume-card{grid-template-columns:minmax(0,1fr) 98px;min-height:0;padding:18px;gap:12px}.ml-view-courses .academy-resume-copy{min-width:0}.ml-view-courses .academy-resume-copy .ml-b{white-space:normal!important}.ml-view-courses .academy-resume-art{width:96px;height:120px;padding:0;align-self:center}.ml-view-courses .ml-unit-icon{width:45px;height:51px}.ml-view-courses .ml-urow{min-height:79px;padding-inline:10px;gap:8px}.ml-view-courses .ml-unit-copy strong{line-height:1.35}.ml-view-courses .academy-course-progress{grid-row:2;grid-column:1/-1}}
@media(max-width:340px){.ml-view-courses .ml-resume-card{grid-template-columns:minmax(0,1fr) 78px;gap:10px;padding:16px}.ml-view-courses .academy-resume-art{width:76px;height:108px}}


/* academy-interactions */
/* Source references remain available; motion responds only to the student's action. */
.mlu .mlu-figure-reference {
  margin-block: 20px 28px;
  border: 1px solid var(--ml-line);
  border-radius: 16px;
  background: var(--ml-surface);
  color: var(--ml-text);
  overflow: hidden;
}
.mlu .mlu-figure-reference > summary {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 4px 14px;
  min-height: 44px;
  padding: 16px 20px;
  font-family: inherit;
  font-size: var(--ml-fs-3);
  line-height: 1.5;
  cursor: pointer;
  list-style: none;
}
.mlu .mlu-figure-reference > summary::-webkit-details-marker { display: none; }
.mlu .mlu-figure-reference > summary::before {
  content: '+';
  grid-row: 1 / span 3;
  align-self: center;
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border: 1px solid var(--ml-line);
  border-radius: 50%;
  color: var(--ml-accent);
  font-size: calc(var(--ml-fs-3) * 1.2);
  font-weight: 700;
}
.mlu .mlu-figure-reference[open] > summary::before { content: '−'; }
.mlu .mlu-reference-title { font-weight: 700; color: var(--ml-text); }
.mlu .mlu-reference-caption { color: var(--ml-text); }
.mlu .mlu-reference-hint { color: var(--ml-muted); font-size: var(--ml-fs-1); }
.mlu .mlu-figure-reference > figure.fig { margin: 0; padding: 0 16px 16px; }
.mlu .mlu-reference-open { min-height: 44px; white-space: normal; }
.mlu .mlu-figure-reference > summary:focus-visible,
.mlu .mlu-reference-open:focus-visible { outline: 3px solid var(--ml-accent); outline-offset: -4px; }
.mlu .lbl-figure-tools { flex-wrap: wrap; }

/* Native checked/pressed states carry the meaning; the movement only helps locate it. */
.mlu .act .opt { transition: background-color 150ms ease, border-color 150ms ease, box-shadow 150ms ease; }
.mlu .act .opt:has(input:checked) { box-shadow: inset 3px 0 0 var(--ml-accent); }
.mlu .act .lbl-choice { transition: background-color 150ms ease, border-color 150ms ease, box-shadow 150ms ease; }
.mlu .act .lbl-choice[aria-pressed="true"] { box-shadow: inset 3px 0 0 var(--ml-accent); }
.mlu .act .lbl-badge { transition: background-color 150ms ease, border-color 150ms ease, box-shadow 150ms ease; }
.mlu .act .lbl-badge.on { box-shadow: 0 0 0 5px color-mix(in srgb, var(--ml-accent) 18%, transparent); }
.mlu .act .cz-mark { transition: color 150ms ease; }

@media (max-width: 600px) {
  .mlu .mlu-figure-reference > summary { padding: 14px; gap: 4px 10px; }
  .mlu .mlu-figure-reference > figure.fig { padding-inline: 8px; }
  .mlu .mlu-reference-open { flex: 1 1 160px; }
}
@media (prefers-reduced-motion: reduce) {
  .mlu .act .opt,
  .mlu .act .lbl-choice,
  .mlu .act .lbl-badge,
  .mlu .act .cz-mark { transition: none !important; animation: none !important; }
}
@media print {
  .mlu .mlu-figure-reference { border: 0; overflow: visible; }
  .mlu .mlu-figure-reference > summary { display: none; }
  .mlu .mlu-figure-reference > figure.fig { display: block !important; padding: 0; }
  .mlu .mlu-figure-reference > :not(summary) { content-visibility: visible; }
  .mlu .mlu-reference-open { display: none; }
}

