:root,
html[data-rm-theme="aurora"] {
  color-scheme: light;

  --rm-background: #f7f7fc;
  --rm-background-rgb: 247, 247, 252;
  --rm-surface: #ffffff;
  --rm-surface-rgb: 255, 255, 255;
  --rm-surface-raised: #ffffff;
  --rm-surface-raised-rgb: 255, 255, 255;
  --rm-surface-soft: #f1eefa;
  --rm-surface-soft-rgb: 241, 238, 250;
  --rm-surface-hover: #f8f5ff;
  --rm-text: #17152b;
  --rm-text-rgb: 23, 21, 43;
  --rm-text-muted: #5e6375;
  --rm-text-muted-rgb: 94, 99, 117;
  --rm-border: #dad6e7;
  --rm-border-rgb: 218, 214, 231;
  --rm-border-strong: #8e899f;
  --rm-accent: #6f3ccf;
  --rm-accent-rgb: 111, 60, 207;
  --rm-accent-strong: #4f2aa6;
  --rm-accent-strong-rgb: 79, 42, 166;
  --rm-accent-soft: #eee7ff;
  --rm-on-accent: #ffffff;
  --rm-on-accent-rgb: 255, 255, 255;
  --rm-focus-ring: #7c3aed;
  --rm-focus-ring-rgb: 124, 58, 237;

  --rm-success-text: #166534;
  --rm-success-bg: #e7f6ed;
  --rm-success-border: #3d8b5a;
  --rm-success-solid: #166534;
  --rm-success-solid-rgb: 22, 101, 52;
  --rm-info-text: #075985;
  --rm-info-bg: #eaf7ff;
  --rm-info-border: #287ea8;
  --rm-info-solid: #075985;
  --rm-info-solid-rgb: 7, 89, 133;
  --rm-warning-text: #7c4700;
  --rm-warning-bg: #fff6d8;
  --rm-warning-border: #a35f00;
  --rm-warning-solid: #f4c95d;
  --rm-warning-solid-rgb: 244, 201, 93;
  --rm-warning-button-text: #2b1b00;
  --rm-danger-text: #a61b1b;
  --rm-danger-bg: #fff0f1;
  --rm-danger-border: #bf4651;
  --rm-danger-solid: #a61b1b;
  --rm-danger-solid-rgb: 166, 27, 27;
  --rm-neutral-text: #475569;
  --rm-neutral-bg: #f1f5f9;
  --rm-neutral-border: #7c8ba1;

  --rm-glass: rgba(255, 255, 255, 0.82);
  --rm-overlay: rgba(19, 16, 43, 0.56);
  --rm-shadow-sm: 0 6px 18px rgba(39, 26, 84, 0.07);
  --rm-shadow-md: 0 16px 38px rgba(39, 26, 84, 0.1);
  --rm-shadow-lg: 0 28px 68px rgba(39, 26, 84, 0.16);
  --rm-canvas-glow:
    radial-gradient(900px circle at 6% -12%, rgba(143, 98, 255, 0.14), transparent 54%),
    radial-gradient(760px circle at 102% 2%, rgba(231, 78, 176, 0.08), transparent 52%);
  --rm-surface-gloss: linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(248, 245, 255, 0.92));
  --rm-sidebar-gradient: linear-gradient(180deg, #24184a 0%, #30205f 52%, #24184a 100%);
  --rm-sidebar-text: #f8f7ff;
  --rm-sidebar-muted: #c9c2df;
  --rm-sidebar-border: rgba(255, 255, 255, 0.12);
  --rm-sidebar-hover: rgba(255, 255, 255, 0.09);
  --rm-sidebar-active: rgba(190, 163, 255, 0.22);
}

html[data-rm-theme="ocean"] {
  color-scheme: light;

  --rm-background: #f3f8fa;
  --rm-background-rgb: 243, 248, 250;
  --rm-surface: #ffffff;
  --rm-surface-rgb: 255, 255, 255;
  --rm-surface-raised: #ffffff;
  --rm-surface-raised-rgb: 255, 255, 255;
  --rm-surface-soft: #eaf4f6;
  --rm-surface-soft-rgb: 234, 244, 246;
  --rm-surface-hover: #e8f6f7;
  --rm-text: #10272e;
  --rm-text-rgb: 16, 39, 46;
  --rm-text-muted: #536b73;
  --rm-text-muted-rgb: 83, 107, 115;
  --rm-border: #cddee2;
  --rm-border-rgb: 205, 222, 226;
  --rm-border-strong: #718c94;
  --rm-accent: #006d7a;
  --rm-accent-rgb: 0, 109, 122;
  --rm-accent-strong: #004e59;
  --rm-accent-strong-rgb: 0, 78, 89;
  --rm-accent-soft: #ddf4f6;
  --rm-on-accent: #ffffff;
  --rm-on-accent-rgb: 255, 255, 255;
  --rm-focus-ring: #007e8e;
  --rm-focus-ring-rgb: 0, 126, 142;

  --rm-glass: rgba(255, 255, 255, 0.84);
  --rm-overlay: rgba(6, 34, 42, 0.58);
  --rm-shadow-sm: 0 6px 18px rgba(7, 64, 73, 0.07);
  --rm-shadow-md: 0 16px 38px rgba(7, 64, 73, 0.1);
  --rm-shadow-lg: 0 28px 68px rgba(7, 64, 73, 0.16);
  --rm-canvas-glow:
    radial-gradient(900px circle at 4% -14%, rgba(24, 169, 180, 0.14), transparent 54%),
    radial-gradient(760px circle at 102% 2%, rgba(67, 146, 214, 0.09), transparent 52%);
  --rm-surface-gloss: linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(238, 249, 250, 0.94));
  --rm-sidebar-gradient: linear-gradient(180deg, #073d48 0%, #085461 52%, #073d48 100%);
  --rm-sidebar-text: #f3fdff;
  --rm-sidebar-muted: #b8d9de;
  --rm-sidebar-border: rgba(255, 255, 255, 0.13);
  --rm-sidebar-hover: rgba(255, 255, 255, 0.09);
  --rm-sidebar-active: rgba(118, 230, 235, 0.2);
}

html[data-rm-theme="ember"] {
  color-scheme: light;

  --rm-background: #fcf7f2;
  --rm-background-rgb: 252, 247, 242;
  --rm-surface: #ffffff;
  --rm-surface-rgb: 255, 255, 255;
  --rm-surface-raised: #ffffff;
  --rm-surface-raised-rgb: 255, 255, 255;
  --rm-surface-soft: #faeee5;
  --rm-surface-soft-rgb: 250, 238, 229;
  --rm-surface-hover: #fff5ea;
  --rm-text: #2b1b16;
  --rm-text-rgb: 43, 27, 22;
  --rm-text-muted: #6c584f;
  --rm-text-muted-rgb: 108, 88, 79;
  --rm-border: #e6d5ca;
  --rm-border-rgb: 230, 213, 202;
  --rm-border-strong: #987b6e;
  --rm-accent: #b54708;
  --rm-accent-rgb: 181, 71, 8;
  --rm-accent-strong: #7a2e0e;
  --rm-accent-strong-rgb: 122, 46, 14;
  --rm-accent-soft: #fff0de;
  --rm-on-accent: #ffffff;
  --rm-on-accent-rgb: 255, 255, 255;
  --rm-focus-ring: #c2410c;
  --rm-focus-ring-rgb: 194, 65, 12;

  --rm-glass: rgba(255, 255, 255, 0.84);
  --rm-overlay: rgba(47, 24, 15, 0.58);
  --rm-shadow-sm: 0 6px 18px rgba(96, 45, 20, 0.07);
  --rm-shadow-md: 0 16px 38px rgba(96, 45, 20, 0.1);
  --rm-shadow-lg: 0 28px 68px rgba(96, 45, 20, 0.16);
  --rm-canvas-glow:
    radial-gradient(900px circle at 4% -14%, rgba(234, 130, 62, 0.14), transparent 54%),
    radial-gradient(760px circle at 102% 2%, rgba(194, 65, 92, 0.08), transparent 52%);
  --rm-surface-gloss: linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(255, 246, 238, 0.94));
  --rm-sidebar-gradient: linear-gradient(180deg, #512414 0%, #6a2f18 52%, #512414 100%);
  --rm-sidebar-text: #fff9f5;
  --rm-sidebar-muted: #e8c8b8;
  --rm-sidebar-border: rgba(255, 255, 255, 0.13);
  --rm-sidebar-hover: rgba(255, 255, 255, 0.09);
  --rm-sidebar-active: rgba(255, 187, 129, 0.2);
}

html[data-rm-theme="midnight"] {
  color-scheme: dark;

  --rm-background: #0b1020;
  --rm-background-rgb: 11, 16, 32;
  --rm-surface: #131a2d;
  --rm-surface-rgb: 19, 26, 45;
  --rm-surface-raised: #19233b;
  --rm-surface-raised-rgb: 25, 35, 59;
  --rm-surface-soft: #202a43;
  --rm-surface-soft-rgb: 32, 42, 67;
  --rm-surface-hover: #26314d;
  --rm-text: #f5f7ff;
  --rm-text-rgb: 245, 247, 255;
  --rm-text-muted: #aeb9d0;
  --rm-text-muted-rgb: 174, 185, 208;
  --rm-border: #34405a;
  --rm-border-rgb: 52, 64, 90;
  --rm-border-strong: #697794;
  --rm-accent: #a78bfa;
  --rm-accent-rgb: 167, 139, 250;
  --rm-accent-strong: #c4b5fd;
  --rm-accent-strong-rgb: 196, 181, 253;
  --rm-accent-soft: #2a2147;
  --rm-on-accent: #17112b;
  --rm-on-accent-rgb: 23, 17, 43;
  --rm-focus-ring: #c4b5fd;
  --rm-focus-ring-rgb: 196, 181, 253;

  --rm-success-text: #6ee7b7;
  --rm-success-bg: #0e2b25;
  --rm-success-border: #38a47c;
  --rm-success-solid: #166b50;
  --rm-success-solid-rgb: 22, 107, 80;
  --rm-info-text: #7dd3fc;
  --rm-info-bg: #0d2936;
  --rm-info-border: #2785ad;
  --rm-info-solid: #166585;
  --rm-info-solid-rgb: 22, 101, 133;
  --rm-warning-text: #fcd34d;
  --rm-warning-bg: #33250d;
  --rm-warning-border: #b88416;
  --rm-warning-solid: #d8a72a;
  --rm-warning-solid-rgb: 216, 167, 42;
  --rm-warning-button-text: #17112b;
  --rm-danger-text: #fda4af;
  --rm-danger-bg: #36151e;
  --rm-danger-border: #c45464;
  --rm-danger-solid: #9f3142;
  --rm-danger-solid-rgb: 159, 49, 66;
  --rm-neutral-text: #cbd5e1;
  --rm-neutral-bg: #252e42;
  --rm-neutral-border: #71809c;

  --rm-glass: rgba(19, 26, 45, 0.86);
  --rm-overlay: rgba(2, 5, 14, 0.72);
  --rm-shadow-sm: 0 8px 20px rgba(0, 0, 0, 0.22);
  --rm-shadow-md: 0 18px 42px rgba(0, 0, 0, 0.3);
  --rm-shadow-lg: 0 32px 72px rgba(0, 0, 0, 0.4);
  --rm-canvas-glow:
    radial-gradient(900px circle at 4% -14%, rgba(124, 91, 220, 0.18), transparent 54%),
    radial-gradient(760px circle at 102% 2%, rgba(44, 133, 191, 0.12), transparent 52%);
  --rm-surface-gloss: linear-gradient(145deg, rgba(31, 42, 70, 0.96), rgba(19, 26, 45, 0.98));
  --rm-sidebar-gradient: linear-gradient(180deg, #080c18 0%, #11182a 52%, #080c18 100%);
  --rm-sidebar-text: #f5f7ff;
  --rm-sidebar-muted: #aeb9d0;
  --rm-sidebar-border: rgba(255, 255, 255, 0.12);
  --rm-sidebar-hover: rgba(255, 255, 255, 0.08);
  --rm-sidebar-active: rgba(167, 139, 250, 0.2);
}

html[data-rm-theme="graphite"] {
  color-scheme: dark;

  --rm-background: #16181d;
  --rm-background-rgb: 22, 24, 29;
  --rm-surface: #20232a;
  --rm-surface-rgb: 32, 35, 42;
  --rm-surface-raised: #292d36;
  --rm-surface-raised-rgb: 41, 45, 54;
  --rm-surface-soft: #2f3440;
  --rm-surface-soft-rgb: 47, 52, 64;
  --rm-surface-hover: #383e4b;
  --rm-text: #f3f4f6;
  --rm-text-rgb: 243, 244, 246;
  --rm-text-muted: #b7bdc8;
  --rm-text-muted-rgb: 183, 189, 200;
  --rm-border: #3e4552;
  --rm-border-rgb: 62, 69, 82;
  --rm-border-strong: #7f8998;
  --rm-accent: #c4cad4;
  --rm-accent-rgb: 196, 202, 212;
  --rm-accent-strong: #e5e7eb;
  --rm-accent-strong-rgb: 229, 231, 235;
  --rm-accent-soft: #343a45;
  --rm-on-accent: #111318;
  --rm-on-accent-rgb: 17, 19, 24;
  --rm-focus-ring: #d8dde5;
  --rm-focus-ring-rgb: 216, 221, 229;

  --rm-success-text: #79dfb3;
  --rm-success-bg: #163128;
  --rm-success-border: #459a78;
  --rm-success-solid: #247453;
  --rm-success-solid-rgb: 36, 116, 83;
  --rm-info-text: #8dd4ec;
  --rm-info-bg: #172d35;
  --rm-info-border: #498fa8;
  --rm-info-solid: #276d85;
  --rm-info-solid-rgb: 39, 109, 133;
  --rm-warning-text: #f3c96d;
  --rm-warning-bg: #382d18;
  --rm-warning-border: #a78337;
  --rm-warning-solid: #c99c3d;
  --rm-warning-solid-rgb: 201, 156, 61;
  --rm-warning-button-text: #17191d;
  --rm-danger-text: #f09aa5;
  --rm-danger-bg: #3a2025;
  --rm-danger-border: #b9606c;
  --rm-danger-solid: #a44451;
  --rm-danger-solid-rgb: 164, 68, 81;
  --rm-neutral-text: #d3d7de;
  --rm-neutral-bg: #303541;
  --rm-neutral-border: #7f8998;

  --rm-glass: rgba(32, 35, 42, 0.88);
  --rm-overlay: rgba(4, 5, 7, 0.74);
  --rm-shadow-sm: 0 8px 20px rgba(0, 0, 0, 0.24);
  --rm-shadow-md: 0 18px 42px rgba(0, 0, 0, 0.34);
  --rm-shadow-lg: 0 32px 72px rgba(0, 0, 0, 0.46);
  --rm-canvas-glow:
    radial-gradient(900px circle at 4% -14%, rgba(182, 190, 204, 0.13), transparent 54%),
    radial-gradient(760px circle at 102% 2%, rgba(111, 123, 141, 0.11), transparent 52%);
  --rm-surface-gloss: linear-gradient(145deg, rgba(48, 52, 62, 0.96), rgba(31, 34, 41, 0.98));
  --rm-sidebar-gradient: linear-gradient(180deg, #101216 0%, #1a1d23 52%, #101216 100%);
  --rm-sidebar-text: #f3f4f6;
  --rm-sidebar-muted: #b7bdc8;
  --rm-sidebar-border: rgba(255, 255, 255, 0.12);
  --rm-sidebar-hover: rgba(255, 255, 255, 0.08);
  --rm-sidebar-active: rgba(196, 202, 212, 0.17);
}

html[data-rm-theme="forest"] {
  color-scheme: light;

  --rm-background: #f3f8f4;
  --rm-background-rgb: 243, 248, 244;
  --rm-surface: #ffffff;
  --rm-surface-rgb: 255, 255, 255;
  --rm-surface-raised: #ffffff;
  --rm-surface-raised-rgb: 255, 255, 255;
  --rm-surface-soft: #e7f1e9;
  --rm-surface-soft-rgb: 231, 241, 233;
  --rm-surface-hover: #edf7f0;
  --rm-text: #183426;
  --rm-text-rgb: 24, 52, 38;
  --rm-text-muted: #577064;
  --rm-text-muted-rgb: 87, 112, 100;
  --rm-border: #ccddd1;
  --rm-border-rgb: 204, 221, 209;
  --rm-border-strong: #708e7b;
  --rm-accent: #237a50;
  --rm-accent-rgb: 35, 122, 80;
  --rm-accent-strong: #155a3a;
  --rm-accent-strong-rgb: 21, 90, 58;
  --rm-accent-soft: #dcf1e4;
  --rm-on-accent: #ffffff;
  --rm-on-accent-rgb: 255, 255, 255;
  --rm-focus-ring: #27865a;
  --rm-focus-ring-rgb: 39, 134, 90;

  --rm-glass: rgba(255, 255, 255, 0.84);
  --rm-overlay: rgba(10, 44, 29, 0.58);
  --rm-shadow-sm: 0 6px 18px rgba(26, 80, 55, 0.07);
  --rm-shadow-md: 0 16px 38px rgba(26, 80, 55, 0.11);
  --rm-shadow-lg: 0 28px 68px rgba(26, 80, 55, 0.17);
  --rm-canvas-glow:
    radial-gradient(900px circle at 4% -14%, rgba(45, 146, 92, 0.14), transparent 54%),
    radial-gradient(760px circle at 102% 2%, rgba(135, 169, 70, 0.1), transparent 52%);
  --rm-surface-gloss: linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(240, 249, 242, 0.94));
  --rm-sidebar-gradient: linear-gradient(180deg, #102e22 0%, #17412f 52%, #102e22 100%);
  --rm-sidebar-text: #f3fff7;
  --rm-sidebar-muted: #bfd9c9;
  --rm-sidebar-border: rgba(255, 255, 255, 0.13);
  --rm-sidebar-hover: rgba(255, 255, 255, 0.09);
  --rm-sidebar-active: rgba(123, 216, 164, 0.2);
}

html[data-rm-theme="sand"] {
  color-scheme: light;

  --rm-background: #faf6ed;
  --rm-background-rgb: 250, 246, 237;
  --rm-surface: #fffdf8;
  --rm-surface-rgb: 255, 253, 248;
  --rm-surface-raised: #ffffff;
  --rm-surface-raised-rgb: 255, 255, 255;
  --rm-surface-soft: #f2eadb;
  --rm-surface-soft-rgb: 242, 234, 219;
  --rm-surface-hover: #faf1df;
  --rm-text: #342d23;
  --rm-text-rgb: 52, 45, 35;
  --rm-text-muted: #70675a;
  --rm-text-muted-rgb: 112, 103, 90;
  --rm-border: #e0d4bf;
  --rm-border-rgb: 224, 212, 191;
  --rm-border-strong: #94846d;
  --rm-accent: #946424;
  --rm-accent-rgb: 148, 100, 36;
  --rm-accent-strong: #704815;
  --rm-accent-strong-rgb: 112, 72, 21;
  --rm-accent-soft: #f5e6c9;
  --rm-on-accent: #ffffff;
  --rm-on-accent-rgb: 255, 255, 255;
  --rm-focus-ring: #9a6b28;
  --rm-focus-ring-rgb: 154, 107, 40;

  --rm-glass: rgba(255, 253, 248, 0.86);
  --rm-overlay: rgba(50, 38, 23, 0.58);
  --rm-shadow-sm: 0 6px 18px rgba(83, 62, 29, 0.07);
  --rm-shadow-md: 0 16px 38px rgba(83, 62, 29, 0.11);
  --rm-shadow-lg: 0 28px 68px rgba(83, 62, 29, 0.17);
  --rm-canvas-glow:
    radial-gradient(900px circle at 4% -14%, rgba(184, 132, 57, 0.14), transparent 54%),
    radial-gradient(760px circle at 102% 2%, rgba(119, 90, 50, 0.08), transparent 52%);
  --rm-surface-gloss: linear-gradient(145deg, rgba(255, 254, 250, 0.99), rgba(249, 241, 225, 0.95));
  --rm-sidebar-gradient: linear-gradient(180deg, #342b20 0%, #493a2a 52%, #342b20 100%);
  --rm-sidebar-text: #fffaf0;
  --rm-sidebar-muted: #ded0ba;
  --rm-sidebar-border: rgba(255, 255, 255, 0.13);
  --rm-sidebar-hover: rgba(255, 255, 255, 0.09);
  --rm-sidebar-active: rgba(231, 196, 133, 0.2);
}

:root,
html[data-rm-theme] {
  --rm-ink: var(--rm-text);
  --rm-muted: var(--rm-text-muted);

  --bs-body-font-family: var(--rm-font-sans);
  --bs-body-color: var(--rm-text);
  --bs-body-color-rgb: var(--rm-text-rgb);
  --bs-body-bg: var(--rm-background);
  --bs-body-bg-rgb: var(--rm-background-rgb);
  --bs-emphasis-color: var(--rm-text);
  --bs-emphasis-color-rgb: var(--rm-text-rgb);
  --bs-heading-color: var(--rm-text);
  --bs-secondary-color: var(--rm-text-muted);
  --bs-secondary-color-rgb: var(--rm-text-muted-rgb);
  --bs-secondary-bg: var(--rm-surface-soft);
  --bs-secondary-bg-rgb: var(--rm-surface-soft-rgb);
  --bs-tertiary-color: var(--rm-text-muted);
  --bs-tertiary-bg: var(--rm-surface-soft);
  --bs-tertiary-bg-rgb: var(--rm-surface-soft-rgb);
  --bs-primary: var(--rm-accent);
  --bs-primary-rgb: var(--rm-accent-rgb);
  --bs-primary-text-emphasis: var(--rm-accent-strong);
  --bs-primary-bg-subtle: var(--rm-accent-soft);
  --bs-primary-border-subtle: var(--rm-accent);
  --bs-success: var(--rm-success-solid);
  --bs-success-rgb: var(--rm-success-solid-rgb);
  --bs-success-text-emphasis: var(--rm-success-text);
  --bs-success-bg-subtle: var(--rm-success-bg);
  --bs-success-border-subtle: var(--rm-success-border);
  --bs-info: var(--rm-info-solid);
  --bs-info-rgb: var(--rm-info-solid-rgb);
  --bs-info-text-emphasis: var(--rm-info-text);
  --bs-info-bg-subtle: var(--rm-info-bg);
  --bs-info-border-subtle: var(--rm-info-border);
  --bs-warning: var(--rm-warning-solid);
  --bs-warning-rgb: var(--rm-warning-solid-rgb);
  --bs-warning-text-emphasis: var(--rm-warning-text);
  --bs-warning-bg-subtle: var(--rm-warning-bg);
  --bs-warning-border-subtle: var(--rm-warning-border);
  --bs-danger: var(--rm-danger-solid);
  --bs-danger-rgb: var(--rm-danger-solid-rgb);
  --bs-danger-text-emphasis: var(--rm-danger-text);
  --bs-danger-bg-subtle: var(--rm-danger-bg);
  --bs-danger-border-subtle: var(--rm-danger-border);
  --bs-link-color: var(--rm-accent);
  --bs-link-color-rgb: var(--rm-accent-rgb);
  --bs-link-hover-color: var(--rm-accent-strong);
  --bs-link-hover-color-rgb: var(--rm-accent-strong-rgb);
  --bs-border-color: var(--rm-border);
  --bs-border-color-translucent: rgba(var(--rm-border-rgb), 0.72);
  --bs-focus-ring-color: rgba(var(--rm-focus-ring-rgb), 0.28);
  --bs-border-radius: var(--rm-radius-xs);
  --bs-border-radius-sm: var(--rm-radius-xs);
  --bs-border-radius-lg: var(--rm-radius-md);
  --bs-border-radius-xl: var(--rm-radius-lg);
  --bs-border-radius-xxl: var(--rm-radius-xl);
  --bs-box-shadow-sm: var(--rm-shadow-sm);
  --bs-box-shadow: var(--rm-shadow-md);
  --bs-box-shadow-lg: var(--rm-shadow-lg);
  --bs-form-valid-color: var(--rm-success-text);
  --bs-form-valid-border-color: var(--rm-success-border);
  --bs-form-invalid-color: var(--rm-danger-text);
  --bs-form-invalid-border-color: var(--rm-danger-border);
}
