/* MapNib appearance tokens: source imagery and geometry use a separate light canvas. */
:root {
    --ui-page:#f5f8fb;--ui-surface:#fff;--ui-surface-alt:#edf3f7;--ui-ink:#15293a;
    --ui-muted:#536879;--ui-line:#cfdae3;--ui-accent:#087f73;--ui-accent-hover:#06685f;
    --ui-accent-soft:#dff5ef;--ui-on-accent:#fff;--ui-warning-bg:#fff3d9;--ui-warning-ink:#785006;
    --ui-danger-bg:#fff0ed;--ui-danger-ink:#a52f27;--ui-shadow:0 14px 44px #132d4510;
}
html[data-theme="dark"] {
    --ui-page:#0a1422;--ui-surface:#122132;--ui-surface-alt:#192c40;--ui-ink:#edf5fb;
    --ui-muted:#adbdcd;--ui-line:#344c61;--ui-accent:#35dbc1;--ui-accent-hover:#70ead7;
    --ui-accent-soft:#163c3d;--ui-on-accent:#062923;--ui-warning-bg:#3c301c;--ui-warning-ink:#f2d08c;
    --ui-danger-bg:#402a2b;--ui-danger-ink:#ffb4a8;--ui-shadow:0 14px 44px #0003;
}
html[data-theme] {
    --ink:var(--ui-ink);--muted:var(--ui-muted);--accent:var(--ui-accent);--green:var(--ui-accent);
    --dark:var(--ui-accent);--support:var(--ui-muted);--paper:var(--ui-page);--mint:var(--ui-accent-soft);
    --lime:var(--ui-accent-soft);--line:var(--ui-line);--atlas-paper:var(--ui-page);--atlas-border:var(--ui-line);--atlas-sage:var(--ui-surface-alt);
    --kendo-color-app-surface:var(--ui-page);--kendo-color-on-app-surface:var(--ui-ink);
    --kendo-color-surface:var(--ui-surface-alt);--kendo-color-surface-alt:var(--ui-surface);
    --kendo-color-on-surface:var(--ui-ink);--kendo-color-subtle:var(--ui-muted);
    --kendo-color-base:var(--ui-surface-alt);--kendo-color-base-hover:var(--ui-accent-soft);
    --kendo-color-on-base:var(--ui-ink);--kendo-color-border:var(--ui-line);--kendo-color-border-alt:var(--ui-line);
    --kendo-color-primary:var(--ui-accent);--kendo-color-primary-hover:var(--ui-accent-hover);
    --kendo-color-primary-subtle:var(--ui-accent-soft);--kendo-color-on-primary:var(--ui-on-accent);
    color:var(--ui-ink);background:var(--ui-page);font-family:Inter,"Segoe UI",Arial,sans-serif;
}
body{background:var(--ui-page);color:var(--ui-ink)}
::selection{background:var(--ui-accent-soft);color:var(--ui-ink)}
input,textarea,select{accent-color:var(--ui-accent);color-scheme:inherit}
input::placeholder,textarea::placeholder{color:var(--ui-muted);opacity:1}
:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--ui-accent);outline-offset:3px}
.theme-picker{display:inline-flex!important;align-items:center;gap:6px!important;padding:0 8px!important;margin:0!important;border:1px solid var(--ui-line);border-radius:8px;background:var(--ui-surface);color:var(--ui-ink);flex-shrink:0;min-height:40px;font-size:12px!important;font-weight:600;}
.theme-picker svg{flex-shrink:0;color:var(--ui-accent)}
.theme-picker select{width:auto!important;min-width:72px;min-height:38px!important;margin:0!important;padding:6px 2px!important;border:0!important;background:transparent!important;color:var(--ui-ink)!important;font:inherit;cursor:pointer;box-shadow:none!important}
.theme-picker select option{background:var(--ui-surface);color:var(--ui-ink)}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.wordmark img{filter:none}
.button.primary,.button.header-cta{background:var(--ui-accent);color:var(--ui-on-accent);border-color:transparent}
.button.primary:hover,.button.header-cta:hover{background:var(--ui-accent-hover);color:var(--ui-on-accent)}
.button.secondary{background:var(--ui-surface);border-color:var(--ui-line);color:var(--ui-ink)}
.button.secondary:hover{background:var(--ui-surface-alt)}
.site-header{background:var(--ui-page);border-color:var(--ui-line)}
.site-footer,.closing-section{background:var(--ui-surface-alt);color:var(--ui-ink)}
.site-footer p,.site-footer a,.site-footer span,.site-footer h2,.closing-section h2,.closing-section p{color:inherit}
.site-footer .footer-status{background:var(--ui-surface);color:var(--ui-accent);border-color:var(--ui-line)}
.legal-document,.policy-page{color:var(--ui-ink)}
.legal-document a,.policy-page a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:600px){.theme-picker{gap:2px!important;padding:0 5px!important}.theme-picker svg{width:15px}.theme-picker select{min-width:64px;font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{scroll-behavior:auto!important}}
