/* v46: accessible legal pages and focus indicators. Map geometry is unchanged. */
:root{--cc46-ink:#15293d;--cc46-muted:#425b71;--cc46-bg:#f3f7fa;--cc46-surface:#fff;--cc46-border:#637b90;--cc46-accent:#075aa8}
html[data-theme=dark]{--cc46-ink:#f0f5fa;--cc46-muted:#bfd0df;--cc46-bg:#101c2a;--cc46-surface:#172a3d;--cc46-border:#8da3b6;--cc46-accent:#a8d6ff}
.cc46-page{margin:0;background:var(--cc46-bg);color:var(--cc46-ink);font:16px/1.65 system-ui,-apple-system,'Segoe UI',sans-serif}
.cc46-page main{max-width:900px;margin:24px auto 64px;padding:24px;background:var(--cc46-surface);border:1px solid var(--cc46-border);border-radius:16px}
.cc46-page h1{font-size:clamp(1.75rem,5vw,2.5rem);line-height:1.2;letter-spacing:-.025em;margin:12px 0 20px}
.cc46-page h2{font-size:1.35rem;margin-top:32px;line-height:1.4}
.cc46-page p,.cc46-page li{max-width:78ch}.cc46-page a,.cc46-dialog a{color:var(--cc46-accent);text-decoration:underline;text-underline-offset:3px}
.cc46-page small,.cc46-page .muted{color:var(--cc46-muted)}
.cc46-nav{display:flex;flex-wrap:wrap;gap:8px 20px;max-width:948px;margin:auto;padding:16px 24px;border-bottom:1px solid var(--cc46-border)}
.cc46-nav a{padding:6px 0}.cc46-nav a[aria-current=page]{font-weight:750;text-decoration-thickness:3px}
.cc46-note{padding:14px 16px;border-inline-start:4px solid var(--cc46-accent);background:var(--cc46-bg);border-radius:6px}
.cc46-page form{display:grid;gap:14px;margin-block:20px}.cc46-page label{display:grid;gap:5px;font-weight:650}.cc46-page input,.cc46-page textarea,.cc46-page select{box-sizing:border-box;width:100%;font:inherit;padding:11px 12px;border:1px solid var(--cc46-border);border-radius:8px;background:var(--cc46-surface);color:var(--cc46-ink)}
.cc46-check{display:flex!important;align-items:flex-start;gap:10px!important;font-weight:400!important;line-height:1.5;margin-block:12px}.cc46-check input[type=checkbox]{flex:0 0 22px;width:22px!important;min-height:22px;height:22px;margin:3px 0;accent-color:#075aa8}
.cc46-page button,.cc46-dialog button,.cc46-privacy-button{font:600 16px/1.35 system-ui;padding:10px 16px;min-height:44px;border:1px solid #075aa8;border-radius:8px;background:#075aa8;color:#fff;cursor:pointer}
.cc46-page button.secondary,.cc46-dialog button.secondary{background:var(--cc46-surface);color:var(--cc46-ink);border-color:var(--cc46-border)}
.cc46-page button.danger{background:#a52020;border-color:#a52020;color:#fff}.cc46-page button:disabled,.cc46-dialog button:disabled{cursor:wait;opacity:.65}
.cc46-actions{display:flex;flex-wrap:wrap;gap:10px;margin-block:16px}.cc46-status:not(:empty){white-space:pre-wrap;padding:16px;border:1px solid var(--cc46-border);border-radius:8px;overflow-wrap:anywhere}
.cc46-dialog{max-width:540px;width:calc(100% - 40px);max-height:calc(100dvh - 48px);box-sizing:border-box;overflow:auto;padding:24px;border:1px solid var(--cc46-border);border-radius:16px;background:var(--cc46-surface);color:var(--cc46-ink);font:16px/1.6 system-ui;box-shadow:0 20px 65px #0005}
.cc46-dialog::backdrop{background:#071523aa}.cc46-dialog h2{margin-top:0;font-size:1.4rem;line-height:1.4}
.cc46-privacy-button{font-size:13px;min-height:38px;padding:7px 10px;margin:6px;background:var(--cc46-surface);color:var(--cc46-ink);border-color:var(--cc46-border)}
.cc46-skip{position:fixed;left:12px;top:8px;transform:translateY(-200%);z-index:100000;background:#fff;color:#102136;padding:12px;border:3px solid #075aa8;border-radius:8px}
.cc46-skip:focus{transform:none}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid #075aa8!important;outline-offset:3px!important}
[data-theme=dark] :where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline-color:#b7e2ff!important}
.cc46-page [hidden],.cc46-dialog [hidden]{display:none!important}.cc46-page pre{overflow:auto;background:var(--cc46-bg);padding:16px;white-space:pre-wrap;overflow-wrap:anywhere}
.cc46-page footer{margin-top:32px;border-top:1px solid var(--cc46-border);padding-top:20px}.cc46-page section{scroll-margin-top:20px}
/* Auth text and actions: explicit contrast in both themes, not color alone. */
.cc-auth-page .auth-card button[type=submit],.cc-auth-page .card button:not(.secondary):not(.mini){background:#075aa8;color:#fff}
.cc-auth-page .auth-card .cc46-check{font-size:14px}.cc-auth-page .auth-card .cc46-check a{color:#075aa8}
[data-theme=dark] .cc-auth-page .auth-card .cc46-check a{color:#a8d6ff}
.cc-auth-page .auth-card p,.cc-auth-page .auth-card small{color:#425b71}
[data-theme=dark] .cc-auth-page .auth-card p,[data-theme=dark] .cc-auth-page .auth-card small{color:#bfd0df}
@media(max-width:620px){.cc46-page main{margin:8px 10px 32px;padding:20px 16px}.cc46-nav{padding:12px 20px;gap:6px 16px}.cc46-actions{flex-direction:column}.cc46-actions button{width:100%}.cc46-dialog{padding:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

.cc46-check>span{flex:1;min-width:0}.cc46-check>span a{display:inline!important}
.cc46-skip:not(:focus){clip-path:inset(50%);width:1px;height:1px;overflow:hidden;padding:0;border:0}
.cc-auth-page input:not([type=checkbox]),.cc-auth-page textarea,.cc-auth-page select{border-color:#647c91!important}
[data-theme=dark] .cc-auth-page input:not([type=checkbox]),[data-theme=dark] .cc-auth-page textarea,[data-theme=dark] .cc-auth-page select{border-color:#9eb6cb!important}
.cc-auth-page .cc46-privacy-button{background:#fff!important;color:#15293d!important;border:1px solid #637b90!important}
[data-theme=dark] .cc-auth-page .cc46-privacy-button{background:#172a3d!important;color:#f0f5fa!important;border-color:#8da3b6!important}
.cc46-check input[type=checkbox]{min-height:22px!important;max-height:22px!important;align-self:flex-start!important;margin-top:2px!important}
.cc-auth-page .auth-card .cc46-check{margin-block:6px!important}
