/* JSV 2.0.167. Named surfaces first; the solid-background text safeguard handles
   plugin-specific colours. Never recolour photographs, maps or user artwork. */
html body.jsv-readable {
 --jsv-readable-ink:#17324a; --jsv-readable-muted:#4c5e70;
 --jsv-readable-link:#245e80; --jsv-readable-navy:#102d48;
 --jsv-readable-gold:#f1c75b; --jsv-readable-line:#74869a;
 --jsf-text-secondary:#4c5e70;
}
html body.jsv-readable :is(input:not([type="range"]):not([type="checkbox"]):not([type="radio"]):not([type="color"]):not([type="submit"]):not([type="button"]),textarea,select) {
 background-color:#fff!important; color:#17324a!important;
 border-color:#74869a!important; caret-color:#17324a;
}
html body.jsv-readable :is(input,textarea)::placeholder {color:#526274!important;opacity:1!important}
html body.jsv-readable :is(input[type="checkbox"],input[type="radio"]) {accent-color:#245e80}
html body.jsv-readable :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible {
 outline:3px solid #14649c!important; outline-offset:3px;
 box-shadow:0 0 0 2px #fff!important;
}
html body.jsv-readable :is(.jsv-skip-link,.jsv-x-skip) {background:#fff4cd!important;color:#17324a!important}

/* A solid navy surface guarantees contrast independently of saved footer colours. */
html body.jsv-readable :is(footer.site-footer,.jsv-x-footer,.lh-footer,#colophon) {
 background:#102d48!important; color:#fff!important;
}
html body.jsv-readable :is(footer.site-footer,.jsv-x-footer,.lh-footer,#colophon) :is(p,small,span,em,h2,h3,h4,b,strong) {
 color:#e6eef5!important; opacity:1;
}
html body.jsv-readable :is(footer.site-footer,.jsv-x-footer,.lh-footer,#colophon) a {
 color:#f6d982!important; text-decoration:underline; text-underline-offset:3px;
}
html body.jsv-readable :is(footer.site-footer,.jsv-x-footer,.lh-footer,#colophon) :is(.btn,.button,.lh-button) {
 background:#f1c75b!important; color:#17324a!important; border-color:#f1c75b!important; text-decoration:none;
}
html body.jsv-readable :is(footer.site-footer,.jsv-x-footer,.lh-footer,#colophon) :is(.btn,.button,.lh-button) * {color:inherit!important}

/* Public homepage: separate light menus/cards from the dark header and search. */
html body.jsv-readable.jsv-living-home-page .lh-header {background:#102d48!important;color:#fff!important}
html body.jsv-readable.jsv-living-home-page .lh-header :is(.lh-brand,.lh-desktop-nav a,.lh-mobile-menu summary) {color:#fff!important}
html body.jsv-readable.jsv-living-home-page .lh-header .lh-account .lh-outline {background:#102d48!important;color:#fff!important;border-color:#d9e4ed!important}
html body.jsv-readable.jsv-living-home-page :is(.lh-header,.lh-page,.lh-footer) .lh-gold {background:#f1c75b!important;color:#17324a!important;border-color:#b28b22!important}
html body.jsv-readable.jsv-living-home-page .lh-mobile-menu nav {background:#fff!important;color:#17324a!important}
html body.jsv-readable.jsv-living-home-page .lh-mobile-menu nav a {color:#17324a!important}
html body.jsv-readable.jsv-living-home-page .lh-mobile-menu nav a:hover {background:#e7eef5!important}
html body.jsv-readable.jsv-living-home-page .lh-discovery-search {background:#102d48!important;color:#fff!important}
html body.jsv-readable.jsv-living-home-page .lh-discovery-search :is(label,.lh-search-help,.lh-popular) {color:#e6eef5!important}
html body.jsv-readable.jsv-living-home-page .lh-discovery-search .lh-popular a {background:#183e5d!important;color:#fff!important;border-color:#a9bece!important}
html body.jsv-readable.jsv-living-home-page .lh-browse-note {color:#f6d982!important;border-color:#f6d982!important}
html body.jsv-readable.jsv-living-home-page .lh-search-tabs button {background:#183e5d!important;color:#fff!important;border-color:#a9bece!important}
html body.jsv-readable.jsv-living-home-page .lh-search-tabs button.is-active {background:#fff!important;color:#17324a!important;border-color:#fff!important}
html body.jsv-readable.jsv-living-home-page .lh-discovery-hero .lh-hero-copy {
 background:#fffaf0f5;border:1px solid #fffaf0;border-radius:18px;
 padding:clamp(18px,2.2vw,32px);width:min(760px,75%);
 box-shadow:0 6px 24px #102d4814;
}
html body.jsv-readable.jsv-living-home-page .lh-discovery-hero .lh-hero-copy :is(h1,p) {color:#17324a!important}
html body.jsv-readable.jsv-living-home-page .lh-hunt-link {background:#fff!important;color:#245e80!important;border-color:#74869a!important}
html body.jsv-readable.jsv-living-home-page .lh-card :is(.lh-meta,p) {color:#4c5e70!important}
html body.jsv-readable.jsv-living-home-page :is(.lh-section-head>a,.lh-card-action,.lh-text-link) {color:#245e80!important}
@media(max-width:600px) {
 html body.jsv-readable.jsv-living-home-page .lh-discovery-hero .lh-hero-copy {width:100%;padding:18px}
 html body.jsv-readable.jsv-living-home-page .lh-discovery-hero h1 {font-size:clamp(34px,9.5vw,48px)!important}
}

/* Known dark rails and status surfaces, with explicit light nested labels. */
html body.jsv-readable :is(.jsv-x-rail,.jsf-cc-sidebar,.jsf-cc-rail,.jsm-mp-rail,.jsv-site-sponsor-rail,.jpa-rail) {
 background-color:#102d48!important;color:#fff!important;
}
html body.jsv-readable :is(.jsv-x-rail,.jsf-cc-sidebar,.jsf-cc-rail,.jsm-mp-rail) :is(p,small,label) {color:#e6eef5!important}
html body.jsv-readable :is(.jsv-x-rail,.jsf-cc-sidebar,.jsf-cc-rail,.jsm-mp-rail) :is(a,button) {color:#fff}
html body.jsv-readable :is(.jsv-site-sponsor-rail,.jpa-rail) :is(h2,.jpa-rail-empty) {color:#f6d982!important}

/* The game uses opaque surfaces over cartographic imagery. */
html body.jsv-readable #jsf-niagara-game :is(.jsf-ng-map-search,.jsf-ng-region-picker,.jsf-ng-city-controls,.jsf-ng-layer-legend>div,.jsf-ng-dialog-card,.jsf-ng-passport-card,.jsf-ng-next-card) {background-color:#fff!important;color:#17324a!important}
html body.jsv-readable #jsf-niagara-game :is(.jsf-ng-map-search,.jsf-ng-region-picker,.jsf-ng-city-controls,.jsf-ng-layer-legend>div,.jsf-ng-passport-card,.jsf-ng-next-card) :is(p,small,label) {color:#4c5e70!important}
html body.jsv-readable #jsf-niagara-game .jsf-ng-app-rail {background:#102d48!important}
html body.jsv-readable #jsf-niagara-game .jsf-ng-app-rail :is(a,b) {color:#fff!important}
html body.jsv-readable #jsf-niagara-game .jsf-ng-app-rail a.active {background:#f1c75b!important;color:#17324a!important}
html body.jsv-readable #jsf-niagara-game .jsf-ng-app-rail a.active b {color:#17324a!important}
html body.jsv-readable #jsf-niagara-game .jsf-ng-adventure-hero {background:#102d48!important}
html body.jsv-readable #jsf-niagara-game .jsf-ng-adventure-hero :is(h2,p,small,span) {color:#e6eef5!important}
html body.jsv-readable #jsf-niagara-game .leaflet-control-attribution {background:#fff!important;color:#17324a!important}
html body.jsv-readable #jsf-niagara-game .leaflet-control-attribution a {color:#245e80!important}

@media(forced-colors:active) {
 html body.jsv-readable :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible {outline:3px solid Highlight!important}
}

/* Directory controls previously mixed a navy background with navy labels. */
html body.jsv-readable #jsf-directory-market .btn.wide-btn {background:#173f68!important;color:#fff!important;border-color:#173f68!important}
html body.jsv-readable #jsf-directory-market .btn.gold.wide-btn {background:#f1c75b!important;color:#17324a!important;border-color:#a7811c!important}
html body.jsv-readable #jsf-directory-market :is(.jsf-dir-market-featured,.jsf-dir-market-sidebar) small {color:#715100!important}
html body.jsv-readable #jsf-directory-market .jsf-directory-tools-rail small {color:#4c5e70!important}
html body.jsv-readable .jscc-billing-badge.good {background:#e2f4e9!important;color:#145634!important}
html body.jsv-readable .jscc-billing-badge.alert {background:#ffe7e7!important;color:#8f2424!important}
html body.jsv-readable .jscc-billing-badge.neutral {background:#e9eef4!important;color:#354d65!important}

html body.jsv-readable :is(.jsv-x-rail,.jsf-cc-sidebar,.jsf-cc-rail,.jsm-mp-rail) :is(h1,h2,h3,h4) {color:#fff!important}
html body.jsv-readable.jsv-living-home-page .lh-overline {color:#76511a!important}

/* Source-audited controls from Directory, Marketplace, Community and Command Center. */
html body.jsv-readable :is(.jsf-bp-btn.blue,.jsf-qm-btn,.jsm-mp-btn-primary,#jsf-mobile-reply-editor .jsf-mobile-edit-save) {background:#245e80!important;color:#fff!important;border-color:#245e80!important}
html body.jsv-readable .jsm-mp-workspace-content .btn {background:#f1c75b!important;color:#17324a!important}
html body.jsv-readable :is(.jsf-bp-empty,.jsf-business-logo-preview b,.jsf-cc-v2 .jsf-cc-toolbar form,.jsf-cc-v2 .jsf-gm-readiness-mini .mark) {color:#4c5e70!important}
html body.jsv-readable .jsf-cc-v2 .jsf-gm-readiness-mini .row.ok .mark {background:#dff3e4!important;color:#196437!important}
html body.jsv-readable :is(.jsf-bp-manage-grid>a b i,.jsf-bmsg-thread>i) {background:#a82e35!important;color:#fff!important}
html body.jsv-readable .jsf-qm-request-icon {background:#e8f6ff!important;color:#245e80!important}
html body.jsv-readable .jsm-mp-tip-list li:before {background:#245e80!important;color:#fff!important}
