/* Mobile safeguards. Desktop layouts intentionally unchanged. */
@media(max-width:900px){
 body{overflow-x:clip}
 main,.shell,.container,.calendar-shell,.nova,.public-profile{max-width:100%;min-width:0}
 img,video,iframe,canvas,svg{max-width:100%}
 .wiki-resource,.community-post,.nova-card,.calendar-panel{min-width:0}
 .wiki-resource iframe{width:100%;height:min(55vh,420px)}
 .wiki-content table,.article-content table,.wiki-article table{display:block;max-width:100%;overflow-x:auto}
 .nova-scroll{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
}
@media(max-width:600px){
 .calendar-shell{margin:20px auto;padding:0 10px}
 .calendar-panel{padding:10px}
 .calendar-heading h1{font-size:clamp(1.65rem,8vw,2.5rem)}
 .calendar-monthbar{gap:5px;flex-wrap:wrap}
 .calendar-monthbar h2{font-size:1.15rem;text-align:center;min-width:125px}
 .calendar-monthbar button{padding:9px 10px;min-height:44px}
 .calendar-weekdays,.calendar-days{gap:3px}
 .calendar-day,.calendar-empty{min-height:63px;padding:3px;border-radius:6px}
 .calendar-day strong{font-size:.8rem;margin-bottom:3px}
 .calendar-day button{font-size:.68rem;padding:5px 3px;min-height:25px}
 .calendar-dialog{box-sizing:border-box;width:calc(100vw - 24px);max-height:88dvh;overflow:auto;padding:18px}
 .community-post{max-width:100%;overflow-wrap:anywhere}
 .community-post img,.public-post img{max-width:100%;height:auto}
 .community-post textarea,.community-post input,.community-post select{max-width:100%;min-width:0}
 .nova{padding:24px 12px 65px}
 .nova-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .nova-stats article{padding:12px}
 .public-profile{margin:12px auto;padding:0 10px}
 .public-identity{padding:12px 15px 20px}
 .wiki-resource iframe{height:340px}
}
@media(max-width:370px){.nova-stats{grid-template-columns:1fr}.calendar-day button{font-size:.6rem}}
