/* Keep reading controls available while the explanation scrolls. */
#about-dialog{--dialog-top:max(16px,env(safe-area-inset-top));--dialog-bottom:max(16px,env(safe-area-inset-bottom));--dialog-left:max(16px,env(safe-area-inset-left));--dialog-right:max(16px,env(safe-area-inset-right));padding:0;overflow:hidden;inset:var(--dialog-top) var(--dialog-right) var(--dialog-bottom) var(--dialog-left);width:min(580px,calc(100% - var(--dialog-left) - var(--dialog-right)));max-height:calc(100vh - var(--dialog-top) - var(--dialog-bottom));max-height:calc(100dvh - var(--dialog-top) - var(--dialog-bottom))}
#about-dialog[open]{display:flex;flex-direction:column}
#about-dialog .dialog-heading{flex:none;gap:16px;padding:14px 24px;border-bottom:1px solid var(--line);background:var(--paper)}
#about-dialog .close-button{flex:none;min-width:44px;min-height:44px;display:grid;place-items:center}
#about-content{min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:0 26px 24px}
#about-sources{scroll-margin-top:20px}
#about-sources:focus{outline:none}
.atlas-app .map-error{inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:20px;text-align:center;color:var(--ink);background:var(--paper);z-index:5}
.atlas-app .map-error[hidden]{display:none}
.map-error-actions,.language-error-actions{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px}
.map-error-actions button,.language-error-actions button,.language-error-actions a{border:1px solid var(--track);border-radius:10px;padding:10px 14px;min-height:44px;font:inherit;cursor:pointer;background:var(--soft);color:var(--teal);text-decoration:none}
.map-error-actions button:disabled{opacity:.55;cursor:wait}
#language-error{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:16px}
#language-error h1,#language-error p{margin:0}
#language-error h1{max-width:700px;font-size:clamp(24px,4vw,40px)}
#language-error-title:focus{outline:none}
#language-error .language-error-actions{justify-content:flex-start}
@media(max-width:520px){#about-dialog .dialog-heading{padding:10px 14px}#about-content{padding:0 18px 18px}.atlas-app .map-error{font-size:14px;gap:10px;padding:14px}.map-error-actions{gap:8px}.map-error-actions button{padding:8px 12px}}
@media(max-height:620px) and (max-width:900px){.atlas-app .map-error{font-size:12px;line-height:18px;gap:4px;padding:4px 8px;overflow:auto;overscroll-behavior:contain}.map-error-actions{gap:8px}.map-error-actions button{min-height:40px;padding:8px 10px;line-height:20px}}
