/* LiSpeak exercise canvas: soft violet, clear answer states, mint hover accents. */
.classroom-app .class-header{background:linear-gradient(105deg,#7536d1,#914cf2)}
.classroom-app .exercise-track{height:3px;background:#f0e9fa}.classroom-app .exercise-track span{background:#9860ed}
.classroom-app .interactive-fields{display:grid;gap:18px;padding-top:4px}
.classroom-app .task-row{margin:0;display:grid;grid-template-columns:32px minmax(0,1fr);gap:14px;padding:20px 0;border:0;border-bottom:1px solid #eee8f5;background:transparent;border-radius:0;align-items:start}
.classroom-app .task-row:last-child{border-bottom:0}
.classroom-app .answer-number{font-size:12px;line-height:30px;color:#9b85b4;background:#f4eefe;border-radius:9px;width:30px;text-align:center;font-weight:700}
.classroom-app .task-content{min-width:0}.classroom-app .answer-question{font-size:16px;font-weight:600;color:#3e324c;line-height:1.8;margin:0 0 12px}
.choice-options{display:flex;flex-wrap:wrap;gap:10px}
.choice-option{display:flex;align-items:center;gap:10px;min-height:46px;padding:10px 16px;border:1px solid #e4daef;border-radius:12px;background:#faf8fd;color:#534361;font:inherit;cursor:pointer;text-align:left;transition:background .15s,border-color .15s,box-shadow .15s}
.choice-letter{font-size:10px;font-weight:700;color:#9b86b3;flex-shrink:0}
.choice-option[aria-pressed=true]{background:#8450df;color:#fff;border-color:#8450df;box-shadow:0 3px 12px #8450df25}.choice-option[aria-pressed=true] .choice-letter{color:#e8dafe}
.classroom-app .choice-option:hover,.classroom-app .word-tile:hover:not(:disabled),.classroom-app .match-slot:hover{border-color:#55cf96;box-shadow:0 0 0 3px #b7f5d74d}
.classroom-app :is(.word-tile,.choice-option,.match-slot,.task-text-button):focus-visible{outline:3px solid #8854d9;outline-offset:3px}
.classroom-app .gap-sentence{font-size:17px;line-height:2.8;color:#493653}
.classroom-app .inline-gap{display:inline-block;width:clamp(90px,20vw,180px);max-width:100%;min-height:42px;margin:3px 7px;padding:7px 12px;border:1.5px dashed #bb9be2;border-radius:9px;background:#faf6ff;text-align:center;font-size:16px;line-height:1.5;color:#6535a0;vertical-align:baseline}
.classroom-app .inline-gap:focus,.classroom-app .correction-input:focus{border-color:#8252d4;border-style:solid;outline:0;box-shadow:0 0 0 3px #ddcbfa60;background:#fff}
.classroom-app .matching-bank{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;padding:0;margin:0 30px 20px;border:1px solid #e9e1f3;border-radius:14px;overflow:hidden;background:#fff}
.classroom-app .matching-bank .word-tile{border:0;border-radius:0;background:#f5f1f9;color:#4c3f59;text-align:left;min-height:58px;margin:0;padding:14px 32px 14px 16px;position:relative}
.matching-bank .word-tile::after{content:'⠿';position:absolute;right:10px;color:#a377d8;font-size:22px;top:50%;transform:translateY(-50%)}
.classroom-app .matching-bank .word-tile.used{background:#ede4fa;color:#8566a6}.classroom-app .matching-bank .word-tile.used::after{content:'✓';font-size:15px}
.classroom-app .matching-bank .word-tile:hover{background:#e9faef;box-shadow:inset 0 0 0 1px #7be7ab}
.classroom-app .match-slot{min-height:46px;min-width:180px;max-width:100%;padding:10px 18px;border:1.5px dashed #bb9be2;border-radius:10px;background:#faf6ff;color:#8d73a8;font:inherit;text-align:left;cursor:pointer}
.classroom-app .match-slot.filled{background:#eee4fc;color:#6d35ac;border-style:solid}
.sentence-tray{min-height:60px;display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px;border:1.5px dashed #c1a8df;background:#fcfaff;border-radius:12px}
.tray-placeholder{color:#a18cac;font-size:13px}
.chunk-bank{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.word-tile{font:inherit;font-size:14px;font-weight:600;line-height:1.5;border-radius:9px;border:1px solid #ded1ed;background:#f4effa;color:#674487;padding:10px 14px;cursor:grab;max-width:100%;overflow-wrap:anywhere;transition:box-shadow .15s,background .15s}
.word-tile.placed{background:#8650db;color:#fff;border-color:#8650db}.word-tile:disabled{opacity:.32;cursor:default;border-style:dashed}
.task-text-button{display:inline-block;border:0;background:none;color:#87679f;font-size:12px;padding:10px 0;cursor:pointer;text-decoration:underline;text-underline-offset:4px}
.classroom-app .correction-input{width:100%;min-height:48px;padding:12px 14px;background:#fbf8ff;border:1.5px solid #decdef;border-radius:10px;color:#4e3863;font-size:16px}
.original-sentence{padding-left:12px;border-left:3px solid #daccE9}
.interaction-hint{font-size:12px;line-height:1.7;color:#8c749e;margin:0 30px 10px}
.classroom-app .task-row.correct .answer-number{color:#278053;background:#e4f9ed}.classroom-app .task-row.incorrect .answer-number{color:#b15366;background:#ffedf1}
.classroom-app .task-row.correct :is(.inline-gap,.match-slot,.sentence-tray,.correction-input){border-color:#57b983;background:#f2fff7}
.classroom-app .task-row.incorrect :is(.inline-gap,.match-slot,.sentence-tray,.correction-input){border-color:#dc7a90;background:#fff9fa}
.classroom-app .task-row.correct .choice-option[aria-pressed=true]{background:#e5f7ec;color:#276445;border-color:#63ba87}.classroom-app .task-row.incorrect .choice-option[aria-pressed=true]{background:#fff0f3;color:#a4465a;border-color:#dc7a90}
.classroom-app .answer-message{display:block;font-size:12px;line-height:1.5;margin-top:8px;min-height:0}.answer-message:empty{display:none}
.classroom-app .exercise-actions{justify-content:flex-start;flex-wrap:wrap;border-top:1px solid #f0e9f6;margin-top:10px;padding-top:22px}
.classroom-app .exercise-actions .button{min-height:44px;min-width:auto;border-radius:12px}.classroom-app .exercise-result{border-radius:12px}
.classroom-app .drag-over{border-color:#50cb8b!important;background:#eafbef!important}
.listening-tools{padding:18px;background:#f4eaff;border:1px solid #e1cff7;border-radius:14px;margin:0 0 20px;display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.listening-tools small{width:100%;color:#816298;line-height:1.6}.listening-tools button,.listening-tools select{width:auto;font-size:13px;min-height:42px;border:1px solid #d9c3ee;background:#fff;border-radius:9px;padding:9px 13px;color:#6b3c97;cursor:pointer}
.classroom-app .notes-field{margin:6px 30px 24px;padding:18px;border:1px solid #e3d4f1;border-radius:14px;background:#fcfaff}.notes-field label{color:#624477;font-size:14px}.notes-field textarea{margin-top:9px}.notes-field small{font-size:12px;line-height:1.6;color:#8d769e}
@media(max-width:600px){.classroom-app .task-row{grid-template-columns:26px minmax(0,1fr);gap:9px;padding:16px 0}.classroom-app .answer-number{width:25px;font-size:10px;line-height:27px}.choice-options{display:grid;grid-template-columns:1fr}.choice-option{width:100%;padding:10px 12px;font-size:14px}.classroom-app .gap-sentence{font-size:15px;line-height:3}.classroom-app .inline-gap{width:110px;font-size:15px}.classroom-app .matching-bank{grid-template-columns:1fr;margin:0 18px 18px}.classroom-app .matching-bank .word-tile{min-height:48px}.interaction-hint{margin:0 18px 10px}.word-tile{font-size:13px;padding:9px 11px}.classroom-app .match-slot{min-width:0;width:100%;font-size:14px}.classroom-app .answer-question{font-size:15px}.classroom-app .notes-field{margin:6px 18px 20px}.classroom-app .exercise-actions{gap:9px}.classroom-app .exercise-actions .button{font-size:12px;padding:10px 13px}.sentence-tray{padding:10px;gap:7px}}
@media(prefers-reduced-motion:reduce){.word-tile,.choice-option{transition:none}}
