/* Miniature of the grammar loop. Scope is intentionally limited to this component.
   HTML: .fte-lab-motion root; .fte-lab-motion-visual (aria-hidden=true);
   .fte-lab-motion-sentence wrapping before+after; SR summary outside visual.
   No-JS defaults show the correct sentence, explanation and next review. */
.fte-lab-motion{--motion-navy:#1c244b;--motion-blue:#2563eb;--motion-line:#dce5f4;--motion-soft:#f1f5fd;box-sizing:border-box;min-width:0;background:#fff;border:1px solid var(--motion-line);border-radius:12px;padding:18px;color:var(--motion-navy);font-family:'DM Sans',system-ui,sans-serif;text-align:left}
.fte-lab-motion *{box-sizing:border-box}
.fte-lab-motion [hidden]{display:none!important}
.fte-lab-motion .fte-lab-motion-visual{min-width:0}
.fte-lab-motion [data-motion-label]{font-size:11px;line-height:1.5;font-weight:750;letter-spacing:0;color:#315ca8;margin:0 0 13px;text-transform:none}
.fte-lab-motion .fte-lab-motion-sentence{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;min-height:62px;margin:0 0 10px}
.fte-lab-motion [data-motion-before],.fte-lab-motion [data-motion-after]{grid-area:1/1;display:block;min-width:0;margin:0;font-size:19px;line-height:1.45;letter-spacing:-.35px;font-weight:750;overflow-wrap:normal;word-break:normal}
.fte-lab-motion [data-motion-before]{opacity:0;visibility:hidden;color:#70505c}
.fte-lab-motion [data-motion-after]{opacity:1;visibility:visible;color:#1c244b}
.fte-lab-motion [data-motion-after] mark{background:#e8f4ef;color:#15583f;border-radius:3px;padding:0 2px}
.fte-lab-motion [data-motion-note]{opacity:1;visibility:visible;margin:0 0 14px;color:#475569;font-size:12px;line-height:1.6;min-height:2.6em}
.fte-lab-motion [data-motion-next]{display:flex;align-items:center;gap:10px;opacity:1;visibility:visible;min-height:42px;margin:0;padding:9px 11px;border:1px solid #dce6f8;border-radius:7px;background:var(--motion-soft);color:#254a8c;font-size:11px;font-weight:700;line-height:1.45}
.fte-lab-motion [data-motion-next]::before{content:'↻';font-size:21px;line-height:1;flex:0 0 auto;color:var(--motion-blue)}
.fte-lab-motion button[data-lab-motion-toggle]{display:inline-flex;justify-content:center;align-items:center;min-height:44px;min-width:112px;margin:12px 0 0;padding:9px 13px;border:1px solid #c9d6ed;border-radius:7px;background:#fff;color:var(--motion-navy);font:750 12px/1.4 'DM Sans',system-ui,sans-serif;cursor:pointer}
.fte-lab-motion button[data-lab-motion-toggle]:hover{background:#f0f5fe;border-color:#9eb7e2}
.fte-lab-motion button[data-lab-motion-toggle]:focus-visible{outline:3px solid var(--motion-blue);outline-offset:3px}
.fte-lab-motion[data-motion-running=true] [data-motion-before],.fte-lab-motion[data-motion-running=true] [data-motion-after],.fte-lab-motion[data-motion-running=true] [data-motion-note],.fte-lab-motion[data-motion-running=true] [data-motion-next]{transition:opacity 220ms cubic-bezier(.2,.7,.2,1),transform 220ms cubic-bezier(.2,.7,.2,1)}
.fte-lab-motion[data-motion-running=true][data-motion-stage=question] [data-motion-before]{opacity:1;visibility:visible;text-decoration:none;transform:translateY(0)}
.fte-lab-motion[data-motion-running=true][data-motion-stage=question] [data-motion-after]{opacity:0;visibility:hidden;transform:translateY(5px)}
.fte-lab-motion[data-motion-running=true][data-motion-stage=correction] [data-motion-before]{opacity:0;visibility:hidden;text-decoration:line-through;transform:translateY(-5px)}
.fte-lab-motion[data-motion-running=true][data-motion-stage=correction] [data-motion-after]{opacity:1;visibility:visible;transform:translateY(0)}
.fte-lab-motion[data-motion-running=true][data-motion-stage=question] [data-motion-note],.fte-lab-motion[data-motion-running=true][data-motion-stage=correction] [data-motion-note]{opacity:0;visibility:hidden;transform:translateY(5px)}
.fte-lab-motion[data-motion-running=true][data-motion-stage=question] [data-motion-next],.fte-lab-motion[data-motion-running=true][data-motion-stage=correction] [data-motion-next],.fte-lab-motion[data-motion-running=true][data-motion-stage=explanation] [data-motion-next]{opacity:0;visibility:hidden;transform:translateY(5px)}
.fte-lab-motion[data-motion-running=true][data-motion-stage=explanation] [data-motion-note],.fte-lab-motion[data-motion-running=true][data-motion-stage=review] [data-motion-note],.fte-lab-motion[data-motion-running=true][data-motion-stage=review] [data-motion-next]{opacity:1;visibility:visible;transform:translateY(0)}
@media(max-width:420px){.fte-lab-motion{padding:14px}.fte-lab-motion [data-motion-before],.fte-lab-motion [data-motion-after]{font-size:18px}.fte-lab-motion .fte-lab-motion-sentence{min-height:72px}}
@media(prefers-reduced-motion:reduce){.fte-lab-motion [data-motion-before],.fte-lab-motion [data-motion-after],.fte-lab-motion [data-motion-note],.fte-lab-motion [data-motion-next]{transition:none!important;animation:none!important;transform:none!important}.fte-lab-motion [data-motion-before]{opacity:0!important;visibility:hidden!important}.fte-lab-motion [data-motion-after],.fte-lab-motion [data-motion-note],.fte-lab-motion [data-motion-next]{opacity:1!important;visibility:visible!important}}
