/* Shared controls inherit the current learning section or admin palette. */
:where(.ls-page,.lc-page,.falo-admin) {
  --ei-accent: var(--ls-accent,var(--lc-text,var(--fa-green,#216c6e)));
  --ei-ink: var(--fd-ink,var(--fa-ink,#263c35));
  --ei-muted: var(--fd-muted,var(--fa-muted,#657572));
  --ei-line: var(--fd-line,var(--fa-line,#dce5e3));
  --ei-tint: color-mix(in srgb,var(--ei-accent) 7%,white);
}
.exercise-interaction { min-width:0; }
.exercise-interaction > p { font-size:16px;line-height:1.6;color:var(--ei-muted);margin:0 0 16px;text-align:left; }
.exercise-interaction button {
  font:inherit;min-height:44px;padding:10px 16px;margin:0;
  border:1px solid var(--ei-line);border-radius:7px;background:#fff;color:var(--ei-ink);
  cursor:pointer;white-space:pre-wrap;text-align:left;line-height:1.45;
}
.exercise-interaction button:hover { border-color:var(--ei-accent);background:var(--ei-tint); }
.exercise-interaction button[aria-pressed="true"] {
  background:var(--ei-tint);border-color:var(--ei-accent);color:var(--ei-accent);
  box-shadow:inset 0 0 0 1px var(--ei-accent);text-decoration:underline;text-underline-offset:4px;
}
.exercise-interaction button:disabled { opacity:.4;cursor:default; }
.exercise-interaction button:disabled:hover { background:#fff;border-color:var(--ei-line); }
.exercise-interaction button:focus-visible,.reading-mark-tools button:focus-visible,
.reading-mark-word:focus-visible {
  outline:3px solid var(--ei-accent);outline-offset:3px;
}
.exercise-blocks { display:flex;flex-wrap:wrap;gap:10px; }
.exercise-order-row { display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--ei-line);padding:12px 0; }
.exercise-order-row:last-child { border-bottom:0;padding-bottom:0; }
.exercise-order-number { flex:none;width:28px;font-size:14px;color:var(--ei-muted);font-variant-numeric:tabular-nums; }
.exercise-order-label { flex:1;min-width:0;white-space:pre-wrap;overflow-wrap:anywhere; }
.exercise-order-row .exercise-move { flex:none;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:8px;font-size:20px;color:var(--ei-accent); }
.reading-mark-toolbar { margin:0 0 24px;padding:20px 0 18px;border-top:1px solid var(--ei-line);border-bottom:1px solid var(--ei-line);scroll-margin-top:100px; }
.reading-mark-status:not(:empty) { color:var(--ei-ink);font-family:Montserrat,Arial,sans-serif;font-size:20px;font-weight:600;line-height:1.45;margin:0 0 10px;text-align:left;overflow-wrap:anywhere; }
.reading-mark-toolbar > .reading-mark-hint { color:var(--ei-muted);font-size:16px;line-height:1.6;margin:0 0 12px;text-align:left; }
.reading-mark-tools { display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 24px;margin:8px 0 24px; }
.reading-mark-tools .reading-mark-clear { font:inherit;font-size:15px;padding:8px 0;min-height:44px;border:0;background:transparent;color:var(--ei-muted);text-decoration:underline;text-underline-offset:4px;cursor:pointer; }
.reading-mark-clear:disabled { opacity:.45;cursor:default; }
.reading-mark-active { scroll-margin-top:100px; }
.reading-mark-active .reading-mark-word { cursor:pointer;border-radius:2px; }
.reading-mark-active .reading-mark-word:hover { background:var(--ei-tint); }
.reading-mark-active .reading-mark-word.is-marked { background:#f5e4b5;color:var(--ei-ink);text-decoration:underline;text-decoration-color:#9b702d;text-underline-offset:3px;text-decoration-thickness:2px; }
.reading-answer-prose { padding:20px 24px;margin:0 0 16px;border:1px solid var(--ei-line);border-radius:10px;background:white;line-height:1.85;font-size:18px;color:var(--ei-ink); }
.reading-answer-prose p { font:inherit;text-align:left; }
.reading-answer-prose p:last-child { margin-bottom:0; }
.falo-admin .reading-answer-editor { margin-top:20px;scroll-margin-top:24px; }
.falo-admin .reading-answer-editor > p { color:var(--ei-muted);font-size:15px;text-align:left; }
.falo-admin .reading-answer-editor .reading-mark-toolbar { padding-top:16px;margin-bottom:16px; }
.falo-admin .reading-answer-editor .reading-mark-status { font-size:17px; }
.falo-admin .interaction-fields > label { margin-top:12px; }
.falo-admin .interaction-fields > p,.falo-admin .interaction-fields div > p { font-size:14px;color:var(--ei-muted);margin:8px 0 16px;text-align:left; }
@media(max-width:767px) {
  .exercise-blocks { gap:8px; }
  .exercise-interaction button { padding:9px 12px; }
  .exercise-order-row { gap:6px; }
  .exercise-order-number { width:20px; }
  .reading-mark-toolbar { padding:16px 0;margin-bottom:20px; }
  .reading-mark-status:not(:empty) { font-size:18px; }
  .reading-mark-toolbar > .reading-mark-hint { font-size:15px; }
  .reading-mark-tools { gap:0 20px; }
  .reading-answer-prose { padding:16px; }
}

.reading-mark-active .ls-dictionary { -webkit-user-select:text;user-select:text; }
.reading-mark-active .reading-mark-word.is-mark-correct { background:#e0f0e8;color:#205d47;text-decoration-color:#33785d;text-decoration-style:solid; }
.reading-mark-active .reading-mark-word.is-mark-wrong { background:#fbe6e3;color:#923c37;text-decoration-color:#ae4b43;text-decoration-style:wavy; }
.reading-mark-feedback { margin:12px 0 0;font-size:15px;line-height:1.6;color:var(--ei-muted);text-align:left; }
.reading-mark-feedback[hidden] { display:none; }
.reading-feedback-correct { color:#205d47;text-decoration:underline;text-underline-offset:3px; }
.reading-feedback-wrong { color:#923c37;text-decoration:underline wavy;text-underline-offset:3px; }
