/* Shared by the map, login barrier and public legal pages. */
.legal-nav {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0 0.2rem;
    font: 0.8125rem/1.4 system-ui, sans-serif;
}
.legal-nav a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 0 0.25rem;
    color: inherit;
    text-underline-offset: 0.2em;
}
.legal-nav a[aria-current="page"] { font-weight: 700; }
.legal-nav a:focus-visible, .legal-page a:focus-visible {
    outline: 3px solid #005fcc;
    outline-offset: 2px;
    border-radius: 2px;
}
.legal-page {
    color-scheme: light dark;
    font: 1rem/1.55 system-ui, sans-serif;
    margin: 0;
    overflow-wrap: anywhere;
}
.legal-page main, .legal-page > header {
    max-width: 52rem;
    margin: 0 auto;
    padding: 1rem max(1rem, env(safe-area-inset-right)) 1rem max(1rem, env(safe-area-inset-left));
}
.legal-page > header { padding-top: max(1rem, env(safe-area-inset-top)); }
.legal-page main { padding-bottom: max(2rem, env(safe-area-inset-bottom)); }
.legal-page h1, .legal-page h2 { line-height: 1.2; }
.legal-page h2 { margin-top: 2rem; }
.legal-page a { color: inherit; }
.legal-page address { font-style: normal; }
.legal-page .back-link { display: inline-flex; align-items: center; min-height: 44px; }
.legal-page .note { padding: 0.75rem 1rem; border-left: 0.25rem solid currentColor; }
.license-text { white-space: pre-wrap; font: inherit; }
