.ml-term,.ml-handwriting{font-family:var(--ml-font-voice)!important}
.ml-topic-score{display:inline-flex;align-items:center;justify-content:center;min-width:52px;min-height:32px;padding:0 8px;border-radius:var(--ml-r-md);background:var(--ml-sunken);color:var(--ml-accent-text);font-size:var(--ml-fs-2);font-weight:700;white-space:nowrap;flex:none}
.ml-topic-score.is-empty{color:var(--ml-muted);background:var(--ml-sunken)}
.ml-engagement-chip{display:inline-flex;align-items:center;gap:8px;margin:0 0 8px;padding:4px 8px;border:1px solid var(--ml-line);border-radius:var(--ml-r-full);background:var(--ml-accent-soft);color:var(--ml-accent-text);font-size:var(--ml-fs-1);font-weight:700;line-height:1.45}
.ml-engagement-chip.is-complete{border-color:var(--ml-success);background:var(--ml-success-soft);color:var(--ml-success)}
.mlp-app,.mlc-community{font-family:var(--ml-font);color:var(--ml-ink)}
.mlp-app{margin-top:8px}
.mlp-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.mlp-pill{display:inline-flex;align-items:center}
.mlp-save{margin-inline-start:auto;background:var(--ml-surface);box-shadow:var(--ml-elev-1);color:var(--ml-ink)}
.mlp-track{display:grid;grid-template-columns:auto minmax(120px,1fr) auto;gap:8px;align-items:center;padding:8px 12px;border-radius:var(--ml-r-md);background:var(--ml-sunken);box-shadow:inset 0 0 0 1px var(--ml-line);font-size:var(--ml-fs-2);font-weight:700}
.mlp-bar{height:8px;border-radius:var(--ml-r-xl);background:var(--ml-tint-2);overflow:hidden}
.mlp-fill{display:block;height:100%;border-radius:inherit;background:var(--ml-accent);transition:width .45s ease}
.mlp-card{margin-top:12px;padding:24px 24px 16px;border-radius:var(--ml-r-xl);background:var(--ml-surface);box-shadow:var(--ml-elev-1)}
.mlp-meta{display:flex;gap:8px;align-items:center;color:var(--ml-muted);font-size:var(--ml-fs-2);font-weight:700}
.mlp-question{margin:8px 0 0;font-size:var(--ml-fs-4);line-height:var(--ml-lh-title);color:var(--ml-ink);text-wrap:pretty}
.mlp-instruction{margin-top:8px;color:var(--ml-muted);font-size:var(--ml-fs-2)}
.mlp-options{display:flex;flex-direction:column;gap:8px;margin-top:8px}
.mlp-option{display:flex;align-items:flex-start;gap:12px;width:100%;min-height:52px;padding:12px 16px;border:0;border-radius:var(--ml-r-sm);background:var(--ml-surface);box-shadow:inset 0 0 0 1px var(--ml-line);color:var(--ml-text);font:inherit;font-size:var(--ml-fs-3);line-height:1.5;text-align:start;cursor:pointer;transition:box-shadow .16s ease,background .16s ease,transform .12s ease}
.mlp-option:not(:disabled):hover{box-shadow:inset 0 0 0 2px var(--ml-accent);background:var(--ml-accent-soft)}
.mlp-option:active{transform:scale(.99)}
.mlp-option[aria-pressed=true]{box-shadow:inset 0 0 0 2px var(--ml-accent);background:var(--ml-accent-soft)}
.mlp-option.is-correct{box-shadow:inset 0 0 0 2px var(--ml-success);background:var(--ml-success-soft)}
.mlp-option.is-wrong{box-shadow:inset 0 0 0 2px var(--ml-danger);background:var(--ml-danger-soft)}
.mlp-letter{display:flex;align-items:center;justify-content:center;width:24px;height:24px;margin-top:0px;border-radius:var(--ml-r-sm);background:var(--ml-accent);color:var(--ml-on-accent);font-weight:700;font-size:var(--ml-fs-2);flex:none}
.mlp-feedback{margin-top:16px;padding:12px 16px;border-radius:var(--ml-r-md);font-size:var(--ml-fs-2);line-height:var(--ml-lh-body)}
.mlp-feedback.ok{background:var(--ml-success-soft);color:var(--ml-success)}.mlp-feedback.bad{background:var(--ml-danger-soft);color:var(--ml-danger)}
.mlp-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:12px;flex-wrap:wrap}
.ml-btn-primary,.ml-btn-secondary,.ml-btn-quiet{display:inline-flex;align-items:center;justify-content:center;font:inherit}




.mlp-result{text-align:center;padding:40px 24px;border-radius:var(--ml-r-xl);background:var(--ml-surface);box-shadow:var(--ml-elev-1)}
.mlp-grade{font-family:var(--ml-font);font-size:var(--ml-fs-7);line-height:var(--ml-lh-display);color:var(--ml-accent-text);letter-spacing:var(--ml-ls-display)}.mlp-result h2{font-family:var(--ml-font);margin:12px 0 8px}
.mlp-result-actions{display:flex;align-items:stretch;justify-content:center;gap:8px;margin-top:20px;flex-wrap:wrap}.mlp-result-actions>*{flex:1 1 208px}.mlp-result-actions .mlp-next{flex-basis:100%;font-size:var(--ml-fs-3)}
.mlc-community{margin-top:28px;padding:24px;border:1px solid var(--ml-line);border-radius:var(--ml-r-lg);background:var(--ml-glass)}
.mlc-head{display:flex;align-items:flex-start;gap:16px}.mlc-head h2{font-family:var(--ml-font);margin:0;font-size:var(--ml-fs-5);letter-spacing:var(--ml-ls-display);line-height:var(--ml-lh-display)}.mlc-head p{margin:4px 0 0;color:var(--ml-muted);line-height:1.6}.mlc-count{margin-inline-start:auto;flex:none;padding:4px 8px;border-radius:var(--ml-r-md);background:var(--ml-accent-soft);color:var(--ml-accent-text);font-size:var(--ml-fs-1);font-weight:700}
.mlc-compose{margin-top:16px;padding:16px;border-radius:var(--ml-r-lg);background:var(--ml-surface);box-shadow:var(--ml-elev-1)}
.mlc-compose textarea,.mlc-reply textarea{display:block;width:100%;min-height:100px;padding:12px;border:1px solid var(--ml-line-strong);border-radius:var(--ml-r-md);background:var(--ml-surface);color:var(--ml-ink);font:inherit;line-height:1.6;resize:vertical;box-sizing:border-box}
.mlc-compose .ml-btn-primary{margin-top:8px}.mlc-note{margin-top:16px;padding:12px 16px;border-radius:var(--ml-r-md);background:var(--ml-sunken);color:var(--ml-muted);font-size:var(--ml-fs-2);line-height:var(--ml-lh-body)}
.mlc-feed{display:flex;flex-direction:column;gap:12px;margin-top:16px}.mlc-post{padding:16px;border-radius:var(--ml-r-lg);background:var(--ml-surface);box-shadow:var(--ml-elev-1)}
.mlc-post.is-pinned{box-shadow:inset 0 0 0 2px var(--ml-accent), var(--ml-elev-1)}
.mlc-by{display:flex;gap:8px;align-items:center;color:var(--ml-muted);font-size:var(--ml-fs-1)}.mlc-pin{padding:4px 8px;border-radius:var(--ml-r-sm);background:var(--ml-accent-soft);color:var(--ml-accent-text);font-weight:700}.mlc-body{margin:12px 0 0;color:var(--ml-text);font-size:var(--ml-fs-3);line-height:var(--ml-lh-body);white-space:pre-wrap}
.mlc-tools{display:flex;gap:8px;align-items:center;margin-top:12px;flex-wrap:wrap}.mlc-tool{min-height:44px;padding:0 12px;border:1px solid var(--ml-line);border-radius:var(--ml-r-sm);background:transparent;color:var(--ml-muted);font:inherit;font-size:var(--ml-fs-2);font-weight:700;cursor:pointer}.mlc-tool.is-on{background:var(--ml-accent-soft);color:var(--ml-accent-text)}.mlc-tool.danger{color:var(--ml-danger)}
.mlc-comments{margin-top:12px;padding-top:12px;border-top:1px solid var(--ml-line)}.mlc-comment{padding:8px 12px;border-radius:var(--ml-r-sm);background:var(--ml-bg);font-size:var(--ml-fs-2);line-height:1.6}.mlc-comment+.mlc-comment{margin-top:8px}.mlc-comment b{color:var(--ml-accent-text)}.mlc-reply{display:flex;gap:8px;margin-top:8px}.mlc-reply textarea{min-height:48px;height:48px}.mlc-reply .ml-btn-primary{white-space:nowrap}
.mlc-empty{text-align:center;padding:24px;color:var(--ml-muted)}.mlc-status{padding:20px;text-align:center;color:var(--ml-muted)}
html[data-ml-theme=dark] .mlp-card,html[data-ml-theme=dark] .mlp-result,html[data-ml-theme=dark] .mlc-community,html[data-ml-theme=dark] .mlc-compose,html[data-ml-theme=dark] .mlc-post{background:transparent;color:var(--ml-ink);border-color:var(--ml-line-strong);box-shadow:inset 0 0 0 1px var(--ml-line)}
html[data-ml-theme=dark] .mlp-question,html[data-ml-theme=dark] .mlp-option,html[data-ml-theme=dark] .mlc-body{color:var(--ml-ink)}html[data-ml-theme=dark] .mlp-option,html[data-ml-theme=dark] .mlc-compose textarea,html[data-ml-theme=dark] .mlc-reply textarea{background:var(--ml-surface-3);color:var(--ml-ink);border-color:var(--ml-line-strong)}
html[data-ml-theme=dark] .mlp-track,html[data-ml-theme=dark] .mlc-note,html[data-ml-theme=dark] .mlc-comment{background:var(--ml-surface-3);color:var(--ml-ink)}
html[data-ml-theme=dark] .mlp-top,html[data-ml-theme=dark] .mlp-meta,html[data-ml-theme=dark] .mlp-instruction,html[data-ml-theme=dark] .mlc-head p,html[data-ml-theme=dark] .mlc-by,html[data-ml-theme=dark] .mlc-empty,html[data-ml-theme=dark] .mlc-status{color:var(--ml-text)}
html[data-ml-theme=dark] .ml-topic-score,html[data-ml-theme=dark] .mlc-count,html[data-ml-theme=dark] .mlc-pin{background:var(--ml-surface-2);color:var(--ml-accent-text)}
html[data-ml-theme=dark] .mlp-save{background:var(--ml-surface-3);color:var(--ml-ink);box-shadow:inset 0 0 0 1px var(--ml-line-strong)}
html[data-ml-theme=dark] .ml-topic-score.is-empty{background:var(--ml-surface-2);color:var(--ml-text)}
html[data-ml-theme=dark] .ml-engagement-chip{background:var(--ml-accent-soft);border-color:var(--ml-accent-line);color:var(--ml-accent-text)}
html[data-ml-theme=dark] .ml-engagement-chip.is-complete{background:var(--ml-success-soft);border-color:var(--ml-success);color:var(--ml-success)}
html[data-ml-theme=dark] .mlp-grade{color:var(--ml-accent-text)}
html[data-ml-theme=dark] .mlp-feedback.ok{background:var(--ml-surface-2);color:var(--ml-success)}html[data-ml-theme=dark] .mlp-feedback.bad{background:var(--ml-surface-2);color:var(--ml-danger)}
html[data-ml-theme=dark] .mlp-option.is-correct{background:var(--ml-surface-2);color:var(--ml-success);box-shadow:inset 0 0 0 2px var(--ml-success)}html[data-ml-theme=dark] .mlp-option.is-wrong{background:var(--ml-surface-2);color:var(--ml-danger);box-shadow:inset 0 0 0 2px var(--ml-danger)}

html[data-ml-theme=dark] .mlc-tool{background:transparent;color:var(--ml-ink);border-color:var(--ml-line-strong)}
@media(max-width:700px){.mlp-save{margin-inline-start:0}.mlp-track{grid-template-columns:1fr auto}.mlp-track>span:first-child{grid-column:1/-1}.mlp-card{padding:24px 16px 20px;border-radius:var(--ml-r-xl)}.mlp-question{font-size:var(--ml-fs-4)}.mlp-option{padding:12px;font-size:var(--ml-fs-3)}.mlp-actions{align-items:stretch}.mlp-actions button{flex:1 1 140px}.mlp-result-actions{flex-direction:column}.mlp-result-actions>*{flex:0 0 auto;width:100%;box-sizing:border-box}.mlc-community{padding:16px 12px}.mlc-head{flex-wrap:wrap}.mlc-count{margin-inline-start:0}.mlc-reply{flex-direction:column}.mlc-reply .ml-btn-primary{width:100%}}
@media(prefers-reduced-motion:reduce){.mlp-fill,.mlp-option{transition:none}}
