/* Load after figma-system.css and picture-pairs.css. Player-only layouts. */
.learn-player .learn-progress { position:relative; overflow:visible; }
.learn-player .learn-progress .learn-progress-segment { position:relative; overflow:visible; }
.learn-player .learn-progress-segment.is-current-step::before { content:""; position:absolute; top:7px; left:50%; width:0; height:0; border-style:solid; border-width:0 4px 5px; border-color:transparent transparent var(--primary); transform:translateX(-50%); pointer-events:none; }
.learn-workbench.is-dropdown .learn-workbench-layout { grid-template-columns:minmax(0,1fr); grid-template-rows:auto; height:auto; min-height:0; }
.learn-workbench.is-dropdown .learn-workbench-content { flex:none; overflow:visible; }
.learn-workbench.has-inline-order .learn-workbench-layout { height:auto; min-height:220px; align-items:start; }
.learn-workbench.has-inline-order .learn-workbench-content { flex:none; overflow:visible; }
.learn-workbench.has-inline-order .learn-workbench-options { grid-auto-rows:minmax(44px,auto); }
.learn-workbench .learn-order-answer.learn-order-inline { display:flex; flex-wrap:wrap; align-items:flex-start; align-content:flex-start; gap:6px; min-height:76px; padding:12px; }
.learn-workbench .learn-order-word { flex:0 1 auto; min-width:44px; min-height:44px; max-width:100%; padding:8px 12px; border:1px solid var(--line); border-radius:6px; background:var(--surface); color:var(--text); font:inherit; font-size:18px; line-height:1.5; overflow-wrap:anywhere; cursor:grab; }
.learn-workbench .learn-order-word.is-selected { border-color:var(--primary); background:var(--primary-soft); }
.learn-workbench .learn-order-empty { display:grid; place-items:center; min-width:44px; min-height:44px; color:var(--text-soft); }
.learn-workbench .learn-order-sentence { min-height:38px; margin:12px 0 8px; padding:0 8px; font-size:20px; line-height:1.6; overflow-wrap:anywhere; }
.learn-workbench .learn-order-tools { display:flex; align-items:center; gap:6px; flex-wrap:wrap; min-width:0; padding:8px 0; border-top:1px solid var(--line); }
.learn-order-tools > span { flex:1 1 48px; min-width:0; color:var(--text-soft); font-size:12px; }
.learn-order-tools > .icon-btn { flex:0 0 44px; width:44px; height:44px; min-width:44px; min-height:44px; border:1px solid var(--line); border-radius:6px; background:var(--surface); color:var(--primary); }
.learn-order-tools svg { width:18px; height:18px; }
.learn-review .learn-workbench .learn-order-word:disabled { opacity:1; }
.material-book { min-width:0; max-width:100%; margin:12px 0; }
.material-book-nav { display:flex; align-items:center; justify-content:center; gap:8px; padding:8px 0; }
.material-book-nav .icon-btn { flex:0 0 44px; width:44px; height:44px; min-width:44px; min-height:44px; border:1px solid var(--line); border-radius:6px; color:var(--primary); background:var(--surface); }
.material-book-nav [data-material-count] { min-width:64px; color:var(--text-soft); font-size:13px; text-align:center; }
.material-book-nav button:disabled { opacity:.4; cursor:default; }
.material-book-viewport { min-width:0; max-width:100%; touch-action:pan-y pinch-zoom; }
.material-book-page { display:flex; flex-direction:column; align-items:center; height:clamp(240px,min(65vh,84vw),680px); min-width:0; gap:8px; }
.material-book-page[hidden] { display:none!important; }
.material-book-page > .studio-image { display:block; flex:1 1 0; min-height:0; width:100%; max-width:100%; height:100%; max-height:100%; margin:0; object-fit:contain; }
.material-book-page > :not(.studio-image) { flex:none; }
.material-book-page > .learn-dictionary-save { align-self:flex-start; }
.material-book-viewport:focus-visible { outline:2px solid var(--primary); outline-offset:3px; }
.material-book-zoom { overflow:auto; max-height:75vh; touch-action:pan-x pan-y pinch-zoom; }
.material-book-zoom img { display:block; width:100%; min-width:600px; max-width:none; height:auto; }
.learn-exercise:has(.learn-workbench),
.learn-question-scene:has(.learn-workbench) { min-width:0; overflow:visible; }

/* Questions below a persistent lecture need no standalone-screen spacer. */
#learnQuestionContent { min-width:0; }
#learnQuestionContent .learn-question-scene { min-height:0; padding-top:12px; padding-bottom:20px; justify-content:flex-start; }
#learnQuestionContent .learn-question-scene > h2 { margin-bottom:18px; }
#learnSharedContext .l2g-player:not(.is-started) .l2g-bigplay { z-index:8; }
.learn-player > .learn-footer.learn-shared-results { grid-template-columns:auto minmax(0,1fr); }
.learn-shared-results > #learnPrev { grid-column:1; grid-row:1; min-width:44px; min-height:44px; }
.learn-shared-results > #learnSaveStatus { grid-column:2; grid-row:2; }
.learn-shared-results > .learn-footer-actions { grid-column:2; grid-row:1; min-width:0; justify-self:stretch; justify-content:flex-end; flex-wrap:wrap; }
.learn-shared-results .learn-footer-actions .btn { min-width:0; max-width:100%; min-height:44px; white-space:normal; overflow-wrap:anywhere; }
@media (max-width:600px) {
  #learnSharedContext { margin-bottom:12px; }
  #learnQuestionContent .learn-question-scene { padding-top:8px; padding-bottom:12px; }
  .learn-shared-results .learn-footer-actions .btn { flex:1 1 140px; }
}
.learn-player:has(.learn-workbench) .learn-heading { min-height:64px; padding:8px 0; }
.learn-stage:has(.learn-workbench) { margin:8px auto; padding:12px 0 18px; }
.learn-question-scene:has(.learn-workbench) { min-height:0; padding:10px 0; justify-content:flex-start; }
.learn-question-scene:has(.learn-workbench) > .learn-points-line,
.learn-question-scene:has(.learn-workbench) > .learn-instruction { margin-bottom:6px; }
.learn-question-scene:has(.learn-workbench) > h2,
.learn-stage:has(.learn-workbench) > h2 { margin-bottom:12px; }
.learn-exercise:has(.learn-workbench) { box-sizing:border-box; width:min(980px,100%); min-height:0; padding:16px 20px; border:0; border-radius:8px; box-shadow:none; }

.learn-workbench,
.learn-workbench * { box-sizing:border-box; }
.learn-workbench { display:grid; gap:10px; width:100%; min-width:0; color:var(--text); }
.learn-workbench-status { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:6px 12px; min-width:0; color:var(--text-soft); font-size:12px; line-height:1.4; overflow-wrap:anywhere; }
.learn-workbench-status > span { min-width:0; }
.learn-workbench-progress { height:4px; min-height:0; overflow:hidden; background:var(--line); }
.learn-workbench-progress > span { display:block; height:100%; max-width:100%; background:var(--primary); }
.learn-workbench-layout {
  display:grid;
  grid-template-columns:minmax(0,2fr) minmax(0,1fr);
  align-items:stretch;
  gap:20px;
  height:var(--learn-workbench-height,420px);
  min-height:320px;
  min-width:0;
}
.learn-workbench-main { display:flex; flex-direction:column; gap:8px; min-width:0; min-height:0; }
.learn-workbench-content { flex:1 1 0; min-width:0; min-height:0; overflow:auto; overscroll-behavior-y:contain; scrollbar-gutter:stable; padding:3px; scroll-padding:8px; }
.learn-workbench-bank { display:grid; grid-template-rows:auto minmax(0,1fr) auto; align-content:start; gap:10px; min-width:0; min-height:0; padding:3px; }
.learn-workbench-bank-title { margin:0; min-width:0; font-size:15px; line-height:1.4; font-weight:600; overflow-wrap:anywhere; }
.learn-workbench-options {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-auto-rows:minmax(min-content,1fr);
  align-content:stretch;
  align-items:stretch;
  gap:8px;
  min-width:0;
  min-height:0;
  max-height:100%;
  overflow:auto;
  overscroll-behavior-y:contain;
  scrollbar-gutter:stable;
  padding:3px;
}
.learn-workbench .learn-workbench-options.learn-category-bank { border:0; background:transparent; border-radius:0; padding:0; box-shadow:none; }
.learn-workbench-pager { display:flex; align-items:center; justify-content:center; flex:none; gap:8px; min-width:0; min-height:44px; }
.learn-workbench-pager > span { min-width:0; color:var(--text-soft); font-size:12px; line-height:1.35; text-align:center; overflow-wrap:anywhere; }
.learn-workbench .learn-workbench-pager button,
.learn-workbench .learn-order-move button {
  display:grid; place-items:center; flex:0 0 44px;
  width:44px; height:44px; min-width:44px; min-height:44px;
  padding:0; border:1px solid var(--line); border-radius:6px;
  background:var(--surface); color:var(--primary); cursor:pointer;
}
.learn-workbench-pager button svg,
.learn-workbench .learn-order-move button svg { width:18px; height:18px; }
.learn-workbench button:disabled { opacity:.45; cursor:default; transform:none; box-shadow:none; }
.learn-workbench button:focus-visible,
.learn-workbench [tabindex]:focus-visible { outline:2px solid var(--primary); outline-offset:2px; }
.learn-workbench .learn-token,
.learn-workbench .learn-category-chip {
  display:flex; align-items:center; gap:8px; min-width:0; min-height:44px; max-width:100%;
  height:auto; padding:8px 10px; border:1px solid var(--line); border-radius:6px;
  background:var(--surface); color:var(--text); font:inherit; font-size:15px; line-height:1.45;
  text-align:left; white-space:pre-wrap; overflow-wrap:anywhere; word-break:normal;
  box-shadow:none; cursor:pointer; transform:none;
}
.learn-workbench .learn-token:hover,
.learn-workbench .learn-category-chip:hover { border-color:var(--primary); transform:none; box-shadow:none; }
.learn-workbench .learn-token.is-selected,
.learn-workbench .learn-category-chip.is-selected { border-color:var(--primary); background:var(--primary-soft); }
.learn-workbench .learn-token > svg,
.learn-workbench .learn-category-chip > svg { flex:none; width:16px; height:16px; }
.learn-workbench .learn-token > span,
.learn-workbench .learn-category-chip > span { flex:1 1 0; min-width:0; max-width:100%; overflow-wrap:anywhere; }
.learn-workbench-options > .learn-token,
.learn-workbench-options > .learn-category-chip { justify-content:center; text-align:center; width:100%; }
.learn-workbench.has-long-options .learn-workbench-options > :is(.learn-token,.learn-category-chip),
.learn-workbench.has-option-media .learn-workbench-options > :is(.learn-token,.learn-category-chip) { flex-direction:column; font-size:14px; }
.learn-workbench .learn-category-chip img,
.learn-workbench-options .learn-token img { display:block; flex:none; width:100%; max-width:100%; height:72px; object-fit:contain; border-radius:6px; }
.learn-workbench-placeholder { grid-column:1 / -1; align-self:center; padding:16px 8px; color:var(--text-soft); font-size:14px; line-height:1.5; text-align:center; overflow-wrap:anywhere; }
.learn-workbench-option-empty { min-width:0; min-height:44px; pointer-events:none; }
.learn-review .learn-workbench :is(.learn-category-chip.assigned,[data-remove-token],.learn-gap-blank):disabled { opacity:1; cursor:default; }

.learn-workbench .learn-category-groups { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; min-width:0; }
.learn-workbench .learn-category-zone { gap:8px; min-width:0; min-height:144px; padding:10px; border-radius:8px; }
.learn-workbench .learn-category-zone > header { flex-wrap:wrap; gap:6px; font-size:14px; line-height:1.4; }
.learn-workbench .learn-category-zone > header strong { flex:1 1 0; min-width:0; overflow-wrap:anywhere; }
.learn-workbench .learn-category-zone > header span { flex:1 0 100%; margin:0; max-width:none; text-align:left; font-size:11px; overflow-wrap:anywhere; }
.learn-workbench .learn-category-zone > header img { width:48px; height:40px; object-fit:contain; border-radius:6px; }
.learn-workbench .learn-category-items { min-width:0; gap:6px; padding:0; border-radius:0; background:transparent; }
.learn-workbench .learn-category-chip.assigned { width:100%; min-height:44px; padding:6px 8px; }
.learn-workbench .learn-category-chip.assigned img { width:48px; height:40px; }
.learn-workbench .learn-category-empty { line-height:1.5; overflow-wrap:anywhere; }

.learn-workbench .learn-order-answer { display:grid; align-items:stretch; align-content:start; gap:8px; min-width:0; min-height:88px; margin:0; padding:8px; border-radius:8px; }
.learn-workbench .learn-order-item { grid-template-columns:24px minmax(0,1fr) auto; gap:6px; min-width:0; padding:6px; border-radius:6px; }
.learn-workbench .learn-order-number { width:24px; height:24px; border-radius:6px; font-size:12px; }
.learn-workbench .learn-order-grip { display:flex; flex-direction:column; align-items:center; gap:4px; width:24px; cursor:grab; }
.learn-workbench .learn-order-grip svg { width:14px; height:14px; color:var(--text-soft); }
.learn-workbench .learn-order-item > button.learn-token[data-remove-token] {
  display:flex; justify-content:space-between; width:100%; min-width:0; min-height:44px;
  padding:6px; border:0; background:transparent; white-space:pre-wrap; line-height:1.5;
}
.learn-workbench .learn-order-item > button.learn-token[data-remove-token] > svg { margin-left:auto; }
.learn-workbench .learn-order-move { display:flex; gap:4px; }
.learn-workbench .learn-order-letters .learn-token { font-size:20px; text-transform:none; }
.learn-workbench .learn-order-sentences .learn-token,
.learn-workbench .learn-order-paragraphs .learn-token { font-size:15px; font-weight:400; }

.learn-workbench .learn-passage { min-width:0; max-width:100%; margin:0; padding:12px 14px; border-radius:8px; font-size:16px; line-height:2.2; overflow-wrap:anywhere; word-break:normal; }
.learn-workbench .learn-passage.has-gap-rows { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px 12px; }
.learn-gap-line { display:flex; flex-wrap:wrap; align-items:center; gap:6px; min-width:0; }
.learn-gap-line .learn-gap-label { flex:none; max-width:45%; overflow-wrap:anywhere; }
.learn-workbench .learn-gap-line .learn-gap-field { flex:1 0 92px; min-width:0; margin:0; }
.learn-workbench .learn-gap-line .learn-slot { flex:1 1 0; min-width:44px; width:100%; }
.learn-workbench .learn-gap-line .learn-gap-blank { min-width:44px; width:100%; max-width:100%; margin:0; }
.learn-workbench .learn-slot { min-width:0; max-width:100%; min-height:44px; font-size:16px; }
.learn-workbench .learn-gap-blank { display:inline-block; min-width:min(90px,calc(100% - 6px)); min-height:44px; max-width:calc(100% - 6px); margin:2px 3px; padding:6px 10px; border-radius:6px; font-size:inherit; line-height:1.5; white-space:pre-wrap; vertical-align:middle; overflow-wrap:anywhere; }
.learn-workbench .learn-gap-field { display:inline-flex; flex-wrap:wrap; align-items:center; gap:4px; min-width:0; max-width:100%; margin:2px 0; vertical-align:middle; }
.learn-workbench .learn-gap-field > .learn-gap-blank { flex:1 1 90px; width:auto; min-width:44px; max-width:100%; margin:0; }
.learn-workbench .learn-gap-field > button.learn-gap-clear[data-gap-clear] {
  display:grid; place-items:center; flex:0 0 44px;
  width:44px; height:44px; min-width:44px; min-height:44px;
  padding:0; border:1px solid var(--line); border-radius:6px;
  background:var(--surface); color:var(--text-soft); cursor:pointer;
}
.learn-workbench .learn-gap-clear svg { width:18px; height:18px; }
.learn-workbench .learn-gap-blank.is-selected-target { border-style:solid; border-color:var(--primary); background:var(--primary-soft); color:var(--primary); }

/* Figma Tasks: outlined answer capsules and the shared card bank below them. */
.learn-exercise:has(.learn-workbench.has-gap-bank) { width:min(820px,100%); padding:0; border:0; background:transparent; border-radius:0; box-shadow:none; }
.learn-workbench.has-gap-bank { gap:12px; }
.learn-workbench.has-gap-bank .learn-workbench-status { padding-inline:4px; }
.learn-workbench.has-gap-bank .learn-workbench-progress { height:3px; border-radius:2px; }
.learn-workbench.has-gap-bank .learn-workbench-layout { grid-template-columns:minmax(0,1fr); grid-template-rows:auto auto; height:auto; min-height:0; gap:24px; }
.learn-workbench.has-gap-bank .learn-workbench-content { flex:none; overflow:visible; padding:4px; scrollbar-gutter:auto; }
.learn-workbench.has-gap-bank .learn-passage { margin:0; padding:28px; border:1px solid var(--line); border-radius:32px; background:var(--surface); box-shadow:0 3px 3px rgb(79 53 96 / 8%); font-size:18px; line-height:3; }
.learn-workbench.has-gap-bank .learn-passage.has-gap-rows { grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr)); gap:24px; }
.learn-workbench.has-gap-bank .learn-gap-line { flex-wrap:wrap; gap:12px; }
.learn-workbench.has-gap-bank .learn-gap-label { font-size:24px; line-height:1.5; }
.learn-workbench.has-gap-bank .learn-gap-field { position:relative; min-width:min(120px,100%); margin:4px 3px; border:1px solid transparent; border-radius:999px; background:linear-gradient(var(--surface),var(--surface)) padding-box,linear-gradient(105deg,#bb92c6,#82b7c8) border-box; vertical-align:middle; }
.learn-workbench.has-gap-bank .learn-gap-line .learn-gap-field { flex:1 0 112px; min-width:112px; margin:0; }
.learn-workbench.has-gap-bank .learn-gap-field > .learn-gap-blank { flex:1 1 auto; width:100%; min-width:44px; max-width:100%; min-height:44px; margin:0; padding:8px 46px 8px 14px; border:0; border-radius:999px; background:transparent; color:var(--text); font-size:18px; line-height:1.5; text-align:center; }
.learn-workbench.has-gap-bank .learn-gap-field:has(.filled) { background:linear-gradient(105deg,color-mix(in srgb,#ef8040 12%,var(--surface)),color-mix(in srgb,#78268d 12%,var(--surface))) padding-box,linear-gradient(105deg,#bb92c6,#82b7c8) border-box; }
.learn-workbench.has-gap-bank .learn-gap-field:has(.is-selected-target) { box-shadow:0 0 0 2px var(--primary); }
.learn-workbench.has-gap-bank .learn-gap-field > button.learn-gap-clear[data-gap-clear] { position:absolute; inset-inline-end:0; top:0; width:44px; height:100%; min-height:44px; padding:0; border:0; border-radius:999px; background:transparent; color:var(--text-soft); }
.learn-workbench.has-gap-bank .learn-gap-clear svg { width:20px; height:20px; }
.learn-workbench.has-gap-bank .learn-workbench-bank { display:flex; flex-direction:column; align-items:flex-start; gap:12px; padding:0 4px 4px; border:0; }
.learn-workbench.has-gap-bank .learn-workbench-options { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,128px),1fr)); grid-auto-rows:minmax(44px,auto); align-content:start; width:min(640px,100%); min-height:104px; max-height:none; margin:0; padding:0; gap:12px; overflow:visible; scrollbar-gutter:auto; }
.learn-workbench.has-gap-bank .learn-workbench-options > .learn-token { min-height:44px; padding:8px 16px; border:1px solid transparent; border-radius:999px; background:linear-gradient(105deg,rgb(239 128 64 / 20%),rgb(120 38 141 / 20%)),var(--surface); color:var(--text); box-shadow:0 3px 6px rgb(79 53 96 / 12%); font-size:18px; font-weight:500; line-height:1.5; }
.learn-workbench.has-gap-bank .learn-token > svg { width:14px; height:14px; color:var(--text-soft); }
.learn-workbench.has-gap-bank .learn-token:hover { border-color:var(--primary); box-shadow:0 3px 6px rgb(79 53 96 / 12%); }
.learn-workbench.has-gap-bank .learn-token.is-selected { border-color:var(--primary); box-shadow:0 0 0 2px var(--primary); }
.learn-workbench.has-gap-bank .learn-workbench-option-empty { min-height:44px; }
.learn-workbench.has-gap-bank .learn-workbench-bank > .learn-workbench-pager { align-self:center; }
.learn-workbench.has-gap-bank .learn-workbench-pager button { border:0; border-radius:50%; background:transparent; }
.learn-workbench.has-gap-bank.has-long-options .learn-workbench-options,
.learn-workbench.has-gap-bank.has-option-media .learn-workbench-options { grid-template-columns:repeat(2,minmax(0,1fr)); }
.learn-workbench.has-gap-bank.has-long-options .learn-workbench-options > .learn-token,
.learn-workbench.has-gap-bank.has-option-media .learn-workbench-options > .learn-token { border-radius:16px; }
[data-theme="dark"] .learn-workbench.has-gap-bank .learn-gap-field:has(.filled) { background:linear-gradient(var(--primary-soft),var(--primary-soft)) padding-box,linear-gradient(105deg,#bb92c6,#82b7c8) border-box; }
@media (max-width:600px) {
  .learn-workbench.has-gap-bank .learn-workbench-layout { gap:18px; }
  .learn-workbench.has-gap-bank .learn-passage { padding:18px 12px; border-radius:24px; font-size:16px; }
  .learn-workbench.has-gap-bank .learn-passage.has-gap-rows { grid-template-columns:repeat(auto-fit,minmax(min(100%,134px),1fr)); gap:16px 12px; }
  .learn-workbench.has-gap-bank .learn-gap-line { gap:6px; }
  .learn-workbench.has-gap-bank .learn-gap-label { font-size:22px; }
  .learn-workbench.has-gap-bank .learn-gap-field > .learn-gap-blank { padding-inline-start:8px; font-size:16px; }
  .learn-workbench.has-gap-bank .learn-workbench-options { grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; min-height:96px; }
  .learn-workbench.has-gap-bank .learn-workbench-options > .learn-token { padding:8px 6px; font-size:16px; }
  .learn-workbench.has-gap-bank .learn-token > :is(svg,i) { display:none; }
}
@media (max-width:359px) {
  .learn-workbench.has-gap-bank .learn-passage.has-gap-rows { grid-template-columns:minmax(0,1fr); gap:12px; }
  .learn-workbench.has-gap-bank .learn-gap-line .learn-gap-label { flex:0 0 28px; }
}

/* Text pairs share pagination with picture pairs, but not image-sized labels. */
.text-match.picture-match-paged .picture-match-layout { height:var(--picture-match-height,420px); min-height:320px; align-items:stretch; }
.text-match.picture-match-paged .picture-match-pages { grid-template-rows:minmax(0,1fr) 44px; min-height:0; }
.text-match.picture-match-paged .picture-match-grid { min-height:0; overflow:auto; grid-auto-rows:max-content; align-content:start; scrollbar-gutter:stable; }
.learn-match-board.picture-match.picture-match-paged.text-match .learn-match-bank.picture-match-bank { min-height:0; grid-template-rows:auto minmax(0,1fr) auto; align-items:stretch; }
.learn-match-board.picture-match-paged.text-match .picture-match-options { min-height:0; overflow:auto; grid-auto-rows:minmax(min-content,1fr); scrollbar-gutter:stable; }
.learn-match-board.picture-match-paged.text-match .learn-match-row { min-height:116px; padding:10px; gap:8px; grid-template-rows:minmax(44px,1fr) auto; }
.learn-match-board.picture-match-paged.text-match .picture-match-card-empty { min-height:116px; }
.learn-match-board.picture-match-paged.text-match .learn-match-label { min-width:0; min-height:44px; font-size:16px; line-height:1.45; }
.learn-match-board.picture-match-paged.text-match .learn-match-label > span { padding-inline:22px; }
.learn-match-board.picture-match-paged.text-match .learn-match-target[data-match-slot] { min-width:0; min-height:44px; line-height:1.45; }
.learn-match-board.picture-match-paged.text-match .learn-match-chip[data-match-option] { font-size:16px; line-height:1.45; }
.learn-match-board.picture-match-paged.text-match .learn-match-label.is-symbol,
.learn-match-board.picture-match-paged.text-match .learn-match-label .is-symbol,
.learn-match-board.picture-match-paged.text-match .learn-match-chip.is-symbol,
.learn-match-board.picture-match-paged.text-match .learn-match-chip .is-symbol,
.learn-match-board.picture-match-paged.text-match .learn-match-assigned.is-symbol,
.learn-match-board.picture-match-paged.text-match .learn-match-assigned .is-symbol { font-size:24px; line-height:1.4; }
.text-match.picture-match-paged .picture-match-nav > span { font-size:12px; }

@media (max-width:900px) {
  .learn-player .learn-truefalse-option { min-height:44px; min-width:44px; padding:4px 0; }
}

@media (max-width:600px) {
  .learn-player:has(.learn-workbench) .learn-heading { gap:8px; min-height:56px; }
  .learn-player:has(.learn-workbench) .learn-heading > .icon-btn { width:44px; height:44px; }
  .learn-player:has(.learn-workbench) .learn-heading { grid-template-columns:44px minmax(0,1fr) auto; }
  .learn-stage:has(.learn-workbench) { margin:4px auto; padding:6px 0 10px; }
  .learn-exercise:has(.learn-workbench) { padding:8px 10px; }
  .learn-question-scene:has(.learn-workbench) { padding:4px 0; }
  .learn-question-scene:has(.learn-workbench) > h2,
  .learn-stage:has(.learn-workbench) > h2 { margin-bottom:8px; font-size:18px; }
  .learn-workbench { gap:6px; }
  .learn-workbench-layout { grid-template-columns:minmax(0,1fr); grid-template-rows:minmax(0,1fr) auto; gap:6px; }
  .learn-workbench-gaps:not(.is-dropdown):has(.has-gap-rows) .learn-workbench-layout { height:auto; min-height:0; grid-template-rows:auto auto; }
  .learn-workbench-gaps:has(.has-gap-rows) .learn-workbench-content { flex:none; overflow:visible; }
  .learn-workbench-main { gap:4px; }
  /* Reserve two token rows across pages; only work content and options scroll. */
  .learn-workbench-bank {
    position:static; grid-template-columns:minmax(0,1fr) auto; grid-template-rows:44px 112px;
    gap:4px 6px; padding:4px 0 0; border-top:1px solid var(--line);
  }
  .learn-workbench-bank-title { grid-area:1 / 1; font-size:14px; }
  .learn-workbench-bank > .learn-workbench-pager { grid-area:1 / 2; gap:4px; }
  .learn-workbench-bank > .learn-workbench-options { grid-area:2 / 1 / 3 / -1; }
  .learn-workbench-options { grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; }
  .learn-workbench.has-long-options .learn-workbench-bank,
  .learn-workbench.has-option-media .learn-workbench-bank { grid-template-rows:44px 136px; }
  .learn-workbench.has-long-options .learn-workbench-options,
  .learn-workbench.has-option-media .learn-workbench-options { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .learn-workbench.has-long-options .learn-workbench-bank { grid-template-rows:44px clamp(112px,calc(var(--learn-workbench-height,420px) * .36),192px); }
  .learn-workbench.has-long-options .learn-workbench-options { grid-template-columns:minmax(0,1fr); }
  .learn-workbench .learn-workbench-options > :is(.learn-token,.learn-category-chip) { padding:6px 4px; font-size:14px; }
  .learn-workbench-options .learn-category-chip img,
  .learn-workbench-options .learn-token img { height:48px; }
  .learn-workbench .learn-category-groups { gap:8px; }
  .learn-workbench .learn-category-zone { min-height:116px; padding:8px; }
  .learn-workbench .learn-category-zone > header strong { font-size:13px; }
  .learn-workbench .learn-order-answer { padding:4px; }
  .learn-workbench .learn-order-item { grid-template-columns:20px minmax(0,1fr) auto; gap:4px; padding:4px; }
  .learn-workbench .learn-order-number { width:20px; height:24px; font-size:11px; }
  .learn-workbench .learn-order-grip { width:20px; }
  .learn-workbench .learn-order-grip :is(svg,i) { display:none; }
  .learn-workbench .learn-order-move { flex-direction:row; gap:4px; }
  .learn-workbench .learn-order-item > button.learn-token[data-remove-token] { padding:4px; font-size:14px; }
  .learn-workbench .learn-order-letters .learn-order-item > button.learn-token[data-remove-token] { font-size:20px; }
  .learn-workbench .learn-passage { padding:10px; font-size:16px; }
  .learn-match-board.picture-match-paged.text-match .learn-match-row,
  .learn-match-board.picture-match-paged.text-match .picture-match-card-empty { min-height:110px; }
  .learn-match-board.picture-match-paged.text-match .learn-match-label,
  .learn-match-board.picture-match-paged.text-match .learn-match-chip[data-match-option] { font-size:14px; }
  .learn-match-board.picture-match.picture-match-paged.text-match .learn-match-bank.picture-match-bank { grid-template-rows:44px 112px; }
  .learn-match-board.picture-match.picture-match-paged.text-match.has-long-options .learn-match-bank.picture-match-bank { grid-template-rows:44px clamp(112px,calc(var(--picture-match-height,420px) * .36),192px); }
  .learn-match-board.picture-match.picture-match-paged.text-match.has-long-options .picture-match-options { grid-template-columns:minmax(0,1fr); }
  .text-match.picture-match-paged.has-long-labels .picture-match-grid { grid-template-columns:minmax(0,1fr); }
  .learn-match-board.picture-match-paged.text-match .learn-match-label.is-symbol,
  .learn-match-board.picture-match-paged.text-match .learn-match-label .is-symbol,
  .learn-match-board.picture-match-paged.text-match .learn-match-chip.is-symbol,
  .learn-match-board.picture-match-paged.text-match .learn-match-chip .is-symbol,
  .learn-match-board.picture-match-paged.text-match .learn-match-assigned.is-symbol,
  .learn-match-board.picture-match-paged.text-match .learn-match-assigned .is-symbol { font-size:22px; }

  /* Other exercise types: width and touch targets, without cabinet/editor changes. */
  .learn-player .learn-exercise { min-width:0; max-width:100%; }
  .learn-player .learn-exercise :is(.learn-options,.learn-option,.learn-option-copy,.learn-answer,.learn-recording) { min-width:0; max-width:100%; }
  .learn-player .learn-options { grid-template-columns:minmax(0,1fr); gap:8px; }
  .learn-player .learn-options .learn-option { min-height:44px; padding:10px; border-radius:8px; transform:none; }
  .learn-player .learn-option-copy { flex:1; flex-wrap:wrap; font-size:16px; line-height:1.5; }
  .learn-player .learn-option-copy > span:not(.learn-option-media) { min-width:0; max-width:100%; white-space:pre-wrap; overflow-wrap:anywhere; }
  .learn-player .learn-option-media { border-radius:6px; }
  .learn-player .learn-truefalse-row { display:grid; grid-template-columns:minmax(0,1fr); min-width:0; padding:10px; border-radius:8px; gap:8px; }
  .learn-player .learn-truefalse-label { min-width:0; width:100%; line-height:1.5; }
  .learn-player .learn-truefalse-options { flex-wrap:wrap; min-width:0; gap:8px 16px; }
  .learn-player .learn-truefalse-option { min-height:44px; min-width:44px; padding:4px 0; }
  .learn-player .learn-answer input,
  .learn-player .learn-exercise textarea,
  .learn-player .learn-exercise .learn-slot { box-sizing:border-box; min-width:0; max-width:100%; min-height:44px; border-radius:6px; font-size:16px; scroll-margin-bottom:calc(var(--learn-workbench-footer-height,80px) + 16px); }
  .learn-player .learn-answer input,
  .learn-player .learn-exercise textarea { width:100%; }
  .learn-player .learn-audio { box-sizing:border-box; min-width:0; max-width:100%; grid-template-columns:44px minmax(0,1fr) auto; gap:8px; padding:8px; border-radius:8px; }
  .learn-player .learn-audio button { flex:none; min-width:44px; min-height:44px; width:44px; height:44px; }
  .learn-player .learn-audio-track { min-width:0; min-height:44px; }
  .learn-player .learn-audio-time { min-width:40px; font-size:11px; }
  .learn-player .learn-recording { gap:12px; }
  .learn-player .learn-recording-status,
  .learn-player .learn-transcript { min-width:0; max-width:100%; line-height:1.5; overflow-wrap:anywhere; }
  .learn-player .learn-recording audio { min-width:0; max-width:100%; }
  .learn-player:has(.learn-exercise) > .learn-footer { padding-bottom:max(12px,env(safe-area-inset-bottom)); }
  .learn-player:has(.learn-exercise) :is(button,input,textarea):focus-visible { outline:2px solid var(--primary); outline-offset:2px; }
}
