/* Tutor materials and practice share the arcade's paper, ink and warm accents. */
.lesson-page{max-width:1120px;margin:0 auto;padding:36px 30px 80px;--lesson-ink:#272747;--lesson-paper:#fffdf5;--lesson-muted:#62616e;color:var(--lesson-ink)}
.lesson-page .lesson-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:28px;margin:0 0 32px}.lesson-heading>div{max-width:800px}.lesson-page h1{font-size:clamp(1.8rem,3vw,2.7rem);line-height:1.25;margin:12px 0}.lesson-page h2{font-size:1.35rem;line-height:1.5}.lesson-page h3{font-size:1.08rem;line-height:1.5}.lesson-page p{line-height:1.65}.lesson-page .lesson-eyebrow{font-size:.72rem;letter-spacing:.11em;font-weight:750;margin:16px 0 10px}.lesson-heading .btn{white-space:nowrap;margin-top:30px}.lesson-back{font-size:.88rem}.lesson-page a{color:inherit;text-underline-offset:4px}.lesson-text-link{font-weight:600}.lesson-heading>.lesson-text-link{margin-top:30px;font-size:.85rem}.lesson-paper{background:var(--lesson-paper);color:var(--lesson-ink);border:1px solid #d8d3c4;border-radius:18px;padding:30px;margin:20px 0;box-shadow:0 4px 0 #2929420c}.lesson-page .btn{border-radius:10px;padding:12px 20px;font-weight:650;font-size:.94rem}.lesson-page .btn-primary{background:#eceb86;border:1px solid #b9b868;color:#252538;box-shadow:0 3px 0 #8d8e5425}.lesson-page .btn-primary:hover{background:#e5e56f}.lesson-page .btn-outline-secondary{color:#37364d;border-color:#aaa798;background:transparent}.lesson-page .form-control,.lesson-page .form-select{background:#fffefb;color:#29283e;border:1px solid #b9b6a7;border-radius:9px;padding:12px}.lesson-page input[type=file]{font-size:.87rem;max-width:100%}.lesson-page textarea{resize:vertical;line-height:1.8;font-size:1.1rem}.lesson-page label{display:block;font-weight:600;margin:18px 0 8px}.lesson-page summary{cursor:pointer;font-weight:650;line-height:1.6}.lesson-page details[open]>summary{margin-bottom:20px}.lesson-page :focus-visible{outline:3px solid #7461bf;outline-offset:4px}.lesson-resume{display:grid;grid-template-columns:1fr 210px;gap:40px;padding:36px}.lesson-resume aside{border-radius:50% 50% 40% 40%;background:#eee2ff;text-align:center;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:25px;transform:rotate(3deg)}.lesson-resume aside span{font-size:4rem;font-weight:700;font-family:Georgia,serif}.lesson-resume aside p{font-size:.82rem;margin:12px 0}.lesson-resume .lesson-eyebrow{margin-top:0}.lesson-library{margin:35px 0}.lesson-library summary{display:flex;gap:12px;align-items:center}.lesson-library summary span{background:#eee2ff;padding:1px 10px;border-radius:20px;font-size:.8rem}.lesson-library-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.lesson-library-grid>a{display:flex;flex-direction:column;gap:10px;padding:23px;background:#fffdf5;border:1px solid #d8d3c4;border-radius:12px;text-decoration:none;color:#272747}.lesson-library-grid strong{font-size:1.05rem}.lesson-library-grid small{color:#62616e}.lesson-library-grid span{font-size:.88rem;font-weight:650}.lesson-upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.lesson-upload form>details{margin:24px 0}.lesson-upload form>.btn{margin-top:24px}.lesson-tabs{display:flex;border-bottom:1px solid #aaa69c;gap:28px;margin:32px 0 24px}.lesson-tabs a{padding:12px 2px;text-decoration:none;font-weight:650;border-bottom:3px solid transparent}.lesson-tabs a[aria-current]{border-color:#7760aa}.lesson-introduction{font-size:1.15rem;max-width:72ch}.lesson-goals{list-style:none;padding:0;margin:26px 0;display:grid;gap:16px}.lesson-goals li{display:flex;align-items:flex-start;gap:16px}.lesson-goals li>span{border-radius:50%;background:#eee2ff;min-width:36px;height:36px;text-align:center;padding-top:5px;font-weight:700}.lesson-goals p{margin:3px 0}.lesson-preparation{background:#f2f0e4;border-radius:12px;padding:22px;margin:26px 0}.lesson-preparation p{margin:0;white-space:pre-line}.lesson-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin-top:22px}.lesson-vocabulary{display:grid;grid-template-columns:1fr 1fr;gap:22px}.lesson-vocabulary article{border-top:1px solid #ddd8c7;padding-top:18px}.lesson-vocabulary p{font-size:.93rem}.lesson-vocabulary small{color:#62616e}.lesson-exercise{max-width:860px;margin:24px auto;padding:34px 40px}.lesson-exercise-top{display:flex;justify-content:space-between;align-items:center;font-size:.8rem}.lesson-exercise-top .lesson-eyebrow{margin:0}.lesson-objective{font-size:.82rem;color:#62616e;margin:16px 0 28px}.lesson-exercise h2{font-size:1.2rem}.lesson-prompt{background:#f2eefb;border-left:4px solid #c9b9ed;padding:22px 24px;font-size:1.35rem;white-space:pre-line;border-radius:0 12px 12px 0;margin:24px 0}.lesson-hint{font-size:.9rem;margin:20px 0}.lesson-feedback{background:#eef3de;border:1px solid #cbd7a8;padding:24px;border-radius:12px;margin:25px 0}.lesson-feedback del{color:#934746}.lesson-feedback p{white-space:pre-line}.lesson-next{display:flex;justify-content:flex-end;margin:26px 0}.lesson-sources,.lesson-history{margin-top:28px}.lesson-sources blockquote{border-left:3px solid #ddd8c7;padding-left:18px;margin-top:18px;white-space:pre-line}.lesson-history article{border-top:1px solid #d8d3c4;padding:18px 0}.lesson-history article p{white-space:pre-wrap}.lesson-task-nav{display:flex;justify-content:center;gap:9px;margin:25px 0 38px;flex-wrap:wrap}.lesson-task-nav a{border:1px solid #aca89e;border-radius:10px;min-width:48px;padding:12px;text-align:center;text-decoration:none}.lesson-task-nav a[aria-current]{background:#eee2ff;color:#272747;border-color:#9480b9}.lesson-reader{padding:18px}.lesson-reader-controls,.lesson-reader-controls form{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.lesson-reader-controls{justify-content:space-between;margin:0 0 20px}.lesson-reader-controls label{margin:0}.lesson-reader-controls select{width:auto}.lesson-page-image{display:block;width:100%;height:auto;background:white;border:1px solid #e2ded1;border-radius:6px}.lesson-reader-bottom{display:flex;justify-content:space-between;gap:20px;margin:24px 6px 5px;font-size:.9rem}.lesson-processing progress{width:100%;height:14px;accent-color:#8b76ba}.lesson-version-note{font-size:.86rem;padding:14px 18px;border-left:3px solid #c0abd9}.lesson-complete{background:#edf3dd}.lesson-materials p{overflow-wrap:anywhere}.lesson-page [data-draft-status],.lesson-page [data-check-status]{font-size:.84rem}.lesson-page [aria-busy=true]{opacity:.8}
.arcade-workspace .lesson-page>.lesson-heading,.arcade-workspace .lesson-page>#lesson-content>.lesson-heading,.arcade-workspace .lesson-tabs,.arcade-workspace .lesson-library>summary,.arcade-workspace .lesson-task-nav,.arcade-workspace .lesson-version-note{color:var(--text-primary,#f7f4e8)}
@media(max-width:750px){.lesson-page{padding:25px 16px 60px}.lesson-page .lesson-heading{flex-direction:column;gap:8px}.lesson-heading .btn,.lesson-heading>.lesson-text-link{margin-top:0}.lesson-paper{padding:23px 20px}.lesson-resume{grid-template-columns:1fr}.lesson-resume aside{display:none}.lesson-library-grid,.lesson-upload-grid,.lesson-vocabulary{grid-template-columns:1fr}.lesson-tabs{gap:20px;font-size:.92rem}.lesson-exercise{padding:25px 20px}.lesson-prompt{padding:18px;font-size:1.2rem}.lesson-reader{padding:10px}.lesson-reader-controls{gap:20px}.lesson-reader-controls .btn{padding:10px 12px}.lesson-page .lesson-actions{gap:12px}.lesson-task-nav a{min-width:40px}}

.lesson-page-reading{margin:20px 10px}.lesson-page-reading p{white-space:pre-wrap;font-size:.9rem}
.arcade-workspace .lesson-paper h1,.arcade-workspace .lesson-paper h2,.arcade-workspace .lesson-paper h3,.arcade-workspace .lesson-paper summary{color:#272747}.lesson-heading>div{flex:1;min-width:0}.lesson-heading>.lesson-text-link{flex:0 0 auto;max-width:180px}
/* Lesson-derived cards share the lesson layout and native collection. */
.lesson-card-settings { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem; margin:1.75rem 0 1rem; max-width:38rem; }
.lesson-card-settings label { display:grid; gap:.5rem; font-weight:600; }
.lesson-card-note { color:var(--text-muted,#666); max-width:42rem; font-size:.92rem; }
.lesson-card-library-heading { display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap; }
.lesson-card-history { list-style:none; padding:0; margin:1rem 0 0; }
.lesson-card-history li { display:flex; justify-content:space-between; flex-wrap:wrap; gap:.75rem; padding:1rem 0; border-top:1px solid #ddd7cb; }
@media(max-width:480px) { .lesson-card-settings { gap:.6rem; } }
/* Exact OCR boxes scale with the unchanged source page. */
.lesson-word-workspace { display:grid; grid-template-columns:minmax(0,1fr) 260px; gap:1.5rem; align-items:start; margin-top:1.5rem; }
.lesson-word-controls { display:flex; flex-wrap:wrap; align-items:center; gap:.65rem; }
.lesson-word-controls .form-select { width:auto; }
.lesson-pending-shortcut { display:none; }
.lesson-word-scroll { overflow:auto; border:1px solid #ddd7cb; border-radius:.5rem; background:#fff; }
.lesson-word-sheet { position:relative; width:100%; }
.lesson-word-sheet.is-enlarged { width:180%; }
.lesson-word-sheet img { display:block; width:100%; height:auto; max-width:none; user-select:none; }
.lesson-word-layer { position:absolute; inset:0; }
.lesson-ocr-word { position:absolute; color:transparent; background:transparent; border:0; border-radius:2px; padding:0; margin:0; min-width:0; min-height:0; font-size:1px; overflow:hidden; cursor:pointer; }
.lesson-ocr-word:hover,.lesson-ocr-word:focus-visible { outline:2px solid #238579; background:rgba(83,194,166,.25); }
.lesson-ocr-word.is-selected { background:rgba(249,194,50,.4); box-shadow:inset 0 -2px #ad7400; }
.lesson-ocr-word:disabled { opacity:1; cursor:default; }
.lesson-pending { background:#faf6ed; padding:1.2rem; border-radius:.8rem; border:1px solid #e8dfce; }
.lesson-pending h3 { display:flex; align-items:center; justify-content:space-between; gap:1rem; font-size:1.1rem; }
.lesson-pending h3 span { background:#fff; border-radius:2rem; min-width:1.75rem; padding:.2rem .5rem; text-align:center; }
.lesson-pending-word { border-top:1px solid #e4dac7; padding:.8rem 0; overflow-wrap:anywhere; }
.lesson-pending-word-heading { display:flex; align-items:center; justify-content:space-between; }
.lesson-pending-word small { color:#756b5c; }
.lesson-pending-word details { font-size:.85rem; margin-top:.5rem; }
.lesson-pending-word details label { display:block; }
.lesson-pending-word details button { margin-top:.5rem; }
.lesson-remove-word { border:0; background:transparent; font-size:1.4rem; line-height:1; padding:.5rem; color:#756b5c; }
.lesson-pending [data-create-selected] { width:100%; }
.lesson-word-crop { display:block; width:auto; max-width:100%; max-height:150px; min-height:44px; object-fit:contain; margin:.8rem 0 1rem; border:1px solid #e4dac7; border-radius:6px; background:white; }
.lesson-reading-dialog { width:min(480px,calc(100% - 2rem)); max-height:calc(100dvh - 3rem); overflow:auto; border:1px solid #ded5c3; border-radius:18px; background:#fffdf5; color:#272747; padding:1.75rem; box-shadow:0 18px 70px #15152955; }
.lesson-reading-dialog::backdrop { background:#16162e99; }
.lesson-reading-dialog h3 { font-size:1.3rem; margin:0 0 1rem; }
.lesson-reading-dialog label { display:grid; gap:.5rem; }
.lesson-reading-dialog input { background:white; color:#272747; font-size:1.3rem; }
.lesson-reading-dialog .lesson-word-crop { margin:auto auto 1rem; width:auto; max-height:120px; }
.lesson-reading-actions,.lesson-reading-suggestions { display:flex; gap:.6rem; flex-wrap:wrap; }
.lesson-reading-suggestions { margin:1rem 0 1.3rem; }
.lesson-reading-suggestions p { flex-basis:100%; margin:0; }
.lesson-reading-suggestions button { font-size:1.1rem; }
.lesson-area-actions { background:#f2ecdc; border-radius:8px; padding:1rem; margin:1rem 0; }
.lesson-area-actions[hidden],.lesson-area-box[hidden] { display:none; }
.lesson-word-sheet.is-selecting-area { touch-action:none; cursor:crosshair; user-select:none; }
.is-selecting-area .lesson-word-layer { pointer-events:none; }
.lesson-area-box { position:absolute; border:2px solid #237f75; background:#4bb9a622; pointer-events:none; }
.lesson-area-box [data-corner] { position:absolute; width:24px; height:24px; border:3px solid white; border-radius:50%; background:#237f75; pointer-events:auto; touch-action:none; box-shadow:0 0 0 1px #237f75; }
.lesson-area-box [data-corner]:focus-visible { outline:3px solid #b37616; outline-offset:3px; }
.lesson-area-box [data-corner=nw] { left:-13px; top:-13px; cursor:nwse-resize; }
.lesson-area-box [data-corner=ne] { right:-13px; top:-13px; cursor:nesw-resize; }
.lesson-area-box [data-corner=sw] { left:-13px; bottom:-13px; cursor:nesw-resize; }
.lesson-area-box [data-corner=se] { right:-13px; bottom:-13px; cursor:nwse-resize; }
@media(max-width:1100px) { .lesson-word-workspace { grid-template-columns:minmax(0,1fr); } .lesson-pending-shortcut { display:inline; } .lesson-pending [data-pending-list] { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:0 1rem; } }
