/* Final shell width policy, loaded after the legacy page presentation sheets.
   Width and max-width must both change: a larger cap cannot undo width:min(...).
   Activity canvases fill the shell; reading-oriented pages keep their own cap. */
@media(min-width:960px){
 #appShell.app{width:100%;max-width:none;padding-inline:clamp(20px,2.2vw,48px)}
 #appShell>:is(#homeView,#trainView,#learnView,#scenarioView,#diagnosticsView,#circuitsView,#builderView,#jobsView,#systemsView,#networksView,#workshopView,#leaderboardView,#profileView){width:100%;max-width:none;margin-inline:0}
 #appShell>:is(#guideView,#learningView,#assessmentsView,#planView){width:100%;max-width:1200px;margin-inline:auto}
 #appShell>:is(#guideView,#learningView,#assessmentsView,#planView)>:is(p,ul,ol),#appShell .academy-note p{max-width:75ch}
 /* Share the row with Normal tests; the old 100% select pushed it outside. */
 #diagnosticsView .case-controls select{flex:1 1 0;min-width:0;max-width:none}
 #diagnosticsView .case-controls #specsButton{flex-shrink:0}
}
/* Flex/grid children may shrink without making the document scroll sideways. */
#scenarioView,#scenarioRoot,.sc-grid,.sc-work,.sc-panel,.sc-tools{min-width:0}
/* The global paragraph cap conflicted with this responsive flex container. */
@media(max-width:1050px){#diagnosticsView .driver-states{max-width:none}}
