/* ==========================================================
   FIDELISSIMO ACCESSIBILITY FOUNDATION
   WCAG 2.2 AA / RGAA 4.1 native user preferences layer.
   ========================================================== */

@font-face {
  font-family: "OpenDyslexic";
  src: url("../fonts/open-dyslexic/OpenDyslexic-Regular.woff2") format("woff2");
  font-display: swap;
}

:root {
  --fd-a11y-font-scale: 1;
  --fd-a11y-letter-spacing: 0em;
  --fd-a11y-line-height: 1.55;
  --fd-a11y-text-width: 82ch;
  --fd-a11y-focus: #005fcc;
  --fd-a11y-focus-shadow: 0 0 0 4px rgba(0, 95, 204, 0.22);
}

html {
  font-size: 100%;
}

body {
  line-height: var(--fd-a11y-line-height);
}

.fd-page-content-anchor {
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 0;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.fd-skip-link {
  position: fixed;
  inset-block-start: 12px;
  inset-inline-start: 12px;
  z-index: 100000;
  transform: translateY(-160%);
  border: 2px solid var(--fd-a11y-focus);
  border-radius: 8px;
  background: #ffffff;
  color: #111111;
  padding: 10px 14px;
  font-weight: 800;
  text-decoration: none;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
}

.fd-skip-link:focus,
.fd-skip-link:focus-visible {
  transform: translateY(0);
  outline: 3px solid var(--fd-a11y-focus);
  outline-offset: 3px;
}

:focus-visible {
  outline: 3px solid var(--fd-a11y-focus) !important;
  outline-offset: 3px !important;
  box-shadow: var(--fd-a11y-focus-shadow) !important;
}

html[data-fd-keyboard-user="false"] :focus:not(:focus-visible) {
  outline: none;
}

.fd-accessibility-widget {
  position: fixed;
  inset-block-end: 18px;
  inset-inline-end: 18px;
  z-index: 99990;
  max-width: min(420px, calc(100vw - 24px));
  color: var(--ink, #1a1814);
  font-family: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  touch-action: none;
  display: flex;
  flex-direction: column-reverse;
  align-items: flex-end;
}

.fd-accessibility-widget--dragging {
  cursor: grabbing;
  user-select: none;
}

.fd-accessibility-toggle,
.fd-accessibility-panel button,
.fd-accessibility-panel select,
.fd-accessibility-panel input {
  font: inherit;
}

.fd-accessibility-toggle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 2px solid rgba(26, 24, 20, 0.18);
  border-radius: 999px;
  background: #ffffff;
  color: #15130f;
  padding: 10px 14px;
  font-weight: 800;
  box-shadow: 0 12px 32px -18px rgba(0, 0, 0, 0.35);
  cursor: grab;
  touch-action: none;
}

.fd-accessibility-toggle:active,
.fd-accessibility-widget--dragging .fd-accessibility-toggle {
  cursor: grabbing;
}

.fd-accessibility-toggle span:first-child {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  background: #f1ecf6;
  color: #4f2c7a;
  font-weight: 900;
}

.fd-accessibility-panel {
  margin-block-start: 0;
  margin-block-end: 10px;
  width: min(420px, calc(100vw - 24px));
  max-height: min(78vh, 720px);
  overflow-y: auto;
  overscroll-behavior: contain;
  border: 1px solid rgba(26, 24, 20, 0.16);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 22px 70px -30px rgba(0, 0, 0, 0.5);
  padding: 16px;
}

.fd-accessibility-panel__header,
.fd-accessibility-footer {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.fd-accessibility-panel__header {
  align-items: center;
}

.fd-accessibility-panel h2,
.fd-accessibility-panel h3,
.fd-accessibility-panel p {
  margin: 0;
}

.fd-accessibility-panel h2 {
  font-size: 1.1rem;
}

.fd-accessibility-panel h3 {
  margin-block-start: 14px;
  font-size: 0.95rem;
}

.fd-accessibility-close {
  width: 34px;
  height: 34px;
  border: 1px solid rgba(26, 24, 20, 0.14);
  border-radius: 999px;
  background: #fff;
  color: #1a1814;
  font-size: 1.35rem;
  line-height: 1;
}

.fd-accessibility-drag {
  width: 34px;
  height: 34px;
  flex: 0 0 auto;
  border: 1px solid rgba(26, 24, 20, 0.16);
  border-radius: 999px;
  background: #f7f2e8;
  color: #1a1814;
  cursor: grab;
  font-weight: 900;
  line-height: 1;
}

.fd-accessibility-drag:active {
  cursor: grabbing;
}

.fd-accessibility-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-block-start: 14px;
}

.fd-accessibility-field,
.fd-accessibility-check {
  display: grid;
  gap: 7px;
  min-width: 0;
  border: 1px solid rgba(26, 24, 20, 0.12);
  border-radius: 10px;
  background: #fffefb;
  padding: 10px;
  color: #1a1814;
  font-size: 0.88rem;
  font-weight: 700;
}

.fd-accessibility-check {
  grid-template-columns: auto 1fr;
  align-items: center;
}

.fd-accessibility-field select,
.fd-accessibility-field input[type="range"] {
  width: 100%;
}

.fd-accessibility-field select {
  min-height: 38px;
  border: 1px solid rgba(26, 24, 20, 0.18);
  border-radius: 8px;
  background: #ffffff;
  color: #1a1814;
  padding: 6px 8px;
}

.fd-accessibility-actions {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-block: 10px;
}

.fd-accessibility-actions button,
.fd-accessibility-footer button {
  min-height: 38px;
  border: 1px solid rgba(26, 24, 20, 0.16);
  border-radius: 8px;
  background: #f7f2e8;
  color: #1a1814;
  font-weight: 800;
}

#fd-tts-status,
.fd-accessibility-footer p {
  color: rgba(26, 24, 20, 0.72);
  font-size: 0.82rem;
}

.fd-tts-highlight-preview {
  min-height: 32px;
  margin-block-start: 8px;
  border-radius: 8px;
  background: #fff8dc;
  color: #1a1814;
  padding: 8px;
  font-size: 0.86rem;
}

.fd-a11y-speaking,
.fd-a11y-tts-highlight {
  background: #fff1a6 !important;
  color: #111111 !important;
  box-shadow: inset 0 -0.35em 0 rgba(255, 204, 0, 0.45);
}

html[data-fd-dyslexia="true"] body,
html[data-fd-dyslexia="true"] body :where(a, p, span, small, strong, em, b, i, li, dt, dd, h1, h2, h3, h4, h5, h6, label, legend, summary, button, input, select, textarea, th, td, figcaption, blockquote):not([class*="icon"]):not(.material-icons):not([aria-hidden="true"]),
html[data-fd-dyslexia="true"] input,
html[data-fd-dyslexia="true"] select,
html[data-fd-dyslexia="true"] textarea,
html[data-fd-dyslexia="true"] button {
  font-family: "OpenDyslexic", "Atkinson Hyperlegible", Arial, Verdana, sans-serif !important;
  font-size-adjust: 0.3;
  letter-spacing: var(--fd-a11y-letter-spacing);
}

html[data-fd-dyslexia="true"] body :where(div, section, article, header, footer, nav, main, aside):not([class*="icon"]):not([class*="material"]):not([class*="fa-"]):not([class*="lucide"]):not([class*="sf-"]):not([aria-hidden="true"]) {
  font-family: "OpenDyslexic", "Atkinson Hyperlegible", Arial, Verdana, sans-serif !important;
  font-size-adjust: 0.3;
}

html[data-fd-dyslexia="true"] body svg text {
  font-family: "OpenDyslexic", "Atkinson Hyperlegible", Arial, Verdana, sans-serif !important;
}

html[data-fd-dyslexia="true"] .fd-accessibility-widget,
html[data-fd-dyslexia="true"] .fd-accessibility-widget * {
  font-family: "OpenDyslexic", "Atkinson Hyperlegible", Arial, Verdana, sans-serif !important;
}

html[data-fd-dyslexia="true"] :where(p, li, dt, dd, h1, h2, h3, h4, h5, h6, figcaption, blockquote, .content, .lesson-content, .revision-content) {
  text-align: left !important;
}

html[data-fd-dyslexia="true"] :where(p, li, dt, dd, figcaption, blockquote, .content, .lesson-content, .revision-content) {
  overflow-wrap: break-word;
  line-height: var(--fd-a11y-line-height);
}

html[data-fd-dyslexia="true"] .content,
html[data-fd-dyslexia="true"] .lesson-content,
html[data-fd-dyslexia="true"] .revision-content {
  max-width: var(--fd-a11y-text-width);
}

html[data-fd-theme="dark"] {
  color-scheme: dark;
  --bg: #111111;
  --bg-2: #181818;
  --bg-3: #242424;
  --paper: #1d1d1d;
  --paper-strong: #242424;
  --ink: #f5f5f5;
  --ink-2: #eeeeee;
  --ink-body: #f0f0f0;
  --ink-70: rgba(245, 245, 245, 0.78);
  --ink-55: rgba(245, 245, 245, 0.62);
  --ink-40: rgba(245, 245, 245, 0.48);
  --ink-20: rgba(245, 245, 245, 0.28);
  --line: rgba(255, 255, 255, 0.22);
  --vision: #c9a3ff;
  --vision-2: #dbc4ff;
  --vision-bg: #30213e;
  --danger: #ff817a;
  --danger-bg: #4b1f1f;
  --ok: #70d99a;
  --ok-bg: #183826;
  --warn: #ffd27a;
  --warn-bg: #3d2c10;
  --night: #090909;
  --night-2: #151515;
  --cream: #f7f7f7;
  --cream-2: rgba(247, 247, 247, 0.82);
  --gold: #f0cb76;
  --gold-soft: #ffe1a0;
}

html[data-fd-theme="dark"]:not([data-fd-contrast="high"]) body :where(div, span, ul, ol, li) {
  background-color: transparent !important;
}

html[data-fd-theme="dark"]:not([data-fd-contrast="high"]) body div {
  color: #f5f5f5 !important;
  text-shadow: none !important;
}

html[data-fd-theme="dark"] body :where(a, p, span, small, strong, em, b, i, li, dt, dd, h1, h2, h3, h4, h5, h6, label, legend, summary, th, td, figcaption, blockquote) {
  color: #f5f5f5 !important;
  text-shadow: none !important;
}

html[data-fd-theme="dark"] body :where(.card, [class*="card"], [class*="panel"], [class*="modal"], [class*="drawer"], [class*="sheet"], [class*="tile"], [class*="item"], [class*="bubble"], [class*="message"], [class*="box"], [class*="block"], table, thead, tbody, tr, td, th, input, select, textarea) {
  background-color: #1d1d1d !important;
  border-color: rgba(255, 255, 255, 0.34) !important;
}

html[data-fd-theme="dark"] body a {
  color: #9ecbff !important;
}

html[data-fd-contrast="high"] {
  color-scheme: light;
  --bg: #ffffff;
  --bg-2: #ffffff;
  --bg-3: #f2f2f2;
  --paper: #ffffff;
  --paper-strong: #ffffff;
  --ink: #000000;
  --ink-2: #000000;
  --ink-body: #000000;
  --ink-70: #000000;
  --ink-55: #000000;
  --ink-40: #222222;
  --ink-20: #555555;
  --line: #000000;
  --vision: #3b0075;
  --vision-2: #23004a;
  --vision-bg: #f2e8ff;
  --danger: #b00020;
  --danger-bg: #fff0f0;
  --ok: #006b2d;
  --ok-bg: #e8fff1;
  --warn: #7a4a00;
  --warn-bg: #fff7d6;
  --fd-a11y-focus: #005fcc;
  --night: #ffffff;
  --night-2: #ffffff;
  --cream: #000000;
  --cream-2: #000000;
  --gold: #5f3b00;
  --gold-soft: #5f3b00;
  --ordre: #003f9e;
  --ordre-50: #ffffff;
  --conclave: #005a49;
  --conclave-50: #ffffff;
  --forge: #8f2f00;
  --forge-50: #ffffff;
}

html[data-fd-contrast="high"] body {
  background: #ffffff !important;
  color: #000000 !important;
}

html[data-fd-contrast="high"] body :where(a, p, span, small, strong, em, b, i, li, dt, dd, h1, h2, h3, h4, h5, h6, label, legend, summary, th, td, figcaption, blockquote) {
  color: #000000 !important;
  text-shadow: none !important;
}

html[data-fd-contrast="high"] a {
  background-color: #ffffff !important;
  color: #003f9e !important;
  text-decoration: underline;
}

html[data-fd-contrast="high"] button,
html[data-fd-contrast="high"] input,
html[data-fd-contrast="high"] select,
html[data-fd-contrast="high"] textarea,
html[data-fd-contrast="high"] .card,
html[data-fd-contrast="high"] [class*="card"],
html[data-fd-contrast="high"] [class*="panel"],
html[data-fd-contrast="high"] [class*="modal"],
html[data-fd-contrast="high"] [class*="drawer"],
html[data-fd-contrast="high"] [class*="sheet"],
html[data-fd-contrast="high"] [class*="tile"],
html[data-fd-contrast="high"] [class*="item"],
html[data-fd-contrast="high"] [class*="bubble"],
html[data-fd-contrast="high"] [class*="message"],
html[data-fd-contrast="high"] [class*="box"],
html[data-fd-contrast="high"] [class*="block"],
html[data-fd-contrast="high"] [class*="pill"],
html[data-fd-contrast="high"] [class*="badge"],
html[data-fd-contrast="high"] [class*="action"],
html[data-fd-contrast="high"] [class*="filter"],
html[data-fd-contrast="high"] [class*="tab"],
html[data-fd-contrast="high"] [class*="kpi"],
html[data-fd-contrast="high"] [class*="stat"],
html[data-fd-contrast="high"] [class*="metric"],
html[data-fd-contrast="high"] [class*="mode"],
html[data-fd-contrast="high"] [class*="course"],
html[data-fd-contrast="high"] [class*="podcast"],
html[data-fd-contrast="high"] [class*="subject"],
html[data-fd-contrast="high"] [class*="hero"],
html[data-fd-contrast="high"] [class*="shell"],
html[data-fd-contrast="high"] [class*="main"],
html[data-fd-contrast="high"] [class*="side"],
html[data-fd-contrast="high"] [class*="nav"],
html[data-fd-contrast="high"] table,
html[data-fd-contrast="high"] thead,
html[data-fd-contrast="high"] tbody,
html[data-fd-contrast="high"] tr,
html[data-fd-contrast="high"] td,
html[data-fd-contrast="high"] th {
  background-color: #ffffff !important;
  border-color: #000000 !important;
  color: #000000 !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

html[data-fd-contrast="high"] button,
html[data-fd-contrast="high"] [role="button"],
html[data-fd-contrast="high"] .btn,
html[data-fd-contrast="high"] [class*="button"] {
  background-color: #000000 !important;
  border-color: #000000 !important;
  color: #ffffff !important;
}

html[data-fd-contrast="high"] button *,
html[data-fd-contrast="high"] [role="button"] *,
html[data-fd-contrast="high"] .btn *,
html[data-fd-contrast="high"] [class*="button"] * {
  color: #ffffff !important;
}

html[data-fd-contrast="high"] body :where(a[class*="btn"], a[class*="button"], a[class*="action"], [role="tab"], [class*="tab"][aria-selected="true"]) {
  background-color: #000000 !important;
  border-color: #000000 !important;
  color: #ffffff !important;
}

html[data-fd-contrast="high"] input,
html[data-fd-contrast="high"] select,
html[data-fd-contrast="high"] textarea {
  background-color: #ffffff !important;
  color: #000000 !important;
}

html[data-fd-contrast="high"] .fd-accessibility-widget,
html[data-fd-contrast="high"] .fd-accessibility-widget * {
  color: #000000 !important;
}

html[data-fd-contrast="high"] .fd-accessibility-widget button {
  background-color: #ffffff !important;
  color: #000000 !important;
}

html[data-fd-contrast="high"] .fd-accessibility-drag,
html[data-fd-contrast="high"] .fd-accessibility-close {
  background-color: #ffffff !important;
  border-color: #000000 !important;
  color: #000000 !important;
}

html[data-fd-contrast="high"] .fd-accessibility-actions button,
html[data-fd-contrast="high"] .fd-accessibility-footer button {
  background-color: #000000 !important;
  color: #ffffff !important;
}

html[data-fd-theme="dark"] :where(button, a, .btn, .icon-btn, .fd-sidebar, .fd-sidebar-mobilebar, .search, .brand, .appbar, .rc-icon-actions, .rc-social-stat, .fd-accessibility-widget) svg,
html[data-fd-contrast="high"] :where(button, a, .btn, .icon-btn, .fd-sidebar, .fd-sidebar-mobilebar, .search, .brand, .appbar, .rc-icon-actions, .rc-social-stat, .fd-accessibility-widget) svg {
  color: currentColor !important;
}

html[data-fd-theme="dark"] :where(button, a, .btn, .icon-btn, .fd-sidebar, .fd-sidebar-mobilebar, .search, .brand, .appbar, .rc-icon-actions, .rc-social-stat, .fd-accessibility-widget) svg [stroke],
html[data-fd-contrast="high"] :where(button, a, .btn, .icon-btn, .fd-sidebar, .fd-sidebar-mobilebar, .search, .brand, .appbar, .rc-icon-actions, .rc-social-stat, .fd-accessibility-widget) svg [stroke] {
  stroke: currentColor !important;
}

html[data-fd-theme="dark"] :where(button, a, .btn, .icon-btn, .fd-sidebar, .fd-sidebar-mobilebar, .search, .brand, .appbar, .rc-icon-actions, .rc-social-stat, .fd-accessibility-widget) svg [fill]:not([fill="none"]),
html[data-fd-contrast="high"] :where(button, a, .btn, .icon-btn, .fd-sidebar, .fd-sidebar-mobilebar, .search, .brand, .appbar, .rc-icon-actions, .rc-social-stat, .fd-accessibility-widget) svg [fill]:not([fill="none"]) {
  fill: currentColor !important;
}

html[data-fd-theme="dark"] :where(button, a, .btn, .icon-btn, .fd-sidebar, .fd-sidebar-mobilebar, .search, .brand, .appbar, .rc-icon-actions, .rc-social-stat, .fd-accessibility-widget) > svg[stroke],
html[data-fd-contrast="high"] :where(button, a, .btn, .icon-btn, .fd-sidebar, .fd-sidebar-mobilebar, .search, .brand, .appbar, .rc-icon-actions, .rc-social-stat, .fd-accessibility-widget) > svg[stroke] {
  stroke: currentColor !important;
}

html[data-fd-theme="dark"] :where(button, a, .btn, .icon-btn, .fd-sidebar, .fd-sidebar-mobilebar, .search, .brand, .appbar, .rc-icon-actions, .rc-social-stat, .fd-accessibility-widget) > svg[fill]:not([fill="none"]),
html[data-fd-contrast="high"] :where(button, a, .btn, .icon-btn, .fd-sidebar, .fd-sidebar-mobilebar, .search, .brand, .appbar, .rc-icon-actions, .rc-social-stat, .fd-accessibility-widget) > svg[fill]:not([fill="none"]) {
  fill: currentColor !important;
}

html[data-fd-color-profile="protanopia"] {
  --danger: #705700;
  --danger-bg: #fff6cf;
  --ok: #005f91;
  --ok-bg: #e5f5ff;
  --warn: #934000;
  --vision: #565aa7;
  --forge: #005f91;
  --ordre: #004785;
  --conclave: #006b8f;
  --gold: #665400;
}

html[data-fd-color-profile="deuteranopia"] {
  --danger: #755000;
  --danger-bg: #fff4d6;
  --ok: #005f91;
  --ok-bg: #e2f4ff;
  --warn: #8b3f70;
  --vision: #4d50aa;
  --forge: #963b00;
  --ordre: #004785;
  --conclave: #005f91;
  --gold: #665400;
}

html[data-fd-color-profile="tritanopia"] {
  --danger: #963b00;
  --danger-bg: #fff0e4;
  --ok: #00694d;
  --ok-bg: #e5fff7;
  --warn: #843566;
  --vision: #005f91;
  --forge: #843566;
  --ordre: #00518f;
  --conclave: #006348;
  --gold: #704100;
}

html[data-fd-color-profile="achromatopsia"] {
  --danger: #202020;
  --danger-bg: #eeeeee;
  --ok: #555555;
  --ok-bg: #f5f5f5;
  --warn: #777777;
  --warn-bg: #f0f0f0;
  --vision: #111111;
  --vision-bg: #eeeeee;
  --forge: #333333;
  --ordre: #202020;
  --ordre-50: #f2f2f2;
  --conclave: #4a4a4a;
  --conclave-50: #eeeeee;
  --forge-50: #e8e8e8;
  --gold: #555555;
  --gold-soft: #444444;
  filter: grayscale(1);
}

html[data-fd-theme="light"][data-fd-contrast="normal"][data-fd-color-profile="none"] {
  --ink-55: rgba(26, 24, 20, 0.72);
  --ink-40: rgba(26, 24, 20, 0.62);
  --forge: #98421f;
  --danger: #9a3028;
  --warn: #765000;
}

html[data-fd-theme="light"][data-fd-contrast="normal"] body :where(.act-xp, .act-glyph, .pod-mat, .glyph, .hs-cell .v, em) {
  color: var(--ink, #1a1814) !important;
}

html[data-fd-theme="light"][data-fd-contrast="normal"] body :where(.act-cta, .arr, .r-xp, .amount, .pod-stats .stat.gold .ic, [style*="--c:var(--gold)"] .big, .tag[style*="--c:var(--gold)"]) {
  color: #68480d !important;
}

html[data-fd-theme="light"][data-fd-contrast="normal"] body :where(.act-plan-btn, .act-plan-btn *) {
  color: #98421f !important;
}

html[data-fd-theme="light"][data-fd-contrast="normal"] body .state-pill.off {
  color: #8d3225 !important;
}

html[data-fd-theme="light"][data-fd-contrast="normal"] body .s-av {
  background: #111111 !important;
  color: #ffffff !important;
}

html[data-fd-reduced-motion="true"],
html[data-fd-reduced-motion="true"] * {
  scroll-behavior: auto !important;
}

html[data-fd-reduced-motion="true"] *,
html[data-fd-reduced-motion="true"] *::before,
html[data-fd-reduced-motion="true"] *::after {
  animation-duration: 0.001ms !important;
  animation-iteration-count: 1 !important;
  transition-duration: 0.001ms !important;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.001ms !important;
  }
}

@media (max-width: 720px) {
  .fd-accessibility-widget {
    inset-inline-start: auto;
    inset-inline-end: 12px;
    inset-block-end: 12px;
    width: calc(100vw - 24px);
    max-width: none;
  }

  .fd-accessibility-panel {
    width: 100%;
    max-height: min(78vh, 680px);
    overflow: auto;
  }

  .fd-accessibility-grid,
  .fd-accessibility-actions {
    grid-template-columns: 1fr;
  }
}

html[data-fd-theme="dark"] .fd-accessibility-panel,
html[data-fd-theme="dark"] .fd-accessibility-panel * {
  text-shadow: none !important;
}

html[data-fd-theme="dark"] .fd-accessibility-widget {
  color: #f5f5f5 !important;
}

html[data-fd-theme="dark"] .fd-accessibility-toggle {
  background: #1b1b1b !important;
  border-color: rgba(255, 255, 255, 0.38) !important;
  color: #f5f5f5 !important;
}

html[data-fd-theme="dark"] .fd-accessibility-toggle span {
  color: #f5f5f5 !important;
}

html[data-fd-theme="dark"] .fd-accessibility-toggle span:first-child {
  background: #30213e !important;
  color: #f5f5f5 !important;
}

html[data-fd-theme="dark"] .fd-accessibility-panel {
  background: #1b1b1b !important;
  border-color: rgba(255, 255, 255, 0.38) !important;
  color: #f5f5f5 !important;
}

html[data-fd-theme="dark"] .fd-accessibility-panel :where(h2, h3, p, span, label) {
  color: #f5f5f5 !important;
}

html[data-fd-theme="dark"] .fd-accessibility-field,
html[data-fd-theme="dark"] .fd-accessibility-check,
html[data-fd-theme="dark"] .fd-tts-highlight-preview {
  background: #242424 !important;
  border-color: rgba(255, 255, 255, 0.34) !important;
  color: #f5f5f5 !important;
}

html[data-fd-theme="dark"] .fd-accessibility-field select,
html[data-fd-theme="dark"] .fd-accessibility-field input,
html[data-fd-theme="dark"] .fd-accessibility-drag,
html[data-fd-theme="dark"] .fd-accessibility-close {
  background: #111111 !important;
  border-color: rgba(255, 255, 255, 0.42) !important;
  color: #f5f5f5 !important;
}

html[data-fd-theme="dark"] .fd-accessibility-actions button,
html[data-fd-theme="dark"] .fd-accessibility-footer button {
  background: #f5efe2 !important;
  border-color: #f5efe2 !important;
  color: #111111 !important;
}

html[data-fd-theme="dark"]:not([data-fd-contrast="high"]) body,
html[data-fd-theme="dark"]:not([data-fd-contrast="high"]) body :where(header, main, section, footer) {
  background-color: #111111 !important;
  border-color: rgba(255, 255, 255, 0.3) !important;
  color: #f5f5f5 !important;
}

html[data-fd-theme="dark"]:not([data-fd-contrast="high"]) body :where(nav, article, aside, form, table, thead, tbody, tr, td, th) {
  background-color: #1d1d1d !important;
  border-color: rgba(255, 255, 255, 0.3) !important;
  color: #f5f5f5 !important;
}

html[data-fd-theme="dark"]:not([data-fd-contrast="high"]) body :where(.fd-sidebar, .fd-sidebar-mobilebar, [class*="card"], [class*="panel"], [class*="modal"], [class*="drawer"], [class*="sheet"]) {
  background-color: #1d1d1d !important;
  border-color: rgba(255, 255, 255, 0.3) !important;
  color: #f5f5f5 !important;
}

html[data-fd-theme="dark"]:not([data-fd-contrast="high"]) body :where(label.search, [class*="search"], [class*="field"], [class*="input"]) {
  background-color: #1d1d1d !important;
  border-color: rgba(255, 255, 255, 0.34) !important;
  color: #f5f5f5 !important;
}

html[data-fd-theme="dark"]:not([data-fd-contrast="high"]) body :where([class*="badge"], [class*="pill"], [class*="tag"], [class*="code"], [class*="amount"], [class*="stat"]) {
  background-color: #242424 !important;
  border-color: rgba(255, 255, 255, 0.34) !important;
  color: #f5f5f5 !important;
}

html[data-fd-theme="dark"]:not([data-fd-contrast="high"]) body .fd-skip-link {
  background: #ffffff !important;
  border-color: #111111 !important;
  color: #111111 !important;
}

html[data-fd-theme="dark"]:not([data-fd-contrast="high"]) body a:not(.fd-skip-link):not(.btn):not([class*="btn"]):not([class*="button"]),
html[data-fd-theme="dark"]:not([data-fd-contrast="high"]) body i {
  background-color: transparent !important;
}

html[data-fd-theme="dark"]:not([data-fd-contrast="high"]) body :is(button, [role="button"], .btn, [class*="btn"], [class*="button"]) {
  background: #f5efe2 !important;
  border-color: #f5efe2 !important;
  color: #111111 !important;
}

html[data-fd-theme="dark"]:not([data-fd-contrast="high"]) body :is(button, [role="button"], .btn, [class*="btn"], [class*="button"]) * {
  color: #111111 !important;
}

html[data-fd-theme="dark"]:not([data-fd-contrast="high"]) body :where(input, select, textarea) {
  background: #111111 !important;
  border-color: rgba(255, 255, 255, 0.42) !important;
  color: #f5f5f5 !important;
}

html[data-fd-theme="dark"]:not([data-fd-contrast="high"]) body .fd-accessibility-toggle span:first-child {
  background: #ffffff !important;
  color: #111111 !important;
}

/* High contrast is authoritative when combined with another visual profile. */
html[data-fd-contrast="high"] body,
html[data-fd-contrast="high"] body :where(header, nav, main, section, article, aside, footer, form, table, thead, tbody, tr, td, th) {
  background-color: #ffffff !important;
  background-image: none !important;
  border-color: #000000 !important;
  color: #000000 !important;
  text-shadow: none !important;
}

html[data-fd-contrast="high"] body :where(p, span, small, strong, em, b, i, li, dt, dd, h1, h2, h3, h4, h5, h6, label, legend, summary, figcaption, blockquote) {
  color: #000000 !important;
  text-shadow: none !important;
}

html[data-fd-contrast="high"] body :where(div, span, ul, ol, li, i) {
  background-color: transparent !important;
  background-image: none !important;
  border-color: #000000 !important;
  color: #000000 !important;
  text-shadow: none !important;
}

html[data-fd-contrast="high"] body .fd-accessibility-widget {
  color: #000000 !important;
}

html[data-fd-contrast="high"] body :is(button, [role="button"], .btn, [class*="button"]) {
  background: #000000 !important;
  border-color: #000000 !important;
  color: #ffffff !important;
}

html[data-fd-contrast="high"] body :is(button, [role="button"], .btn, [class*="button"]) * {
  color: #ffffff !important;
}

html[data-fd-contrast="high"] body a:not(.btn):not([class*="button"]) {
  background-color: transparent !important;
  color: #003f9e !important;
  text-decoration: underline !important;
  text-decoration-thickness: 0.12em;
  text-underline-offset: 0.16em;
}

html[data-fd-contrast="high"] body a.active,
html[data-fd-contrast="high"] body a.active * {
  background: #000000 !important;
  color: #ffffff !important;
}

html[data-fd-contrast="high"] .fd-accessibility-panel,
html[data-fd-contrast="high"] .fd-accessibility-panel :where(label, .fd-accessibility-field, .fd-accessibility-check, .fd-tts-highlight-preview) {
  background: #ffffff !important;
  color: #000000 !important;
}

html[data-fd-contrast="high"] body .fd-accessibility-panel :where(h2, h3, p, span, label) {
  color: #000000 !important;
  text-shadow: none !important;
}

html[data-fd-contrast="high"] body .fd-accessibility-toggle,
html[data-fd-contrast="high"] body .fd-accessibility-toggle * {
  background: #000000 !important;
  color: #ffffff !important;
}

/* Vision profiles: hue is secondary to luminance, shape and text. */
html[data-fd-color-profile="protanopia"] {
  --danger: #a63a00;
  --danger-bg: #fff0e7;
  --red: #a63a00;
  --red-soft: #fff0e7;
  --ok: #526b00;
  --ok-bg: #f2f6d5;
  --green: #526b00;
  --green-soft: #f2f6d5;
  --warn: #785000;
  --amber: #785000;
  --vision: #4b579e;
  --blue: #344f91;
  --forge: #a63a00;
  --ordre: #344f91;
  --conclave: #526b00;
  --gold: #665000;
}

html[data-fd-color-profile="deuteranopia"] {
  --danger: #a63a00;
  --danger-bg: #fff0e7;
  --red: #a63a00;
  --red-soft: #fff0e7;
  --ok: #006672;
  --ok-bg: #e1f6f8;
  --green: #006672;
  --green-soft: #e1f6f8;
  --warn: #765000;
  --amber: #765000;
  --vision: #4b4f9e;
  --blue: #344f91;
  --forge: #9a4100;
  --ordre: #344f91;
  --conclave: #006672;
  --gold: #665000;
}

html[data-fd-color-profile="tritanopia"] {
  --danger: #9f3d00;
  --danger-bg: #fff0e5;
  --red: #9f3d00;
  --red-soft: #fff0e5;
  --ok: #00684f;
  --ok-bg: #e2f8f1;
  --green: #00684f;
  --green-soft: #e2f8f1;
  --warn: #754700;
  --amber: #754700;
  --vision: #592b84;
  --blue: #592b84;
  --blue-soft: #f1e9fa;
  --forge: #8a315f;
  --ordre: #592b84;
  --conclave: #00684f;
  --gold: #754700;
}

html[data-fd-color-profile="achromatopsia"] {
  --danger: #111111;
  --danger-bg: #e2e2e2;
  --red: #111111;
  --red-soft: #e2e2e2;
  --ok: #353535;
  --ok-bg: #f4f4f4;
  --green: #353535;
  --green-soft: #f4f4f4;
  --warn: #5a5a5a;
  --warn-bg: #eeeeee;
  --amber: #5a5a5a;
  --vision: #111111;
  --vision-bg: #eeeeee;
  --blue: #222222;
  --blue-soft: #eeeeee;
  --forge: #333333;
  --ordre: #111111;
  --conclave: #4a4a4a;
  --gold: #555555;
  filter: grayscale(1);
}

html[data-fd-theme="dark"][data-fd-color-profile="protanopia"],
html[data-fd-theme="dark"][data-fd-color-profile="deuteranopia"],
html[data-fd-theme="dark"][data-fd-color-profile="tritanopia"] {
  --danger: #ff9a6a;
  --red: #ff9a6a;
  --ok: #79dbe2;
  --green: #79dbe2;
  --warn: #ffd166;
  --amber: #ffd166;
  --vision: #c7b5ff;
  --blue: #aebcff;
  --forge: #ffad7a;
  --ordre: #aebcff;
  --conclave: #79dbe2;
  --gold: #ffe08a;
}

html[data-fd-color-profile]:not([data-fd-color-profile="none"]) body
  :where(.state-pill, .s-status, .foot-tag, .rc-social-stat, [class*="badge"], [class*="pill"]) {
  border: 1px solid currentColor !important;
}

html[data-fd-color-profile]:not([data-fd-color-profile="none"]) body
  :where(.state-pill.ok, .s-status.live, .foot-tag.live, [class*="success"], [class*="valid"]) {
  border-style: double !important;
  border-width: 3px !important;
}

html[data-fd-color-profile]:not([data-fd-color-profile="none"]) body
  :where(.state-pill.off, .rev-card.urgent, [class*="danger"], [class*="error"], [class*="invalid"]) {
  border-style: dashed !important;
  border-width: 2px !important;
}

html[data-fd-color-profile]:not([data-fd-color-profile="none"]) body
  :where(.rev-card.amber, [class*="warning"], [class*="warn"]) {
  border-style: dotted !important;
  border-width: 2px !important;
}

html[data-fd-color-profile]:not([data-fd-color-profile="none"]) body
  :where(.icon-btn.active-like, .act-btn.liked, .rc-social-stat.is-liked) {
  outline: 2px solid currentColor !important;
  outline-offset: 2px;
}

html[data-fd-color-profile]:not([data-fd-color-profile="none"]) body
  :where(.icon-btn.active-save, .active-save) {
  outline: 3px double currentColor !important;
  outline-offset: 2px;
}

/* AAA high contrast: black surfaces, white text and yellow focus/action cues. */
html[data-fd-contrast="high"] {
  color-scheme: dark;
  --bg: #000000;
  --bg-2: #090909;
  --bg-3: #111111;
  --paper: #000000;
  --paper-strong: #090909;
  --ink: #ffffff;
  --ink-2: #ffffff;
  --ink-body: #ffffff;
  --ink-70: #ffffff;
  --ink-55: #f2f2f2;
  --ink-40: #dedede;
  --ink-20: #bfbfbf;
  --line: #ffffff;
  --vision: #fff200;
  --danger: #ffb38a;
  --ok: #b9ffef;
  --warn: #ffe36e;
  --gold: #fff200;
  --ordre: #ffffff;
  --conclave: #b9ffef;
  --forge: #ffb38a;
  --fd-a11y-focus: #fff200;
  --fd-a11y-focus-shadow: 0 0 0 4px rgba(255, 242, 0, 0.45);
}

html[data-fd-contrast="high"] body,
html[data-fd-contrast="high"] body :where(header, nav, main, section, article, aside, footer, form, table, thead, tbody, tr, td, th),
html[data-fd-contrast="high"] body [class*="card"],
html[data-fd-contrast="high"] body [class*="panel"],
html[data-fd-contrast="high"] body [class*="modal"],
html[data-fd-contrast="high"] body [class*="drawer"],
html[data-fd-contrast="high"] body [class*="sheet"],
html[data-fd-contrast="high"] body [class*="shell"],
html[data-fd-contrast="high"] body [class*="main"],
html[data-fd-contrast="high"] body [class*="side"],
html[data-fd-contrast="high"] body [class*="nav"],
html[data-fd-contrast="high"] body [class*="hero"],
html[data-fd-contrast="high"] body [class*="course"],
html[data-fd-contrast="high"] body [class*="subject"],
html[data-fd-contrast="high"] body [class*="podcast"],
html[data-fd-contrast="high"] body [class*="item"],
html[data-fd-contrast="high"] body [class*="tile"],
html[data-fd-contrast="high"] body [class*="block"],
html[data-fd-contrast="high"] body [class*="box"],
html[data-fd-contrast="high"] body [class*="badge"],
html[data-fd-contrast="high"] body [class*="pill"],
html[data-fd-contrast="high"] body [class*="tag"],
html[data-fd-contrast="high"] body [class*="action"],
html[data-fd-contrast="high"] body [class*="filter"],
html[data-fd-contrast="high"] body [class*="tab"],
html[data-fd-contrast="high"] body [class*="kpi"],
html[data-fd-contrast="high"] body [class*="stat"],
html[data-fd-contrast="high"] body [class*="metric"],
html[data-fd-contrast="high"] body [class*="mode"] {
  background-color: #000000 !important;
  background-image: none !important;
  border-color: #ffffff !important;
  color: #ffffff !important;
  text-shadow: none !important;
}

html[data-fd-contrast="high"] body :where(div, span, ul, ol, li, i) {
  background-color: transparent !important;
  background-image: none !important;
  border-color: #ffffff !important;
  color: #ffffff !important;
}

html[data-fd-contrast="high"] body :where(p, span, small, strong, em, b, i, li, dt, dd, h1, h2, h3, h4, h5, h6, label, legend, summary, figcaption, blockquote) {
  color: #ffffff !important;
}

html[data-fd-contrast="high"] body a:not(.btn):not([class*="button"]) {
  background: transparent !important;
  color: #fff200 !important;
  text-decoration: underline !important;
}

html[data-fd-contrast="high"] body :is(button, [role="button"], .btn, [class*="btn"], [class*="button"]),
html[data-fd-contrast="high"] body a[class*="btn"],
html[data-fd-contrast="high"] body a[class*="button"],
html[data-fd-contrast="high"] body a.active,
html[data-fd-contrast="high"] body a.active * {
  background: #fff200 !important;
  border: 2px solid #fff200 !important;
  color: #000000 !important;
}

html[data-fd-contrast="high"] body :is(button, [role="button"], .btn, [class*="btn"], [class*="button"]) * {
  color: #000000 !important;
}

html[data-fd-contrast="high"] body a[class*="btn"] *,
html[data-fd-contrast="high"] body a[class*="button"] * {
  color: #000000 !important;
}

html[data-fd-contrast="high"] body a[class*="btn"]:not(.active) *,
html[data-fd-contrast="high"] body a[class*="button"]:not(.active) *,
html[data-fd-contrast="high"] body .sm-btn:not(.active) * {
  color: #fff200 !important;
}

html[data-fd-contrast="high"] body a[class*="btn"].active *,
html[data-fd-contrast="high"] body a[class*="button"].active *,
html[data-fd-contrast="high"] body .sm-btn.active * {
  color: #000000 !important;
}

html[data-fd-contrast="high"] body :where(input, select, textarea) {
  background: #000000 !important;
  border: 2px solid #ffffff !important;
  color: #ffffff !important;
}

html[data-fd-contrast="high"] .fd-accessibility-panel,
html[data-fd-contrast="high"] .fd-accessibility-panel :where(label, .fd-accessibility-field, .fd-accessibility-check, .fd-tts-highlight-preview) {
  background: #000000 !important;
  border-color: #ffffff !important;
  color: #ffffff !important;
}

html[data-fd-contrast="high"] body .fd-accessibility-toggle,
html[data-fd-contrast="high"] body .fd-accessibility-toggle * {
  background: #fff200 !important;
  color: #000000 !important;
}

/* Respect the selected light theme when high contrast is enabled. */
html[data-fd-theme="light"][data-fd-contrast="high"] {
  color-scheme: light;
  --bg: #ffffff;
  --bg-2: #f5f5f5;
  --bg-3: #e8e8e8;
  --paper: #ffffff;
  --paper-strong: #ffffff;
  --ink: #000000;
  --ink-2: #000000;
  --ink-body: #000000;
  --ink-70: #000000;
  --ink-55: #111111;
  --ink-40: #222222;
  --ink-20: #444444;
  --line: #000000;
  --vision: #310064;
  --danger: #8f1d00;
  --ok: #00563f;
  --warn: #684000;
  --gold: #5a3900;
  --ordre: #003b82;
  --conclave: #00563f;
  --forge: #8f1d00;
  --fd-a11y-focus: #005fcc;
  --fd-a11y-focus-shadow: 0 0 0 4px rgba(0, 95, 204, 0.28);
}

html[data-fd-theme="light"][data-fd-contrast="high"] body,
html[data-fd-theme="light"][data-fd-contrast="high"] body :where(header, nav, main, section, article, aside, footer, form, table, thead, tbody, tr, td, th),
html[data-fd-theme="light"][data-fd-contrast="high"] body [class*="card"],
html[data-fd-theme="light"][data-fd-contrast="high"] body [class*="panel"],
html[data-fd-theme="light"][data-fd-contrast="high"] body [class*="modal"],
html[data-fd-theme="light"][data-fd-contrast="high"] body [class*="drawer"],
html[data-fd-theme="light"][data-fd-contrast="high"] body [class*="sheet"],
html[data-fd-theme="light"][data-fd-contrast="high"] body [class*="shell"],
html[data-fd-theme="light"][data-fd-contrast="high"] body [class*="main"],
html[data-fd-theme="light"][data-fd-contrast="high"] body [class*="side"],
html[data-fd-theme="light"][data-fd-contrast="high"] body [class*="nav"],
html[data-fd-theme="light"][data-fd-contrast="high"] body [class*="hero"],
html[data-fd-theme="light"][data-fd-contrast="high"] body [class*="course"],
html[data-fd-theme="light"][data-fd-contrast="high"] body [class*="subject"],
html[data-fd-theme="light"][data-fd-contrast="high"] body [class*="podcast"],
html[data-fd-theme="light"][data-fd-contrast="high"] body [class*="item"],
html[data-fd-theme="light"][data-fd-contrast="high"] body [class*="tile"],
html[data-fd-theme="light"][data-fd-contrast="high"] body [class*="block"],
html[data-fd-theme="light"][data-fd-contrast="high"] body [class*="box"],
html[data-fd-theme="light"][data-fd-contrast="high"] body [class*="badge"],
html[data-fd-theme="light"][data-fd-contrast="high"] body [class*="pill"],
html[data-fd-theme="light"][data-fd-contrast="high"] body [class*="tag"],
html[data-fd-theme="light"][data-fd-contrast="high"] body [class*="action"],
html[data-fd-theme="light"][data-fd-contrast="high"] body [class*="filter"],
html[data-fd-theme="light"][data-fd-contrast="high"] body [class*="tab"],
html[data-fd-theme="light"][data-fd-contrast="high"] body [class*="kpi"],
html[data-fd-theme="light"][data-fd-contrast="high"] body [class*="stat"],
html[data-fd-theme="light"][data-fd-contrast="high"] body [class*="metric"],
html[data-fd-theme="light"][data-fd-contrast="high"] body [class*="mode"] {
  background-color: #ffffff !important;
  background-image: none !important;
  border-color: #000000 !important;
  color: #000000 !important;
}

html[data-fd-theme="light"][data-fd-contrast="high"] body :where(div, span, ul, ol, li, i) {
  background-color: transparent !important;
  border-color: #000000 !important;
  color: #000000 !important;
}

html[data-fd-theme="light"][data-fd-contrast="high"] body :where(p, span, small, strong, em, b, i, li, dt, dd, h1, h2, h3, h4, h5, h6, label, legend, summary, figcaption, blockquote) {
  color: #000000 !important;
}

html[data-fd-theme="light"][data-fd-contrast="high"] body a:not(.btn):not([class*="button"]) {
  background: transparent !important;
  color: #003f9e !important;
}

html[data-fd-theme="light"][data-fd-contrast="high"] body :is(button, [role="button"], .btn, [class*="btn"], [class*="button"]),
html[data-fd-theme="light"][data-fd-contrast="high"] body a.active {
  background: #000000 !important;
  border: 2px solid #000000 !important;
  color: #ffffff !important;
}

html[data-fd-theme="light"][data-fd-contrast="high"] body :is(button, [role="button"], .btn, [class*="btn"], [class*="button"]) *,
html[data-fd-theme="light"][data-fd-contrast="high"] body a.active * {
  color: #ffffff !important;
}

html[data-fd-theme="light"][data-fd-contrast="high"] body :where(input, select, textarea) {
  background: #ffffff !important;
  border: 2px solid #000000 !important;
  color: #000000 !important;
}

html[data-fd-theme="light"][data-fd-contrast="high"] .fd-accessibility-panel,
html[data-fd-theme="light"][data-fd-contrast="high"] .fd-accessibility-panel :where(label, .fd-accessibility-field, .fd-accessibility-check, .fd-tts-highlight-preview) {
  background: #ffffff !important;
  border-color: #000000 !important;
  color: #000000 !important;
}

html[data-fd-theme="light"][data-fd-contrast="high"] body .fd-accessibility-toggle,
html[data-fd-theme="light"][data-fd-contrast="high"] body .fd-accessibility-toggle * {
  background: #ffffff !important;
  border-color: #000000 !important;
  color: #000000 !important;
}

/* Refined dark theme: preserve the visual hierarchy of the light interface. */
html[data-fd-theme="dark"]:not([data-fd-contrast="high"]) {
  color-scheme: dark;
  --bg: #11110f;
  --bg-2: #181714;
  --bg-3: #24211d;
  --paper: #1c1a17;
  --paper-strong: #25221e;
  --ink: #f7f4ed;
  --ink-2: #eee9df;
  --ink-body: #e5dfd4;
  --ink-70: #d2cbc0;
  --ink-55: #b8b0a4;
  --ink-40: #91897e;
  --ink-20: #625c54;
  --ink-15: #4d4842;
  --ink-08: #302d29;
  --line: #3d3932;
  --line-strong: #5a544b;
  --night: #0a0a09;
  --night-2: #13120f;
  --cream: #f7f4ed;
  --cream-2: #d9d2c6;
  --vision: #c9a7f2;
  --vision-2: #dec8f8;
  --vision-bg: #32263f;
  --ordre: #91b8ff;
  --ordre-bg: #1e2d48;
  --ordre-50: #1e2d48;
  --conclave: #73d6c1;
  --conclave-bg: #173a33;
  --conclave-50: #173a33;
  --forge: #f29b72;
  --forge-bg: #44281d;
  --forge-50: #44281d;
  --gold: #e4c270;
  --gold-soft: #f0d892;
  --gold-bg: #3c321c;
  --danger: #ff918a;
  --danger-bg: #482321;
  --red: #ff918a;
  --red-soft: #482321;
  --ok: #7ad7aa;
  --ok-bg: #19382a;
  --green: #7ad7aa;
  --green-soft: #19382a;
  --warn: #f1c76d;
  --warn-bg: #413419;
  --amber: #f1c76d;
  --amber-bg: #413419;
  --blue: #9dbfff;
  --blue-soft: #1e2d48;
}

html[data-fd-theme="dark"]:not([data-fd-contrast="high"]) body {
  background: #11110f !important;
  color: #e5dfd4 !important;
}

html[data-fd-theme="dark"]:not([data-fd-contrast="high"]) body :where(main, section, header, footer) {
  background-color: transparent !important;
  border-color: #3d3932 !important;
}

html[data-fd-theme="dark"]:not([data-fd-contrast="high"]) body :where(.appbar, .fd-sidebar, .fd-sidebar-mobilebar, nav) {
  background-color: #181714 !important;
  border-color: #3d3932 !important;
}

html[data-fd-theme="dark"]:not([data-fd-contrast="high"]) body :where(article, aside, form, table, thead, tbody, tr, td, th),
html[data-fd-theme="dark"]:not([data-fd-contrast="high"]) body :where([class*="card"], [class*="panel"], [class*="modal"], [class*="drawer"], [class*="sheet"], [class*="tile"], [class*="item"], [class*="bubble"], [class*="message"], [class*="box"]) {
  background-color: #1c1a17 !important;
  border-color: #3d3932 !important;
  color: #e5dfd4 !important;
  box-shadow: none;
}

html[data-fd-theme="dark"]:not([data-fd-contrast="high"]) body :where(h1, h2, h3, h4, h5, h6, strong, b, legend) {
  color: #f7f4ed !important;
}

html[data-fd-theme="dark"]:not([data-fd-contrast="high"]) body :where(p, small, li, dt, dd, td, th, label, figcaption, blockquote) {
  color: #d2cbc0 !important;
}

html[data-fd-theme="dark"]:not([data-fd-contrast="high"]) body :where(.sub, .meta, .muted, [class*="subtitle"], [class*="description"], [class*="caption"], [class*="hint"]) {
  color: #b8b0a4 !important;
}

html[data-fd-theme="dark"]:not([data-fd-contrast="high"]) body a:not(.fd-skip-link) {
  background-color: transparent !important;
  color: #9dccff !important;
}

html[data-fd-theme="dark"]:not([data-fd-contrast="high"]) body :where(input, select, textarea, label.search, [class*="search"], [class*="field"], [class*="input"]) {
  background-color: #171613 !important;
  border-color: #514b43 !important;
  color: #f7f4ed !important;
}

html[data-fd-theme="dark"]:not([data-fd-contrast="high"]) body :where(input, textarea)::placeholder {
  color: #91897e !important;
  opacity: 1;
}

html[data-fd-theme="dark"]:not([data-fd-contrast="high"]) body :is(button, [role="button"], .btn, [class*="btn"], [class*="button"]) {
  background: #25221e !important;
  border-color: #514b43 !important;
  color: #f7f4ed !important;
}

html[data-fd-theme="dark"]:not([data-fd-contrast="high"]) body :is(button, [role="button"], .btn, [class*="btn"], [class*="button"]) * {
  color: inherit !important;
}

html[data-fd-theme="dark"]:not([data-fd-contrast="high"]) body :where(
  button.active,
  [role="button"][aria-pressed="true"],
  [role="tab"][aria-selected="true"],
  .btn-primary,
  .primary,
  [class*="button"].active,
  [class*="btn"].active
) {
  background: #c9a7f2 !important;
  border-color: #c9a7f2 !important;
  color: #17111d !important;
}

html[data-fd-theme="dark"]:not([data-fd-contrast="high"]) body :where(
  button.active,
  [role="button"][aria-pressed="true"],
  [role="tab"][aria-selected="true"],
  .btn-primary,
  .primary,
  [class*="button"].active,
  [class*="btn"].active
) * {
  color: #17111d !important;
}

html[data-fd-theme="dark"]:not([data-fd-contrast="high"]) body :where(.icon-btn, [class*="icon-btn"], .act-btn) {
  background: #1c1a17 !important;
  border-color: #514b43 !important;
  color: #d2cbc0 !important;
}

html[data-fd-theme="dark"]:not([data-fd-contrast="high"]) body :where(.state-pill.ok, .s-status.live, .foot-tag.live, .pill.pop) {
  background: #19382a !important;
  border-color: #34765a !important;
  color: #9be7c2 !important;
}

html[data-fd-theme="dark"]:not([data-fd-contrast="high"]) body :where(.state-pill.off, .danger, [class*="error"], [class*="invalid"], .active-like, .liked) {
  background: #482321 !important;
  border-color: #81413d !important;
  color: #ffaaa4 !important;
}

html[data-fd-theme="dark"]:not([data-fd-contrast="high"]) body :where(.chip-xp, .ledger-badge, .crumb .badge, .pill.master) {
  background: #32263f !important;
  border-color: #5f4974 !important;
  color: #dec8f8 !important;
}

html[data-fd-theme="dark"]:not([data-fd-contrast="high"]) body :where(.chip-streak, .foot-tag.gold, .act-xp, .amount, .credit-cell .v) {
  background-color: #3c321c !important;
  border-color: #66572f !important;
  color: #f0d892 !important;
}

html[data-fd-theme="dark"]:not([data-fd-contrast="high"]) body :where(.badge, [class*="badge"], .pill, [class*="pill"], .tag, [class*="tag"], [class*="code"], .rc-social-stat, .pod-stat) {
  background-color: #24211d !important;
  border-color: #514b43 !important;
  color: #d8d1c5 !important;
}

html[data-fd-theme="dark"]:not([data-fd-contrast="high"]) body :where(.progress, .bar, [class*="track"]) {
  background-color: #302d29 !important;
}

html[data-fd-theme="dark"]:not([data-fd-contrast="high"]) body :where(.progress > *, .bar > i, [class*="progress"] > i, [class*="progress"] > span) {
  background-color: #c9a7f2 !important;
}

html[data-fd-theme="dark"]:not([data-fd-contrast="high"]) body :where(.fd-accessibility-panel, .fd-accessibility-field, .fd-accessibility-check, .fd-tts-highlight-preview) {
  background: #1c1a17 !important;
  border-color: #514b43 !important;
  color: #f7f4ed !important;
}

html[data-fd-theme="dark"]:not([data-fd-contrast="high"]) body .fd-accessibility-toggle {
  background: #25221e !important;
  border-color: #625b51 !important;
  color: #f7f4ed !important;
}
