/* Math Lab guide (Nov 2026): mistake card, next step, review plan, mode line, labels. One look on every page,
   drawn from each page's own colors (rebuilt lesson pages use --teal/--surface, the rest of the site --green/--surface-raised). */
.ml-mistake,.ml-next,.ml-plan{--mlg-accent:var(--teal,var(--green,#2EC4B6));--mlg-ink:var(--ink,#e6eef7);--mlg-muted:var(--muted,#93a4bc);--mlg-line:var(--line,#22314a);--mlg-bg:var(--surface,var(--surface-raised,rgba(127,160,200,.08)))}
.ml-mistake{margin:12px 0 4px;padding:14px 16px;border:1px solid var(--mlg-line);border-left:4px solid var(--mlg-accent);border-radius:12px;background:var(--mlg-bg);color:var(--mlg-ink);font-size:15px;line-height:1.5;text-align:left}
.ml-mk-label,.ml-next-label{display:block;font:600 11.5px/1.3 "IBM Plex Mono",ui-monospace,Menlo,monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--mlg-accent)}
.ml-mk-skill{display:block;margin:2px 0 10px;font-size:16px}
.ml-mk-actions{display:flex;flex-wrap:wrap;gap:8px}
.ml-mk-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:10px;border:1px solid var(--mlg-accent);background:var(--mlg-accent);color:#0b1424;font-weight:600;font-size:14px;line-height:1.2;font-family:inherit;text-decoration:none;cursor:pointer}
.ml-mk-btn.alt{background:transparent;color:var(--mlg-ink);border-color:var(--mlg-line)}
.ml-mk-btn:hover{filter:brightness(1.06)}.ml-mk-btn.alt:hover{border-color:var(--mlg-accent)}
.ml-mk-btn:focus-visible{outline:3px solid var(--mlg-accent);outline-offset:2px}
.ml-mk-note{margin:8px 0 0;font-size:13px;color:var(--mlg-muted)}
.ml-next,.ml-plan{margin:16px 0;padding:18px 20px;border:1px solid var(--mlg-accent);border-radius:16px;background:var(--mlg-bg);color:var(--mlg-ink);text-align:left}
.ml-next-title{margin:4px 0 4px;font-size:1.25rem;line-height:1.25}
.ml-next-why{margin:0 0 12px;color:var(--mlg-muted);font-size:15px}
.ml-plan ol{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.ml-plan li{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 12px;border-radius:12px;border:1px solid var(--mlg-line)}
.ml-plan li b{flex:1 1 200px}.ml-plan-n{color:var(--mlg-muted);font-size:14px}
.ml-rec,.ml-chip-rec{display:inline-block;margin:4px 0;padding:2px 9px;border-radius:999px;background:#C6F432;color:#10203a;font:700 12px/1.6 "DM Sans","IBM Plex Sans",sans-serif;width:max-content}
.ml-mode{margin:6px 0 0;font-size:14px;color:var(--muted,#93a4bc)}
.sat-bar .ml-mode{margin:0 0 0 12px;font-size:12.5px;align-self:center}
.ml-builds{margin:4px 0 0;font-size:14px;color:var(--muted,#93a4bc)}.ml-builds a{color:var(--teal,var(--green,#2EC4B6));text-decoration:underline}
.ml-qlabel{text-transform:none;letter-spacing:normal;opacity:.85}
@media print{.ml-mistake,.ml-next,.ml-plan,.ml-mode,.ml-builds,.ml-rec{display:none!important}}
.em-feedback .em-actions[hidden],.ml-builds[hidden]{display:none!important}
.ml-diff{font-weight:700;padding:1px 8px;border-radius:999px;font-size:.9em}
.ml-diff-easy{background:rgba(46,196,182,.22)}.ml-diff-medium{background:rgba(108,182,255,.24)}.ml-diff-hard{background:rgba(255,176,122,.26)}
.mlc-diff{margin-left:6px}
/* Signed-in check (7 Nov): the site's own button style turned every card button lime. Keep the outline buttons outlined. */
.ml-mistake .ml-mk-btn.alt,.ml-next .ml-mk-btn.alt,.ml-plan .ml-mk-btn.alt{background:transparent!important;color:var(--mlg-ink)!important;border:1px solid var(--mlg-line)!important;box-shadow:none!important}
.ml-mistake .ml-mk-btn.alt:hover,.ml-next .ml-mk-btn.alt:hover,.ml-plan .ml-mk-btn.alt:hover{border-color:var(--mlg-accent)!important}

/* v4: Practice by topic (Nov 2026): what a set is, question types per skill, score by difficulty */
.ml-topic-info{--mlg-accent:var(--teal,var(--green,#2EC4B6));display:grid;gap:6px;margin:10px 0 14px;padding:12px 14px;border:1px solid var(--line,#22314a);border-radius:12px;background:var(--surface,var(--surface-raised,rgba(127,160,200,.08)));color:var(--ink,#e6eef7);font-size:15px;line-height:1.45;max-width:640px}
.ml-topic-info p{display:flex;gap:10px;align-items:flex-start;margin:0}
.ml-ti-mark{flex:none;width:22px;height:22px;border-radius:6px;display:grid;place-items:center;font-weight:700;font-size:12px;color:var(--mlg-accent);background:rgba(46,196,182,.16)}
.ml-topic-info a{color:var(--mlg-accent);font-weight:600}
.ml-types{display:inline-block;margin:2px 0 6px;padding:1px 9px;border-radius:999px;font:600 12px/1.6 "IBM Plex Mono",ui-monospace,Menlo,monospace;color:var(--teal,var(--green,#2EC4B6));background:rgba(46,196,182,.14)}
.ml-split{display:grid;gap:6px;margin:8px 0 12px;max-width:280px;font-variant-numeric:tabular-nums}
.ml-split div{display:flex;justify-content:space-between;align-items:center;gap:10px}
.ml-split span{font:600 14px/1.4 "IBM Plex Mono",ui-monospace,Menlo,monospace}
