/* Game windows fit the viewport; long content uses explicit pages. */
body.static-characters #modal{width:min(960px,calc(100vw - 20px))!important;max-width:calc(100vw - 20px)!important;height:calc(100svh - 20px)!important;max-height:calc(100svh - 20px)!important;padding:24px 24px 70px!important;overflow:hidden!important;margin:auto!important}
body.static-characters #modal #close{position:absolute!important;right:12px;top:10px;margin:0!important;float:none!important}
body.static-characters #modalContent{height:100%;min-height:0;overflow:hidden!important;padding-top:28px}
body.static-characters #modalContent h2{font-size:clamp(20px,3vw,28px);margin:0 48px 12px 0!important;line-height:1.2}
body.static-characters #modalContent :is(h3,h4){margin-top:12px;margin-bottom:8px}
body.static-characters #modalContent p{margin:8px 0!important;line-height:1.45!important}
body.static-characters #modalContent .eyebrow{margin:0 48px 8px 0}
body.static-characters #modalContent .shopitem{padding:10px!important;margin:7px 0!important}
body.static-characters #modalContent .six-actions-links{gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}
body.static-characters #modalContent img{max-height:38svh;object-fit:contain}
.screen-page-hidden{display:none!important}
@media(max-width:560px){body.static-characters #modal{padding:18px 14px 72px!important}body.static-characters #modalContent{padding-top:32px}body.static-characters #modalContent .six-actions-links{grid-template-columns:1fr}body.static-characters #modalContent p{font-size:12px!important}body.static-characters #modalContent .hint{font-size:11px!important}}
body.static-characters #modalContent .six-actions-links button{background:linear-gradient(120deg,#183a54,#14243b);border:1px solid #61cfe777;border-radius:12px;color:#effbff}
body.static-characters #modalContent .six-actions-links button:hover{background:#224e69}
body.static-characters #modalContent :is(canvas,svg){max-height:calc(100svh - 190px)}
body.static-characters #modalContent .district-canvas{width:min(100%,340px);margin-inline:auto}
body.static-characters #modalContent .district-chart{width:100%;height:auto;max-height:none!important}
body.static-characters #modalContent .district-image{max-height:160px;aspect-ratio:16/7}
body.static-characters #modalContent .district-map-caption{font-size:11px!important}
body.static-characters #modalContent .district-heading{margin-bottom:10px!important}
body.static-characters #modalContent .district-workbench{gap:12px}
body.static-characters #modal.screen-single{height:auto!important;padding-bottom:24px!important}
body.static-characters #modal.screen-single #modalContent{height:auto;max-height:calc(100svh - 110px)}
body.static-characters #modal.screen-single{height:fit-content!important}
/* Registration is one complete form, never a set of generated pages. */
#modal:has(#playerName) .screen-section-tabs{display:none!important}
#modal:has(#playerName) .screen-page-hidden{display:revert!important}
#modal:has(#playerName) #modalContent{height:auto!important;padding-top:20px!important}
#modal:has(#playerName) .registration-choices{display:grid!important;margin:8px 0!important}
#modal:has(#playerName) .registration-choices img{height:22svh!important;width:100%;object-fit:contain}
#modal:has(#playerName) #begin{display:block!important;width:100%;margin-top:12px}
#modal:has(#playerName) #modalContent>:is(p,.preset-avatars,#avatarUpload,#uploadPreview,label[for=avatarUpload]){display:none!important}
