/* Shared PC canvas: fixed content width, natural document scrolling. */
html:has(body.rl-page){overflow-x:auto!important;overflow-y:scroll!important}
@supports (scrollbar-gutter:stable){html:has(body.rl-page){overflow-y:auto!important;scrollbar-gutter:stable}}
body.rl-page{min-width:1200px!important;overflow-x:visible!important}
body.rl-page .rl-shell,body.portal-page .portal-main,body.hp-page .hp-main,body.courses-page .courses-main,body.legacy-page .cssMainBody,body.legacy-page .main-container{box-sizing:border-box!important;width:1200px!important;min-width:1200px!important;max-width:1200px!important;margin-left:auto!important;margin-right:auto!important;padding-left:0!important;padding-right:0!important}
body.rl-page .rl-header-inner,body.rl-page .rl-footer-inner,body.rl-page .rl-copyright{box-sizing:border-box!important;width:1200px!important;min-width:1200px!important;max-width:1200px!important;margin-left:auto!important;margin-right:auto!important;padding-left:0!important;padding-right:0!important}
body.rl-page .rl-shell{grid-template-columns:900px 280px!important;gap:20px!important}
body.portal-page .mock-refined{grid-template-columns:900px 280px!important;gap:20px!important}
body.portal-page .mock-refined .mokaoContainer{grid-template-columns:repeat(2,minmax(0,1fr))!important}
body.courses-refined .course_list{grid-template-columns:repeat(3,minmax(0,1fr))!important}
body.rl-page .rl-footer{padding-left:0!important;padding-right:0!important}

/* Fill short viewports while keeping the footer in normal document flow. */
body.rl-page{display:flex;flex-direction:column;min-height:100vh;height:auto!important}
body.rl-page>.rl-header,body.rl-page>.rl-shell,body.rl-page>.portal-main,body.rl-page>.courses-main,body.rl-page>.home-main,body.rl-page>.hp-main,body.rl-page>.cssMainBody,body.rl-page>.main-container,body.rl-page>.rl-footer,body.rl-page>.footer{flex-shrink:0}
body.rl-page>.rl-footer,body.rl-page>.footer{margin-top:auto!important}
