/* v47: header order follows the supplied three-row reference. */
#topControls{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,auto);gap:12px;flex:1 1 480px;width:100%;min-width:0}
#topControls #settingsButton{grid-area:1/1;justify-content:center;width:100%;min-width:0;min-height:48px}
#topControls .language-switch{grid-area:1/2;display:flex;justify-self:stretch;margin:0;min-width:0;width:100%}
#topControls .language-switch button{flex:1 1 0;min-width:0;min-height:48px;padding:8px 4px}
#topControls #practiceMode{grid-area:2/1;width:100%;min-width:0;min-height:48px}
#topControls #headerLevel{grid-area:2/2;width:100%;min-width:0;min-height:48px}
#topControls .banner-learning-tools{grid-area:3/1/4/3;min-width:0}
@media(max-width:600px){#topControls{gap:10px}}
#topControls{align-items:stretch}
#topControls .language-switch{align-items:stretch}
/* v48: truncate only the closed selectors; keep complete option labels. */
#topControls #practiceMode,#topControls #headerLevel{
 white-space:nowrap;
 overflow:hidden;
 text-overflow:ellipsis;
 overflow-wrap:normal;
 word-break:normal;
 height:48px;
 line-height:normal;
}
#topControls #practiceMode option,#topControls #headerLevel option,
#topControls #headerLevel optgroup{
 white-space:normal;
 overflow:visible;
 text-overflow:clip;
 overflow-wrap:normal;
 word-break:normal;
}
