/* Generated from #C8511B by ramp.py -- four themes.
   Light is the complete palette on bare :root; every other block redefines
   only what changes. A color whose only definition lives inside a media
   query is a color that disappears in the other theme.
   An explicit choice wins over the system preference on both axes. */
:root {
  color-scheme: light dark;
  --pf-bg: #fbfaf9;
  --pf-surface-1: #f6f3f2;
  --pf-surface-2: #ebe7e5;
  --pf-surface-3: #d9d5d3;
  --pf-text: #0c0b0a;
  --pf-text-muted: #534f4d;
  --pf-text-subtle: #6a6563;
  --pf-border: #857f7c;
  --pf-border-strong: #534f4d;
  --pf-accent: #8b2b00;
  --pf-on-accent: #fbfaf9;
  --pf-accent-text: #aa3e05;
  --pf-accent-subtle: #fff4ea;
  --pf-on-accent-subtle: #0c0b0a;
  --pf-focus: #aa3e05;
  --pf-success: #006128;
  --pf-on-success: #fbfaf9;
  --pf-success-text: #117a39;
  --pf-warning: #6a4900;
  --pf-on-warning: #fbfaf9;
  --pf-warning-text: #865e00;
  --pf-danger: #862e29;
  --pf-on-danger: #fbfaf9;
  --pf-danger-text: #a5413a;
  --pf-info: #00518f;
  --pf-on-info: #fbfaf9;
  --pf-info-text: #1569af;
}

/* --- dark ------------------------------------------------------------- */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    color-scheme: dark;
    --pf-bg: #0c0b0a;
    --pf-surface-1: #191615;
    --pf-surface-2: #2b2725;
    --pf-surface-3: #3f3937;
    --pf-text: #f7f2f1;
    --pf-text-muted: #a59c99;
    --pf-text-subtle: #877e7b;
    --pf-border: #6c6461;
    --pf-border-strong: #877e7b;
    --pf-accent: #dd8462;
    --pf-on-accent: #0c0b0a;
    --pf-accent-text: #faa686;
    --pf-accent-subtle: #160703;
    --pf-on-accent-subtle: #fcf9f8;
    --pf-focus: #faa686;
    --pf-success: #6bb17b;
    --pf-on-success: #0c0b0a;
    --pf-success-text: #90d09d;
    --pf-warning: #bd9949;
    --pf-on-warning: #0c0b0a;
    --pf-warning-text: #dbb972;
    --pf-danger: #d9847a;
    --pf-on-danger: #0c0b0a;
    --pf-danger-text: #f6a69c;
    --pf-info: #69a3df;
    --pf-on-info: #0c0b0a;
    --pf-info-text: #8dc3fb;
  }
}

:root[data-theme="dark"] {
  color-scheme: dark;
  --pf-bg: #0c0b0a;
  --pf-surface-1: #191615;
  --pf-surface-2: #2b2725;
  --pf-surface-3: #3f3937;
  --pf-text: #f7f2f1;
  --pf-text-muted: #a59c99;
  --pf-text-subtle: #877e7b;
  --pf-border: #6c6461;
  --pf-border-strong: #877e7b;
  --pf-accent: #dd8462;
  --pf-on-accent: #0c0b0a;
  --pf-accent-text: #faa686;
  --pf-accent-subtle: #160703;
  --pf-on-accent-subtle: #fcf9f8;
  --pf-focus: #faa686;
  --pf-success: #6bb17b;
  --pf-on-success: #0c0b0a;
  --pf-success-text: #90d09d;
  --pf-warning: #bd9949;
  --pf-on-warning: #0c0b0a;
  --pf-warning-text: #dbb972;
  --pf-danger: #d9847a;
  --pf-on-danger: #0c0b0a;
  --pf-danger-text: #f6a69c;
  --pf-info: #69a3df;
  --pf-on-info: #0c0b0a;
  --pf-info-text: #8dc3fb;
}

/* --- more contrast ---------------------------------------------------- */
/* prefers-contrast: more is most often a low-vision user asking for exactly
   this. The selectors carry an extra :not() so they outrank the theme blocks
   above rather than losing to them at equal specificity. */
@media (prefers-contrast: more) {
  :root:not([data-contrast="normal"]):not([data-theme="dark"]) {
    --pf-text-muted: #3d3a38;
    --pf-text-subtle: #534f4d;
    --pf-border: #6a6563;
    --pf-accent: #642304;
    --pf-accent-text: #833411;
    --pf-focus: #833411;
    --pf-success: #00320e;
    --pf-success-text: #006128;
    --pf-warning: #382300;
    --pf-warning-text: #6a4900;
    --pf-danger: #671e1a;
    --pf-danger-text: #862e29;
    --pf-info: #00284f;
    --pf-info-text: #00518f;
  }
}

@media (prefers-contrast: more) and (prefers-color-scheme: dark) {
  :root:not([data-contrast="normal"]):not([data-theme="light"]) {
    color-scheme: dark;
    --pf-bg: #0c0b0a;
    --pf-surface-1: #191615;
    --pf-surface-2: #2b2725;
    --pf-surface-3: #3f3937;
    --pf-text: #f7f2f1;
    --pf-text-muted: #c4bcb9;
    --pf-text-subtle: #a59c99;
    --pf-border: #877e7b;
    --pf-border-strong: #a59c99;
    --pf-accent: #f1aa8f;
    --pf-on-accent: #0c0b0a;
    --pf-accent-text: #f1aa8f;
    --pf-accent-subtle: #140704;
    --pf-on-accent-subtle: #fcf9f8;
    --pf-focus: #f1aa8f;
    --pf-success: #90d09d;
    --pf-on-success: #0c0b0a;
    --pf-success-text: #90d09d;
    --pf-warning: #dbb972;
    --pf-on-warning: #0c0b0a;
    --pf-warning-text: #dbb972;
    --pf-danger: #f6a69c;
    --pf-on-danger: #0c0b0a;
    --pf-danger-text: #f6a69c;
    --pf-info: #8dc3fb;
    --pf-on-info: #0c0b0a;
    --pf-info-text: #8dc3fb;
  }
}

@media (prefers-contrast: more) {
  :root[data-theme="dark"]:not([data-contrast="normal"]) {
    color-scheme: dark;
    --pf-bg: #0c0b0a;
    --pf-surface-1: #191615;
    --pf-surface-2: #2b2725;
    --pf-surface-3: #3f3937;
    --pf-text: #f7f2f1;
    --pf-text-muted: #c4bcb9;
    --pf-text-subtle: #a59c99;
    --pf-border: #877e7b;
    --pf-border-strong: #a59c99;
    --pf-accent: #f1aa8f;
    --pf-on-accent: #0c0b0a;
    --pf-accent-text: #f1aa8f;
    --pf-accent-subtle: #140704;
    --pf-on-accent-subtle: #fcf9f8;
    --pf-focus: #f1aa8f;
    --pf-success: #90d09d;
    --pf-on-success: #0c0b0a;
    --pf-success-text: #90d09d;
    --pf-warning: #dbb972;
    --pf-on-warning: #0c0b0a;
    --pf-warning-text: #dbb972;
    --pf-danger: #f6a69c;
    --pf-on-danger: #0c0b0a;
    --pf-danger-text: #f6a69c;
    --pf-info: #8dc3fb;
    --pf-on-info: #0c0b0a;
    --pf-info-text: #8dc3fb;
  }
}

/* --- an explicit contrast choice, which beats the preference ----------- */
:root[data-contrast="high"]:not([data-theme="dark"]) {
  --pf-text-muted: #3d3a38;
  --pf-text-subtle: #534f4d;
  --pf-border: #6a6563;
  --pf-accent: #642304;
  --pf-accent-text: #833411;
  --pf-focus: #833411;
  --pf-success: #00320e;
  --pf-success-text: #006128;
  --pf-warning: #382300;
  --pf-warning-text: #6a4900;
  --pf-danger: #671e1a;
  --pf-danger-text: #862e29;
  --pf-info: #00284f;
  --pf-info-text: #00518f;
}

@media (prefers-color-scheme: dark) {
  :root[data-contrast="high"]:not([data-theme="light"]) {
    color-scheme: dark;
    --pf-bg: #0c0b0a;
    --pf-surface-1: #191615;
    --pf-surface-2: #2b2725;
    --pf-surface-3: #3f3937;
    --pf-text: #f7f2f1;
    --pf-text-muted: #c4bcb9;
    --pf-text-subtle: #a59c99;
    --pf-border: #877e7b;
    --pf-border-strong: #a59c99;
    --pf-accent: #f1aa8f;
    --pf-on-accent: #0c0b0a;
    --pf-accent-text: #f1aa8f;
    --pf-accent-subtle: #140704;
    --pf-on-accent-subtle: #fcf9f8;
    --pf-focus: #f1aa8f;
    --pf-success: #90d09d;
    --pf-on-success: #0c0b0a;
    --pf-success-text: #90d09d;
    --pf-warning: #dbb972;
    --pf-on-warning: #0c0b0a;
    --pf-warning-text: #dbb972;
    --pf-danger: #f6a69c;
    --pf-on-danger: #0c0b0a;
    --pf-danger-text: #f6a69c;
    --pf-info: #8dc3fb;
    --pf-on-info: #0c0b0a;
    --pf-info-text: #8dc3fb;
  }
}

:root[data-contrast="high"][data-theme="dark"] {
  color-scheme: dark;
  --pf-bg: #0c0b0a;
  --pf-surface-1: #191615;
  --pf-surface-2: #2b2725;
  --pf-surface-3: #3f3937;
  --pf-text: #f7f2f1;
  --pf-text-muted: #c4bcb9;
  --pf-text-subtle: #a59c99;
  --pf-border: #877e7b;
  --pf-border-strong: #a59c99;
  --pf-accent: #f1aa8f;
  --pf-on-accent: #0c0b0a;
  --pf-accent-text: #f1aa8f;
  --pf-accent-subtle: #140704;
  --pf-on-accent-subtle: #fcf9f8;
  --pf-focus: #f1aa8f;
  --pf-success: #90d09d;
  --pf-on-success: #0c0b0a;
  --pf-success-text: #90d09d;
  --pf-warning: #dbb972;
  --pf-on-warning: #0c0b0a;
  --pf-warning-text: #dbb972;
  --pf-danger: #f6a69c;
  --pf-on-danger: #0c0b0a;
  --pf-danger-text: #f6a69c;
  --pf-info: #8dc3fb;
  --pf-on-info: #0c0b0a;
  --pf-info-text: #8dc3fb;
}

body {
  background: var(--pf-bg);
  color: var(--pf-text);
}

