.answer-control{display:block;max-width:100%;margin:10px 0}.answer-control textarea{width:100%;min-height:90px;box-sizing:border-box}.answer-control math-field{display:block;width:100%;box-sizing:border-box;min-height:64px;font-size:26px;padding:10px;border:1px solid #a8bbdf;border-radius:10px;background:white}.answer-control math-field[hidden],.answer-tools[hidden]{display:none}.answer-control math-field::part(menu-toggle){display:none}.answer-tools{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.answer-tools button{min-height:42px}.answer-control .knowledge-option{display:flex;gap:10px}.answer-control input[type=checkbox],.answer-control input[type=radio]{width:auto}.answer-control math-field:focus-within{scroll-margin-bottom:330px}@media(max-width:600px){.answer-control math-field{font-size:24px}}
.answer-control{min-width:0;overflow-x:clip}.answer-control math-field{min-width:0;overflow:hidden}

.answer-control .knowledge-option{align-items:flex-start;min-width:0;padding:10px 12px;border:1px solid var(--rpg-line);border-radius:8px;margin:8px 0;line-height:1.6;background:#fff}
.answer-control .knowledge-option input{flex:0 0 auto;min-height:22px;height:22px;margin:2px 0 0}
.answer-option-content{min-width:0;overflow-wrap:anywhere;font-weight:400}
.minor-math-stem{font-size:18px;line-height:1.8;font-weight:400;white-space:pre-wrap;overflow-wrap:anywhere}
.minor-math-answers{margin-top:16px;white-space:normal;font-size:15px;font-weight:400}
.minor-answer-field{min-width:0;margin:12px 0}.minor-answer-field>b{font-size:14px;color:var(--rpg-muted)}
.minor-blank-marker{font-size:.9em;color:var(--rpg-purple);padding:0 3px}
#minorQuestionTitle{font-size:16px;margin:12px 0}.minor-math-stem mjx-container,.answer-option-content mjx-container,#minorChildPreview mjx-container{max-width:100%}
#minorQuestion mjx-container[display=true],#minorChildPreview mjx-container[display=true]{display:block;overflow-x:auto;overflow-y:hidden;padding:6px 0}
#minorStemFormulaPanel{padding:12px;border:1px solid var(--rpg-line);border-radius:8px;background:var(--rpg-tint)}
@media(max-width:600px){.minor-math-stem{font-size:17px}.answer-tools{gap:6px}.answer-tools button{margin-top:0;padding:0 10px}.answer-control math-field{font-size:22px}}

.minor-math-stem mjx-container,.answer-option-content mjx-container,#minorChildPreview mjx-container,.minor-record-items mjx-container{display:inline-block;max-width:100%;overflow-x:auto;overflow-y:hidden;vertical-align:middle}

.minor-answering #minorSettingSummary,.minor-answering #minorScopeNote,.minor-answering #minorArrangement{display:none}

/* Explicit sizes also work in WebViews without container query units. */
.ML__keyboard{--keycap-width:38px;--keycap-height:48px;--keycap-gap:4px;--keycap-font-size:22px;--keyboard-padding-horizontal:6px}
.ML__keyboard .MLK__rows{--_keycap-width:var(--keycap-width);--_keycap-height:var(--keycap-height);--_keycap-gap:var(--keycap-gap)}
.ML__keyboard #study-math-common{--keycap-width:68px;--keycap-height:48px;--keycap-gap:4px;--keycap-font-size:24px}
@media(max-width:600px){.ML__keyboard{--keycap-width:calc((100vw - 12px) / 10)}.ML__keyboard #study-math-common{--keycap-width:calc((100vw - 12px) / 6)}}
.minor-answer-field[hidden]{display:none}.minor-blank-navigation{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;margin:12px 0;white-space:normal}
.minor-blank-navigation button{min-height:44px;margin:0;padding:0 10px}.minor-blank-navigation b{font-size:14px;color:var(--rpg-purple);white-space:nowrap}
.minor-blank-marker.current-blank{border-radius:4px;background:var(--rpg-tint);outline:1px solid var(--rpg-purple)}
.minor-math-stem{position:sticky;top:calc(var(--app-header-height,56px) + 4px);z-index:3;background:#fff;max-height:30vh;max-height:30dvh;overflow-y:auto}

.minor-math-stem{max-height:min(30vh, max(64px, calc(100vh - var(--study-keyboard-height,0px) - var(--app-header-height,56px) - 170px)));max-height:min(30dvh, max(64px, calc(100dvh - var(--study-keyboard-height,0px) - var(--app-header-height,56px) - 170px)))}

/* Keep saved student answers at their original blank positions. */
.minor-blank-marker.has-saved-answer{padding:2px 5px;border-bottom:1px solid var(--rpg-purple);border-radius:4px;background:var(--rpg-tint);box-decoration-break:clone;-webkit-box-decoration-break:clone;overflow-wrap:anywhere}
.minor-blank-label{font-size:.75em;opacity:.8}

/* Symbols use the same touch targets; hints must not overlap the main label. */
.ML__keyboard [id^="study-math-symbols-"]{--keycap-width:68px;--keycap-font-size:20px;--_keycap-font-size:var(--keycap-font-size)}
.ML__keyboard .MLK__rows{min-height:256px}
.ML__keyboard .MLK__row>div>.MLK__shift,.ML__keyboard .MLK__row>div>aside{display:none}
.ML__keyboard .study-keyboard-page{font:14px system-ui,sans-serif}
@media(max-width:600px){.ML__keyboard [id^="study-math-symbols-"]{--keycap-width:calc((100vw - 12px) / 6)}}
@media(max-width:360px){.ML__keyboard [id^="study-math-symbols-"]{--keycap-font-size:18px}}
dialog .ML__keyboard{position:fixed;left:0;right:0;bottom:0;overflow:visible}

/* MathLive keycaps use :where(), which older study-tablet WebViews ignore. */
.study-math-legacy .MLK__row>div{display:flex;flex-direction:column;align-items:center;justify-content:space-evenly;position:relative;width:calc(var(--_keycap-width) - var(--_keycap-gap));height:var(--_keycap-height);box-sizing:border-box;padding:0;margin:0;line-height:1;vertical-align:top;text-align:center;color:var(--_keycap-text);fill:currentColor;font-size:var(--_keycap-font-size);background:var(--_keycap-background);border:1px solid var(--_keycap-border);border-bottom-color:var(--_keycap-border-bottom);border-radius:6px;overflow:hidden;cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none}
.study-math-legacy .MLK__row>div:hover{background:var(--_keycap-background-hover);color:var(--_keycap-text-hover)}
.study-math-legacy .MLK__row>div.is-pressed,.study-math-legacy .MLK__row>div.is-active{background:var(--_keycap-background-active);color:var(--_keycap-text-active)}
.study-math-legacy .MLK__row>div .ML__latex{pointer-events:none;touch-action:none}
.study-math-legacy .MLK__row>div svg.svg-glyph{width:24px;height:24px;min-height:24px;margin:8px 0}
.study-math-legacy .MLK__row>div svg.svg-glyph-lg{width:28px;height:28px;min-height:28px;margin:8px 0}

.number-set-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.number-set-options>p{grid-column:1/-1;margin:0 0 2px}.number-set-options .knowledge-option{margin:0;min-height:44px;box-sizing:border-box;align-items:center}.minor-question-context{font-weight:600;font-size:16px;margin:8px 0;white-space:normal}

#minorRun{scroll-margin-top:0}

/* Keep text answers above the phone navigation; the question scrolls separately. */
.minor-text-answering #minorQuestionTitle{display:none}
.minor-text-answering #minorQuestion{display:flex;flex-direction:column;gap:8px;white-space:normal}
.minor-text-answering .minor-question-context{order:0;margin:4px 0}
.minor-text-answering .minor-math-stem{order:1;position:relative;top:auto}
.minor-text-answering .minor-math-answers{order:2;margin:0}
.minor-text-answering .minor-blank-navigation{order:3;margin:0}
.minor-text-answering .minor-answer-field{margin:0}
.minor-text-answering .answer-control{margin:6px 0}
.minor-text-answering textarea{min-height:80px;max-height:160px;font-size:16px}
.minor-text-answering .answer-tools{margin:4px 0}.minor-text-answering .answer-tools button{min-height:32px;font-size:13px;padding:0 10px}
