/* Both learning tracks: controls above the tracker on the left; game on the right.
   Presentation-only wrappers use display:contents so existing live nodes stay mounted. */
body .shell.app-shell.is-playing.lesson-workspace{max-width:none;width:100%;margin:0;padding:20px 24px}
.app-shell.is-playing.lesson-workspace .main{display:grid;grid-template-columns:clamp(220px,22vw,280px) minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);grid-template-areas:"tools question" "progress question";gap:14px 22px;align-items:start;padding:0;min-width:0}
.app-shell.is-playing.lesson-workspace .content,
.app-shell.is-playing.lesson-workspace .lesson-v3,
.app-shell.is-playing.is-vocab-session .vocab-arena{display:contents}
.app-shell.is-playing.lesson-workspace .topbar.app-header{grid-area:tools;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:13px 8px;align-items:center;width:100%;max-width:none;min-height:0;margin:0;padding:13px 12px;border-radius:16px}
.app-shell.is-playing.lesson-workspace .header-leading,
.app-shell.is-playing.lesson-workspace .session-header,
.app-shell.is-playing.lesson-workspace .header-actions{display:contents}
.app-shell.is-playing.lesson-workspace .glass-back{grid-column:1;grid-row:1;justify-self:start;display:inline-flex;align-items:center;gap:5px;min-width:0;max-width:100%;min-height:34px;padding:7px 8px;font-size:10px;line-height:1.35}
.app-shell.is-playing.lesson-workspace .glass-back .ui-icon{width:14px;height:14px;flex:none}
.app-shell.is-playing.lesson-workspace .glass-back>span{min-width:0;white-space:normal}
.app-shell.is-playing.lesson-workspace .game-header-count{grid-column:1;grid-row:2;justify-self:start;font-size:12px;line-height:1.4;padding-left:5px;font-variant-numeric:tabular-nums}
.app-shell.is-playing.lesson-workspace .session-clock{grid-column:2;grid-row:2;justify-self:end;display:inline-flex;align-items:center;gap:5px;min-height:29px;padding:5px 7px;white-space:nowrap}
.app-shell.is-playing.lesson-workspace .session-clock .ui-icon{display:block;width:14px;height:14px}
.app-shell.is-playing.lesson-workspace .session-clock b{font-size:12px}
.app-shell.is-playing.lesson-workspace .xp-balance{grid-column:2;grid-row:1;justify-self:end;display:inline-flex;align-items:center;gap:4px;min-height:34px;padding:4px 6px;border-radius:10px}
.app-shell.is-playing.lesson-workspace .xp-balance .reward-art{width:22px;height:22px;flex:none}
.app-shell.is-playing.lesson-workspace .xp-balance b{font-size:12px}
.app-shell.is-playing.lesson-workspace .xp-balance>span{display:none}
.app-shell.is-playing.lesson-workspace .mini-scoreboard.mini-tracker{grid-area:progress;align-self:start;width:100%;margin:0}
.app-shell.is-playing.lesson-workspace .verified-question{grid-area:question;align-self:stretch;width:100%;max-width:none;min-width:0;min-height:calc(100dvh - 40px);margin:0}
@media(max-width:1000px) and (min-width:681px){
 body .shell.app-shell.is-playing.lesson-workspace{padding:16px}
 .app-shell.is-playing.lesson-workspace .main{grid-template-columns:220px minmax(0,1fr);gap:12px 16px}
 .app-shell.is-playing.lesson-workspace .topbar.app-header{padding:12px 10px;gap:11px 7px}
 .app-shell.is-playing.lesson-workspace .glass-back{font-size:9px;padding:7px}
 .app-shell.is-playing.lesson-workspace .xp-balance b{font-size:11px}
 .app-shell.is-playing.lesson-workspace .verified-question{min-height:calc(100dvh - 32px)}
}
@media(max-width:680px){
 body .shell.app-shell.is-playing.lesson-workspace{padding:10px 12px}
 .app-shell.is-playing.lesson-workspace .main{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto;grid-template-areas:"tools" "progress" "question";gap:10px}
 .app-shell.is-playing.lesson-workspace .topbar.app-header{grid-template-columns:auto auto auto minmax(0,1fr);gap:6px;padding:8px;border-radius:13px}
 .app-shell.is-playing.lesson-workspace .glass-back{grid-column:1;grid-row:1;font-size:9px;min-height:31px;padding:6px;gap:4px}
 .app-shell.is-playing.lesson-workspace .glass-back .ui-icon{width:12px;height:12px}
 .app-shell.is-playing.lesson-workspace .glass-back>span{white-space:nowrap}
 .app-shell.is-playing.lesson-workspace .game-header-count{grid-column:2;grid-row:1;font-size:10px;padding:0}
 .app-shell.is-playing.lesson-workspace .session-clock{grid-column:3;grid-row:1;padding:4px 5px;gap:4px;min-height:29px}
 .app-shell.is-playing.lesson-workspace .session-clock .ui-icon{width:12px;height:12px}
 .app-shell.is-playing.lesson-workspace .session-clock b{font-size:10px}
 .app-shell.is-playing.lesson-workspace .xp-balance{grid-column:4;grid-row:1;gap:3px;min-height:31px;padding:4px 5px}
 .app-shell.is-playing.lesson-workspace .xp-balance .reward-art{width:19px;height:19px}
 .app-shell.is-playing.lesson-workspace .xp-balance b{font-size:10px}
 .app-shell.is-playing.lesson-workspace .verified-question{min-height:0}
}
@media(max-width:360px){
 body .shell.app-shell.is-playing.lesson-workspace{padding:9px}
 .app-shell.is-playing.lesson-workspace .topbar.app-header{gap:5px;padding:7px}
 .app-shell.is-playing.lesson-workspace .glass-back{font-size:8px}
 .app-shell.is-playing.lesson-workspace .xp-balance b{font-size:9px}
 .app-shell.is-playing.lesson-workspace .session-clock{gap:3px;padding:4px}
}

/* Vocab uses the same workspace for every meaning, spelling and review level. */
.app-shell.is-playing.is-vocab-session .vocab-mini-tracker{grid-area:progress;align-self:start;min-width:0;width:100%;margin:0;padding:23px 20px;border:1px solid #9bb5b540;border-radius:22px;background:linear-gradient(145deg,#233b43,#172831);box-shadow:inset 0 1px #ffffff08,0 12px 30px #0002;color:#c4d3d6}
.vocab-tracker-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}
.vocab-tracker-heading>span{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700}
.vocab-tracker-heading .ui-icon{width:17px;height:17px;color:#ddc38c;flex:none}
.vocab-tracker-heading>small{font-size:9px;white-space:nowrap;color:#98b0ba}
.vocab-tracker-lesson{display:grid;gap:5px;margin-top:17px;line-height:1.5}
.vocab-tracker-lesson>b{font-size:13px;color:#e6d7b5}
.vocab-tracker-lesson>span{font-size:10px;color:#97b0ba}
.vocab-progress-goal{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:23px 0 15px}
.vocab-progress-goal>div{display:flex;align-items:baseline;gap:7px;font-variant-numeric:tabular-nums}
.vocab-progress-goal strong{font-size:49px;line-height:1;letter-spacing:-2px;color:#f1e2ba}
.vocab-progress-goal>div>span{font-size:22px;color:#88a4ad;white-space:nowrap}
.vocab-progress-goal>span{max-width:62px;font-size:11px;line-height:1.5;color:#b6c8ca}
.vocab-progress-segments{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:5px;margin-bottom:22px}
.vocab-progress-segments>i{height:6px;border-radius:5px;background:#354c57}
.vocab-progress-segments>i.filled{background:#d2bb80}
.vocab-mini-tracker .vocab-live-score{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.vocab-mini-tracker .vocab-live-score>span{min-width:0;gap:5px;padding:10px 8px;font-size:10px;white-space:nowrap}
.vocab-mini-tracker .vocab-live-score b{font-size:18px;margin-left:auto}
.vocab-mini-tracker .vocab-live-score .ui-icon{width:12px;height:12px;flex:none}
.vocab-progress-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-top:20px;padding-top:15px;border-top:1px solid #ffffff12;font-size:10px;color:#a6bcc2}
.vocab-progress-footer b{color:#e2e6dd;margin-left:5px}
.vocab-progress-footer>small{font-size:9px;color:#dcc48c}
.app-shell.is-playing.is-vocab-session .vocab-board{grid-area:question;align-self:stretch;display:flex;flex-direction:column;gap:0;width:100%;min-width:0;min-height:calc(100dvh - 40px);border:1px solid #b9c4bf27;border-radius:23px;background:linear-gradient(145deg,#20323d,#162832);box-shadow:0 17px 40px #0002,inset 0 1px #ffffff05}
.app-shell.is-playing.is-vocab-session .vocab-question-card{flex:1;padding:clamp(22px,2.6vw,40px);border:0;box-shadow:none;background:none;backdrop-filter:none;border-radius:23px 23px 0 0}
.app-shell.is-playing.is-vocab-session .vocab-question-card>h2{margin-top:20px}
.app-shell.is-playing.is-vocab-session .vocab-main-word{min-height:160px;padding:25px 0}
.app-shell.is-playing.is-vocab-session .vocab-feedback-panel{border:0;border-top:1px solid #b9c4bf20;box-shadow:none;backdrop-filter:none;min-height:0;padding:22px clamp(22px,2.6vw,40px);border-radius:0 0 23px 23px}
.app-shell.is-playing.is-vocab-session .vocab-feedback-idle{grid-template-columns:auto minmax(0,1fr);gap:3px 12px;justify-items:start;text-align:left;padding:0}
.app-shell.is-playing.is-vocab-session .vocab-feedback-idle>span{grid-row:1/3;width:38px;height:40px;margin:0;transform:none;border-radius:10px}
.app-shell.is-playing.is-vocab-session .vocab-feedback-idle .ui-icon{width:20px;height:20px}
.app-shell.is-playing.is-vocab-session .vocab-feedback-idle h3{font-size:13px;align-self:end}
.app-shell.is-playing.is-vocab-session .vocab-feedback-idle p{font-size:11px;margin:0}
.app-shell.is-playing.is-vocab-session .vocab-answer-status{margin-bottom:14px}
.app-shell.is-playing.is-vocab-session .vocab-answer-status>span{display:flex;align-items:center;gap:3px}
.app-shell.is-playing.is-vocab-session .vocab-answer-status .reward-art{width:23px;height:23px}
.app-shell.is-playing.is-vocab-session .vocab-meaning-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-bottom:18px}
.app-shell.is-playing.is-vocab-session .vocab-meaning:only-child{grid-column:1/-1}
.app-shell.is-playing.is-vocab-session .vocab-meaning h3{font-size:23px;margin:5px 0 7px}
.app-shell.is-playing.is-vocab-session .vocab-meaning p{font-size:13px;line-height:1.65;overflow-wrap:anywhere}
.app-shell.is-playing.is-vocab-session .vocab-meaning.your-choice{padding-bottom:0;border-bottom:0}
.app-shell.is-playing.is-vocab-session .vocab-next-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:14px}
.app-shell.is-playing.is-vocab-session .vocab-timer{margin:0}
.app-shell.is-playing.is-vocab-session .vocab-next-controls>.btn{width:auto;flex:none;padding:10px 17px}
@media(min-width:1101px){
 .app-shell.is-playing.is-vocab-session .vocab-options{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:1000px) and (min-width:681px){
 .app-shell.is-playing.is-vocab-session .vocab-mini-tracker{padding:20px 14px}
 .vocab-tracker-heading>span{font-size:11px;gap:6px}
 .vocab-mini-tracker .vocab-live-score>span{font-size:9px;padding:9px 6px;gap:3px}
 .vocab-mini-tracker .vocab-live-score b{font-size:15px}
 .app-shell.is-playing.is-vocab-session .vocab-board{min-height:calc(100dvh - 32px)}
 .app-shell.is-playing.is-vocab-session .vocab-meaning-list{grid-template-columns:minmax(0,1fr);gap:16px}
}
@media(max-width:680px){
 .app-shell.is-playing.is-vocab-session .vocab-mini-tracker{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px 16px;padding:14px 16px;border-radius:17px}
 .vocab-tracker-heading{grid-column:1/-1}
 .vocab-tracker-lesson{grid-column:1/-1;display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:0}
 .vocab-tracker-lesson>b{font-size:11px}.vocab-tracker-lesson>span{font-size:9px}
 .vocab-progress-goal{grid-column:1;grid-row:3/5;margin:0;display:block}
 .vocab-progress-goal strong{font-size:36px}.vocab-progress-goal>div>span{font-size:17px}
 .vocab-progress-goal>span{display:block;font-size:9px;max-width:none;margin-top:4px}
 .vocab-progress-segments{grid-column:2;align-self:end;margin:0;gap:4px}
 .vocab-progress-segments>i{height:5px}
 .vocab-mini-tracker .vocab-live-score{grid-column:2;gap:7px}
 .vocab-mini-tracker .vocab-live-score>span{padding:6px;font-size:9px;min-height:30px}
 .vocab-mini-tracker .vocab-live-score b{font-size:14px}
 .vocab-progress-footer{grid-column:1/-1;margin:0;padding-top:9px;font-size:9px}
 .vocab-progress-footer>small{font-size:9px}
 .app-shell.is-playing.is-vocab-session .vocab-board{min-height:0;border-radius:18px}
 .app-shell.is-playing.is-vocab-session .vocab-question-card{padding:20px 17px;border-radius:18px 18px 0 0}
 .app-shell.is-playing.is-vocab-session .vocab-main-word{min-height:116px;padding:20px 0}
 .app-shell.is-playing.is-vocab-session .vocab-feedback-panel{padding:18px 17px;border-radius:0 0 18px 18px}
 .app-shell.is-playing.is-vocab-session .vocab-meaning-list{grid-template-columns:minmax(0,1fr);gap:15px}
 .app-shell.is-playing.is-vocab-session .vocab-meaning h3{font-size:21px}
 .app-shell.is-playing.is-vocab-session .vocab-meaning p{font-size:12px}
 .app-shell.is-playing.is-vocab-session .vocab-answer-status>strong{font-size:15px}
 .app-shell.is-playing.is-vocab-session .vocab-timer{font-size:10px}
 .app-shell.is-playing.is-vocab-session .vocab-next-controls>.btn{min-height:39px;font-size:10px;padding:9px 12px}
}
@media(max-width:360px){
 .app-shell.is-playing.is-vocab-session .vocab-mini-tracker{padding:12px;gap:9px 12px}
 .vocab-mini-tracker .vocab-live-score>span{font-size:8px;gap:3px}
 .vocab-mini-tracker .vocab-live-score b{font-size:12px}
}

/* Optional teaching support is stable and stays inside the question canvas. */
.verified-question .lesson-study{margin:0 0 17px;border:1px solid #b5c4ca66;border-radius:12px;background:#eef3f33d;font-size:12px;color:#47626c}
.lesson-study>summary{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:11px 13px;cursor:pointer;list-style:none;font-weight:650}
.lesson-study>summary::-webkit-details-marker{display:none}
.lesson-study>summary .ui-icon{width:16px;height:16px;flex:none}
.lesson-study>summary>span{margin-left:auto;font-size:10px;color:#6b7d84;font-weight:500}
.lesson-study>div{padding:0 14px 13px;line-height:1.65}
.lesson-study p{margin:0;font-size:12px;color:#47626c}
.lesson-study blockquote{margin:9px 0 0;padding-left:12px;border-left:2px solid #9aab88;font-size:12px;color:#233e49}
@media(max-width:680px){.verified-question .lesson-study{margin-bottom:12px}.lesson-study>summary{padding:10px;font-size:10px;gap:6px}.lesson-study>summary>span{font-size:9px;max-width:60%;text-align:right}.lesson-study>div{padding:0 11px 11px}}
