/* Learning V2 (docs/16): level-page modules, guides, exercises and optional writing practice.
   Loaded only on level pages and guides (MM_Core::enqueue_learning), after the theme's mm.css. */

.mm-learn{margin-top:var(--mm-space-7)}
.mm-learn__intro{padding:var(--mm-space-6);background:var(--mm-paper-light);border:1px solid var(--mm-line);border-radius:var(--mm-radius-l)}
.mm-learn__intro h2{margin-bottom:var(--mm-space-3)}
.mm-learn__stage{font-weight:700;color:var(--mm-seal-dark);margin-bottom:var(--mm-space-3)}
.mm-learn__outcome{padding:12px 16px;background:var(--mm-paper);border-radius:var(--mm-radius-m)}
.mm-learn__goals li{margin-bottom:6px}
.mm-learn__next{margin-top:var(--mm-space-6);padding-top:var(--mm-space-4);border-top:1px solid var(--mm-line);font-weight:600}
@media (max-width:599px){.mm-learn__intro{padding:var(--mm-space-5) var(--mm-space-4)}}

/* module navigation */
.mm-modules-nav ol{list-style:none;margin:var(--mm-space-5) 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.mm-modules-nav li{display:flex;align-items:center}
.mm-modules-nav a{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:6px 14px 6px 8px;border:1px solid var(--mm-line);border-radius:999px;background:var(--mm-writing);font-weight:600;text-decoration:none}
.mm-modules-nav a:hover{border-color:var(--mm-seal)}
.mm-modules-nav__n,.mm-module__n{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--mm-ink);color:var(--mm-on-ink);font-family:var(--mm-font-ui);font-size:.875rem;font-weight:700;flex:none}
.mm-modules-nav__done{color:var(--mm-jade);font-weight:700;margin-left:4px}

/* modules */
.mm-module{margin-top:var(--mm-space-7);padding-top:var(--mm-space-5);border-top:2px solid var(--mm-ink);scroll-margin-top:16px}
.mm-module__title{display:flex;align-items:center;gap:12px;font-size:clamp(1.375rem,1.1rem + 1.2vw,1.875rem)}
.mm-module__intro{max-width:72ch;color:var(--mm-ink-soft)}
.mm-module__done{margin-top:var(--mm-space-5)}
.mm-module__done [aria-pressed="true"]{border-color:var(--mm-jade);color:var(--mm-jade)}
.mm-concept{margin-top:var(--mm-space-6);scroll-margin-top:16px}
.mm-concept__title{font-family:var(--mm-font-display);font-size:1.25rem;line-height:1.25;margin:0 0 var(--mm-space-3)}
.mm-concept__stage{display:inline-block;vertical-align:middle;padding:2px 8px;margin-right:6px;border-radius:999px;font-family:var(--mm-font-ui);font-size:.75rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;background:var(--mm-paper-deep);color:var(--mm-ink)}
.mm-concept__stage--introduced{background:var(--mm-seal);color:#fff}
.mm-concept__stage--practised{background:var(--mm-jade);color:#fff}
.mm-concept__pattern{display:inline-block;padding:6px 12px;background:var(--mm-writing);border:1px dashed var(--mm-ink-muted);border-radius:var(--mm-radius-s);font-weight:600}
.mm-concept__guide{font-weight:600}
.mm-checklist{list-style:none;padding:0}
.mm-checklist li{position:relative;padding:10px 0 10px 32px;border-bottom:1px solid var(--mm-line)}
.mm-checklist li::before{content:"";position:absolute;left:0;top:14px;width:18px;height:18px;border:2px solid var(--mm-ink);border-radius:4px}

/* example sentences */
.mm-ex-lines{list-style:none;margin:var(--mm-space-4) 0;padding:0;display:grid;gap:10px}
.mm-ex-line{padding:12px 16px;background:var(--mm-writing);border-left:3px solid var(--mm-gold);border-radius:0 var(--mm-radius-m) var(--mm-radius-m) 0}
.mm-ex-line p{margin:0}
.mm-ex-line__zh{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;font-size:1.375rem;line-height:1.5}
.mm-ex-line__py{color:var(--mm-ink-soft)}
.mm-ex-line__note{margin-top:4px!important;font-size:var(--mm-size-small);color:var(--mm-ink-muted)}
.mm-py{font-style:normal}

/* pronunciation buttons (same look as lessons and dictionary entries) */
.mm-learn .mm-audio,.mm-guide .mm-audio{display:inline-flex;flex-wrap:wrap;gap:6px;font-size:1rem}
.mm-learn .mm-audio__btn,.mm-guide .mm-audio__btn{min-height:44px;display:inline-flex;align-items:center;gap:6px;padding:4px 12px 4px 6px;border:1.5px solid var(--mm-ink);border-radius:999px;background:var(--mm-paper-light);color:var(--mm-ink);font:inherit;font-size:.875rem;font-weight:600;cursor:pointer}
.mm-learn .mm-audio__icon,.mm-guide .mm-audio__icon{width:24px;height:24px;border-radius:50%;background:var(--mm-seal);position:relative;flex:none}
.mm-learn .mm-audio__icon::after,.mm-guide .mm-audio__icon::after{content:"";position:absolute;left:9px;top:6px;border-left:8px solid #fff;border-top:6px solid transparent;border-bottom:6px solid transparent}
.mm-learn .is-playing .mm-audio__icon::after,.mm-guide .is-playing .mm-audio__icon::after{left:7px;top:7px;width:10px;height:10px;border:0;background:#fff}
.mm-learn .is-loading,.mm-guide .is-loading{opacity:.7;cursor:progress}

/* starter words */
.mm-words-grid{list-style:none;margin:var(--mm-space-4) 0;padding:0;display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.mm-word{display:flex;flex-direction:column;gap:2px;padding:10px 12px;background:var(--mm-writing);border:1px solid var(--mm-line);border-radius:var(--mm-radius-m)}
.mm-word__zh{font-size:1.5rem;line-height:1.3}
.mm-word__link{text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
.mm-word__en{font-size:var(--mm-size-small);color:var(--mm-ink-soft)}
.mm-word .mm-audio{margin:2px 0}

/* exercises */
.mm-exercises,.mm-tones{list-style:none;margin:var(--mm-space-5) 0;padding:0;display:grid;gap:16px}
.mm-ex,.mm-tone{padding:16px;background:var(--mm-paper-light);border:1px solid var(--mm-line);border-radius:var(--mm-radius-l)}
.mm-ex.is-solved,.mm-tone.is-solved{border-color:var(--mm-jade)}
.mm-ex p,.mm-tone p{margin-bottom:8px}
.mm-ex__kind{font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--mm-seal-dark)}
.mm-ex__prompt{font-weight:600}
.mm-ex__zh,.mm-tone__char{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;font-size:1.375rem}
.mm-tone__char [lang]{font-size:2rem}
.mm-tone__en{font-size:var(--mm-size-small);color:var(--mm-ink-soft)}
.mm-ex__options,.mm-tone__choices,.mm-ex__tokens{list-style:none;margin:8px 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.mm-ex__opt,.mm-ex__token{display:inline-flex;align-items:center;min-height:44px;padding:8px 14px;border:1.5px solid var(--mm-line);border-radius:var(--mm-radius-m);background:var(--mm-writing);color:var(--mm-ink);font:inherit;text-align:left}
button.mm-ex__opt,button.mm-ex__token{cursor:pointer;border-color:var(--mm-ink-muted)}
button.mm-ex__opt:hover,button.mm-ex__token:hover{border-color:var(--mm-ink)}
.mm-ex__options{flex-direction:column;align-items:stretch}
.mm-ex__options .mm-ex__opt{width:100%}
.mm-ex__opt.is-right{border-color:var(--mm-jade);background:#E4EFEA}
.mm-ex__opt.is-wrong{border-color:var(--mm-seal);background:#F9E6E9}
.mm-ex__token{font-size:1.25rem}
.mm-ex__token.is-used{opacity:.45}
.mm-ex__build{min-height:48px;padding:10px 14px;border:2px dashed var(--mm-ink-muted);border-radius:var(--mm-radius-m);font-size:1.375rem;font-family:var(--mm-font-hanzi)}
.is-wrong-order .mm-ex__build{border-color:var(--mm-seal)}
.is-solved .mm-ex__build{border-color:var(--mm-jade);border-style:solid}
.mm-ex__reset{min-height:44px;margin-top:8px;padding:6px 14px;border:1.5px solid var(--mm-ink);border-radius:var(--mm-radius-m);background:transparent;font:inherit;font-weight:600;cursor:pointer}
.mm-ex__why{padding:8px 12px;background:#F9E6E9;border-radius:var(--mm-radius-s);font-size:var(--mm-size-small)}
.mm-ex__feedback:empty{display:none}
.mm-ex__feedback{margin:8px 0 0;padding:10px 12px;border-radius:var(--mm-radius-s);background:var(--mm-paper);font-weight:600}
.mm-ex__answer{margin-top:8px}
.mm-ex__answer summary,.mm-ex__transcript summary{display:inline-flex;align-items:center;min-height:44px;cursor:pointer;font-weight:600;color:var(--mm-ink-soft)}
.mm-ex__answer p{margin:4px 0}
.mm-ex__type{display:flex;flex-wrap:wrap;gap:8px}
.mm-ex__type input{flex:1 1 12em;min-height:44px;padding:8px 12px;border:1px solid var(--mm-ink-soft);border-radius:var(--mm-radius-s);font:inherit}
.mm-ex__type input[aria-invalid=true]{border-color:var(--mm-seal)}
@media (min-width:700px){.mm-ex__options{flex-direction:row;align-items:center}.mm-ex__options .mm-ex__opt{width:auto}}

/* common mistakes */
.mm-mistakes{list-style:none;margin:var(--mm-space-4) 0;padding:0;display:grid;gap:12px}
.mm-mistake{padding:12px 16px;border:1px solid var(--mm-line);border-radius:var(--mm-radius-m);background:var(--mm-writing)}
.mm-mistake p{margin:0 0 4px}
.mm-mistake__label{font-size:.8125rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--mm-ink-muted)}
.mm-mistake__wrong s{text-decoration-color:var(--mm-seal);text-decoration-thickness:2px;color:var(--mm-ink-soft);font-size:1.25rem}
.mm-mistake__right{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}
.mm-mistake__right [lang="zh-Hans"]{font-size:1.25rem}
.mm-mistake__why{font-size:var(--mm-size-small);color:var(--mm-ink-soft)}

/* optional writing practice */
.mm-write{margin-top:var(--mm-space-5)}
.mm-write__intro{font-size:var(--mm-size-small);color:var(--mm-ink-soft);max-width:72ch}
.mm-write__list{list-style:none;margin:var(--mm-space-4) 0;padding:0;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.mm-write__char{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:12px;background:var(--mm-writing);border:1px solid var(--mm-line);border-radius:var(--mm-radius-m)}
.mm-write__glyph{font-size:2.5rem;line-height:1.1}
.mm-write__meta{font-size:var(--mm-size-small)}
.mm-write__link,.mm-write__open{display:inline-flex;align-items:center;min-height:44px;font-size:.9375rem;font-weight:600}
.mm-write__open{padding:6px 12px;border:1.5px solid var(--mm-ink);border-radius:var(--mm-radius-m);background:transparent;color:var(--mm-ink);font-family:inherit;cursor:pointer}
.mm-write__count{font-size:.8125rem;font-weight:700;color:var(--mm-jade)}
.mm-write__panel{margin-top:var(--mm-space-4);padding:var(--mm-space-5);background:var(--mm-paper-light);border:2px solid var(--mm-ink);border-radius:var(--mm-radius-l)}
.mm-write__head{font-size:1.5rem;margin:0 0 12px}
.mm-write__box{width:100%;max-width:260px;aspect-ratio:1/1;background:var(--mm-writing) linear-gradient(transparent 49.6%,var(--mm-line) 49.6%,var(--mm-line) 50.4%,transparent 50.4%),linear-gradient(90deg,transparent 49.6%,var(--mm-line) 49.6%,var(--mm-line) 50.4%,transparent 50.4%);border:1px solid var(--mm-ink-muted);border-radius:var(--mm-radius-s);touch-action:none}
.mm-write__controls{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.mm-write__status{font-weight:600;margin:0}

/* guides */
.mm-guide__meta{font-size:var(--mm-size-small);color:var(--mm-ink-muted)}
.mm-toc{margin:var(--mm-space-5) 0;padding:var(--mm-space-4) var(--mm-space-5);background:var(--mm-paper-light);border-radius:var(--mm-radius-l)}
.mm-toc__title{font-size:1.125rem;margin-bottom:8px}
.mm-toc ol{margin:0;padding-left:1.25rem}
.mm-toc a{display:inline-block;padding:6px 0}
.mm-guide__section{margin-top:var(--mm-space-7);scroll-margin-top:16px}
.mm-guide__section h2{font-size:clamp(1.5rem,1.2rem + 1.4vw,2rem)}
.mm-guide__section h3{font-size:1.25rem;margin-top:var(--mm-space-5)}
.mm-guide__takeaway{margin-top:var(--mm-space-7);padding:var(--mm-space-5);background:var(--mm-ink);color:var(--mm-on-ink);border-radius:var(--mm-radius-l)}
.mm-guide__takeaway h2{color:var(--mm-on-ink);font-size:1.5rem}
.mm-guide__sources{margin-top:var(--mm-space-7);font-size:var(--mm-size-small)}
.mm-guide__sources h2{font-size:1.25rem}
.mm-guide__used{color:var(--mm-ink-muted)}
.mm-guide .mm-table td,.mm-guide .mm-table th{vertical-align:top}
.mm-sync{font-size:var(--mm-size-small);color:var(--mm-ink-muted)}.mm-sync--error{color:var(--mm-seal-dark);font-weight:600}
.mm-sync-prompt{display:flex;flex-wrap:wrap;gap:var(--mm-space-3);align-items:center;padding:var(--mm-space-3) var(--mm-space-4);border:1px solid var(--mm-line);border-radius:var(--mm-radius-m);background:var(--mm-writing)}.mm-sync-prompt p{margin:0;flex:1 1 16rem}
