/* Shared question interface, preserving the original dark palette and math type. */
@media screen{
html #app :is(.choices .choice,.mq-match button,.idea-choices button,.em-choices button,.sat-opt,.eg-opt,.rt-choice,.ml-role-choices button,.vp-options button[data-vp-option]){text-align:left;justify-content:flex-start;min-height:56px;max-width:100%;min-width:0;padding:14px 18px;border:1px solid #6f85a0!important;border-radius:12px;background:var(--surface-raised)!important;color:var(--ink)!important;font-weight:500;box-shadow:none!important;filter:none;opacity:1;line-height:1.5;transition:background-color .15s,border-color .15s}
html #app :is(.choices .choice,.mq-match button,.idea-choices button,.em-choices button,.sat-opt,.eg-opt,.rt-choice,.ml-role-choices button,.vp-options button[data-vp-option]):not(:disabled):not(:is(.correct,.wrong,.selected,.sel,.rt-picked,.ok,.no,.em-correct,.em-incorrect,.vp-selected,.vp-correct,.vp-incorrect,[aria-pressed=true])):hover{background:#263d58!important;border-color:var(--green)!important}
html #app :is(.choices .choice,.mq-match button,.idea-choices button,.em-choices button,.sat-opt,.eg-opt,.rt-choice,.ml-role-choices button,.vp-options button[data-vp-option]):focus-visible{outline:3px solid var(--lime);outline-offset:3px}
html #app :is(.mq-match button.selected,.idea-choices button.selected,.sat-opt.sel,.rt-choice.rt-picked,.ml-role-choices button[aria-pressed=true],.vp-options button.vp-selected){background:#244b5b!important;border-color:var(--green)!important}
html #app :is(.choice.correct,.idea-choices button.correct,.em-choices button.em-correct,.eg-opt.ok,.vp-options button.vp-correct){background:#143f35!important;border-color:#5fd3b2!important;color:#eefbf5!important}
html #app :is(.choice.wrong,.idea-choices button.wrong,.em-choices button.em-incorrect,.eg-opt.no,.vp-options button.vp-incorrect){background:#472732!important;border-color:#f69baa!important;color:#fff0f3!important}
html #app .sat-opt.out{opacity:.55}
html #app .mq-match button:disabled{background:#143f35!important;border-color:#5fd3b2!important;color:#eefbf5!important}
html #app :is(.eg-opt,.sat-opt,.rt-choice)>:last-child{min-width:0;white-space:normal}
html #app :is(.choices,.idea-choices,.em-choices,.sat-opts,.eg-opts,.rt-choices,.ml-role-choices,.vp-options){gap:12px;min-width:0}
html #app :is(.panel,.sat-q,.sat-panel,.em-panel,.ml-role-panel,.idea-columns>*,.lesson-grid>*){min-width:0}
html #app :is(.question,.sat-stem,.em-question,.ml-role-question,.vp-question>.math){max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;padding-block:4px;line-height:1.65}
/* Diagram sizing must not override KaTeX's 400em radical/stretchy SVG viewport. */
html #app :is(.question,.sat-stem,.em-question,.ml-role-question,.vp-question) svg:not(.katex svg){max-width:100%;height:auto}
html #app :is(.feedback,.idea-feedback,#mq-feedback,[data-vp-feedback]){line-height:1.65;overflow-wrap:break-word}
html #app :is(.qdot,.sat-num,.ml-role-numbers button){min-height:44px;min-width:44px}
html #app :is(.gamehead,.freshbar,.practicebar,.mq-actions,.eg-actions,.em-actions,.ml-role-actions){flex-wrap:wrap;gap:12px}
html #app .freshbar>span{flex:1;min-width:180px}
html #app :is(.lesson-grid,.idea-columns) p{line-height:1.7}
html #app .tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
html #app .tabs a{display:flex;align-items:center;justify-content:center;min-height:46px;padding:10px 8px;text-align:center;line-height:1.3;font-size:1rem}
html #app .ml-lesson-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:.9rem;line-height:1.5;color:var(--muted)}
html #app .ml-lesson-crumbs a{color:var(--green);text-decoration:none;min-height:40px;display:inline-flex;align-items:center}
html #app .ml-lesson-crumbs a:hover{text-decoration:underline}
.ml-account-dialog,.ml-search-box,.ml-role-dialog{max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain}
header .ml-account-link,header .ml-search-btn,header .home-link,header .ml-about-link{min-height:44px!important;align-items:center;font-size:14px!important}
@media(min-width:761px) and (max-width:1100px){header #mq-mini{max-width:110px;overflow:hidden;text-overflow:ellipsis;font-size:13px;display:block;line-height:28px}header .brand{font-size:18px}header .ml-account-link{font-size:14px}}
@media(min-width:761px) and (max-width:900px){header #mq-mini{max-width:86px}}
@media(max-width:760px){
header{grid-template-columns:1fr 1fr .8fr 1.7fr!important;gap:8px 4px!important;padding:12px!important}
header :is(.home-link,.ml-about-link,.ml-search-btn){font-size:14px!important}
header .ml-account-link{font-size:14px!important;line-height:1.25;white-space:normal!important;text-align:center;padding:6px!important;justify-content:center}
header .ml-search-btn{font-size:14px!important;padding:0 6px!important;justify-content:flex-start}
html #app :is(.choices,.idea-choices,.em-choices,.eg-opts,.ml-role-choices){grid-template-columns:1fr}
html #app .tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
html #app .tabs a{font-size:.95rem}
html #app :is(.choices .choice,.mq-match button,.idea-choices button,.em-choices button,.sat-opt,.eg-opt,.rt-choice,.ml-role-choices button,.vp-options button[data-vp-option]){padding:12px 14px}
html #app .freshbar>span{min-width:0;flex-basis:100%}
html #app :is(.mq-welcome,.ml-role-grid.two){min-width:0}
.ml-account-dialog,.ml-search-box,.ml-role-dialog{max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px)}
}
@media(max-width:420px){header .ml-search-btn svg{display:none}header .brand{white-space:normal}header .brand .teacher{font-size:16px!important}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
}
