/* Current appearance layer. Load after a verified saved shell as well as current templates.
 * Colours belong to the first-party surface, rather than the age of its saved stylesheet.
 * Provider markup, handlers, images and document records are deliberately left intact. */
.lsa-pages-demo,
.lsa-pages-demo.lsa-review-frame,
.lsa-review-frame .lsa-pages-shared-frame {
	--lsa-ink:#172b4d;
	--lsa-muted:#415575;
	--lsa-paper:#fff;
	--lsa-soft:#f2f6fc;
	--lsa-card:#fff;
	--lsa-border:#7285a0;
	--lsa-control:#657994;
	--lsa-accent:#1758b7;
	--lsa-button:#1758b7;
	--lsa-button-ink:#fff;
	--lsa-button-hover:#0f4799;
	--lsa-focus:#9c6100;
	--lsa-red:#b42332;
	color-scheme:light;
}
.lsa-pages-demo[data-theme=dark],
.lsa-pages-demo.lsa-review-frame[data-theme=dark],
.lsa-review-frame[data-theme=dark] .lsa-pages-shared-frame {
	--lsa-ink:#f6f4f0;
	--lsa-muted:#d0ccc5;
	--lsa-paper:#171717;
	--lsa-soft:#101010;
	--lsa-card:#242424;
	--lsa-border:#96918a;
	--lsa-control:#aaa398;
	--lsa-accent:#ead8b8;
	--lsa-button:#ead8b8;
	--lsa-button-ink:#241c14;
	--lsa-button-hover:#f5e7ce;
	--lsa-focus:#ffd080;
	--lsa-red:#f2b4b9;
	color-scheme:dark;
}
.lsa-pages-demo[data-theme=black],
.lsa-pages-demo.lsa-review-frame[data-theme=black],
.lsa-review-frame[data-theme=black] .lsa-pages-shared-frame {
	--lsa-ink:#faf8f4;
	--lsa-muted:#d0ccc5;
	--lsa-paper:#000;
	--lsa-soft:#0c0c0c;
	--lsa-card:#181818;
	--lsa-border:#93908a;
	--lsa-control:#aaa398;
	--lsa-accent:#eee0c7;
	--lsa-button:#eee0c7;
	--lsa-button-ink:#211b14;
	--lsa-button-hover:#fff0d6;
	--lsa-focus:#ffd080;
	--lsa-red:#f2b4b9;
	color-scheme:dark;
}

/* Review pages formerly redeclared a separate blue night palette on their main element.
 * Map the page-level tokens to the active surface. Intentional inverse hero/band tokens
 * still belong to those child sections, so White mode keeps its brand-colour banners. */
.lsa-pages-demo #lsa-pages-main.lsa-pages-studio,
.lsa-pages-demo[data-theme] #lsa-pages-main.lsa-pages-studio {
	--review-ink:var(--lsa-ink);
	--review-muted:var(--lsa-muted);
	--review-paper:var(--lsa-paper);
	--review-tint:var(--lsa-soft);
	--review-card:var(--lsa-card);
	--review-blue:var(--lsa-accent);
	--review-red:var(--lsa-red);
	--review-line:var(--lsa-border);
	--review-control:var(--lsa-control);
	--review-button-bg:var(--lsa-button);
	--review-button-ink:var(--lsa-button-ink);
	--review-button-hover:var(--lsa-button-hover);
	--review-focus:var(--lsa-focus);
}
.lsa-pages-demo[data-theme=dark] #lsa-pages-main.lsa-pages-studio {
	--review-band:#242424;
}
.lsa-pages-demo[data-theme=black] #lsa-pages-main.lsa-pages-studio {
	--review-band:#181818;
}
.lsa-pages-demo:is([data-theme=dark],[data-theme=black]) #lsa-pages-main.lsa-pages-studio :is(.lsa-review-hero,.lsa-review-band) {
	--review-ink:var(--lsa-ink);
	--review-muted:var(--lsa-muted);
	--review-blue:var(--lsa-accent);
	--review-button-bg:var(--lsa-button);
	--review-button-ink:var(--lsa-button-ink);
	--review-button-hover:var(--lsa-button-hover);
}

/* Branded account recovery is a first-party control, including its hover state. */
.lsa-pages-demo #lsa-pages-main .lsa-account-form-slot .lsa-account-recovery button[type=submit] {
	background:var(--review-button-bg,var(--lsa-button))!important;
	border-color:var(--review-button-bg,var(--lsa-button))!important;
	color:var(--review-button-ink,var(--lsa-button-ink))!important;
}
.lsa-pages-demo #lsa-pages-main .lsa-account-form-slot .lsa-account-recovery button[type=submit]:hover {
	background:var(--review-button-hover,var(--lsa-button-hover))!important;
	border-color:var(--review-button-hover,var(--lsa-button-hover))!important;
}

/* Theme changes must switch the label and its surface together. A background-only
 * transition briefly leaves the new ink on the previous mode's surface. */
.lsa-pages-demo .lsa-pages-header :is(a,summary,button),
.lsa-pages-demo .lsa-pages-theme-options button,
.lsa-pages-demo :is(a,button).lsa-pages-button,
.lsa-pages-demo #lsa-pages-main .lsa-review-button {
	transition:none!important;
}

/* Browser-default placeholder grey is too dim on the night resource-search card. */
.lsa-pages-demo #lsa-pages-main .lsa-resource-hub-filters input::placeholder {
	color:var(--lsa-muted);
	opacity:1;
}

/* The native theme colours ordinary strong text grey. These two sidebar labels
 * are small headings on the first-party surface, so they need the active ink. */
.lsa-pages-demo .lsa-pages-sidebar .lsa-pages-sidebar-inner > strong,
.lsa-pages-demo .lsa-pages-sidebar .lsa-pages-sidebar-help > strong {
	color:var(--lsa-ink);
}

/* Teacher applications use the same surface tokens as the account entrance. */
.lsa-pages-demo #lsa-pages-main.lsa-teachers {
	--teacher-ink:var(--lsa-ink);
	--teacher-muted:var(--lsa-muted);
	--teacher-bg:var(--lsa-card);
	--teacher-line:var(--lsa-control);
	--teacher-accent:var(--lsa-accent);
}
.lsa-pages-demo #lsa-pages-main.lsa-teachers .lsa-teachers-submit {
	color:var(--lsa-button-ink);
	background:var(--lsa-button);
}
.lsa-pages-demo #lsa-pages-main.lsa-teachers .lsa-teachers-submit:hover {
	background:var(--lsa-button-hover);
}
.lsa-pages-demo #lsa-pages-main.lsa-teachers :is(input,textarea)::placeholder {
	color:var(--lsa-muted);
	opacity:1;
}

/* The installed native theme targets fieldset legends and emphasis tags directly.
 * Pair the wizard's small headings with their card, including the mobile layout. */
.lsa-pages-demo #lsa-pages-main.lsa-teacher-account fieldset > legend {
	color:var(--lsa-ink);
	background:var(--lsa-card);
}
.lsa-pages-demo #lsa-pages-main.lsa-teacher-account fieldset > p > strong,
.lsa-pages-demo #lsa-pages-main.lsa-teacher-account [data-lsa-teacher-review] dt {
	color:var(--lsa-ink);
}

/* Native table striping/header colours must not replace the comparison's active
 * foreground/surface pair. Header and body links retain their explicit accent. */
.lsa-pages-demo #lsa-pages-main[data-lsa-learning] .lsa-learning-table-scroll :is(th,td) {
	color:var(--lsa-ink);
	background:var(--lsa-card);
}
.lsa-pages-demo #lsa-pages-main[data-lsa-learning] .lsa-learning-table-scroll thead th {
	background:var(--lsa-soft);
}
.lsa-pages-demo #lsa-pages-main[data-lsa-learning] .lsa-learning-stimulus blockquote {
	color:var(--lsa-ink);
	background:var(--lsa-soft);
}
.lsa-pages-demo #lsa-pages-main[data-lsa-learning] [data-lsa-learning-sample] fieldset > legend {
	color:var(--lsa-ink);
	background:var(--lsa-card);
}
.lsa-pages-demo #lsa-pages-main .lsa-availability-windows dt,
.lsa-pages-demo .lsa-journey-plan dt {
	color:var(--lsa-ink);
}

/* A malformed legacy selector left native reading tables and quotations exposed
 * to the host theme. Restore the owned reading surface without changing content,
 * custom inline colours, photos or the LearnPress course body. */
.lsa-pages-demo.lsa-pages-post-layout .lsa-native-reading:not(.lsa-native-public-course) .entry-content :is(table,th,td,blockquote) {
	color:var(--lsa-post-ink,var(--lsa-ink));
	background-color:var(--lsa-post-paper,var(--lsa-paper));
	border-color:var(--lsa-post-line,var(--lsa-border));
}
.lsa-pages-demo.lsa-pages-post-layout .lsa-native-reading:not(.lsa-native-public-course) .entry-content :is(b,dt,mark,ins) {
	color:var(--lsa-post-ink,var(--lsa-ink));
}

/* Source-bound policy tables and captions keep their text and image content.
 * Only the host theme's unrelated red/white/blue colour pair is replaced. */
.lsa-pages-demo #lsa-pages-main .lsa-pages-refined-source-table :is(th,td) {
	color:var(--lsa-ink);
	background:var(--lsa-card);
}
.lsa-pages-demo #lsa-pages-main .lsa-pages-refined-reading figcaption {
	color:var(--lsa-ink);
	background:var(--lsa-paper);
}
.lsa-pages-demo #lsa-pages-main .lsa-review-fee del {
	color:var(--review-muted,var(--lsa-muted));
}

/* The host theme removes search outlines. Restore the keyboard indicator only
 * on this owned course filter, without changing its unfocused appearance. */
.lsa-pages-demo #lsa-pages-main input[data-lsa-course-search]:focus-visible {
	outline:3px solid var(--lsa-focus);
	outline-offset:3px;
}

/* The provider places this specific course-roster dialog beside, rather than inside,
 * the first-party shell. Restrict the palette to that recognised dialog only. */
body.lsa-global-pages-concept:has(.lsa-pages-demo[data-theme=dark]) .swal2-popup:has(#lp-modal-enrolled-wrap) {
	--lp-roster-ink:#f6f4f0;
	--lp-roster-paper:#171717;
	--lp-roster-surface:#242424;
	--lp-roster-control:#aaa398;
	--lp-roster-link:#ead8b8;
	--lp-roster-error:#f2b4b9;
	--lp-roster-focus:#ffd080;
}
body.lsa-global-pages-concept:has(.lsa-pages-demo[data-theme=black]) .swal2-popup:has(#lp-modal-enrolled-wrap) {
	--lp-roster-ink:#faf8f4;
	--lp-roster-paper:#000;
	--lp-roster-surface:#181818;
	--lp-roster-control:#aaa398;
	--lp-roster-link:#eee0c7;
	--lp-roster-error:#f2b4b9;
	--lp-roster-focus:#ffd080;
}
