:root, .theme-light, [data-theme="light"] {
    --success: oklch(0.672 0.2709 145.76);
    --warning: oklch(0.7741 0.1607 74.18);
    --error: oklch(0.63 0.2078 25.33);
    --info: oklch(0.6469 0.1457 232.01);
    --primary: oklch(0.41 0.113 240);
    --secondary: oklch(0.34 0 240);
    --bg: oklch(0.98 0.006 111);
    --primary-hover: oklch(0.53 0.163 240);
    --primary-50: oklch(0.41 0.113 240 / 50%);
    --primary-contrast: oklch(0.59 0.188 240);
    --secondary-hover: oklch(0.54 0 240);
    --success-hover: oklch(0.572 0.2709 145.76);
    --warning-hover: oklch(0.6941 0.1607 74.18);
    --error-hover: oklch(0.53 0.2078 25.33);
    --info-hover: oklch(0.5469 0.1457 232.01);
    --bg-dark: oklch(0.95 0.006 111);
    --bg-light: oklch(1 0.006 111);
    --border: oklch(0.915 0.006 111);
    --border-hover: oklch(0.84 0.006 111);
    --border-contrast: oklch(0.755 0.006 111);
    --surface-rgba-half: oklch(1 0.006 111 / 50%);
    --surface-rgba-twothird: oklch(1 0.006 111 / 66%);
    --surface-rgba-onethird: oklch(1 0.006 111 / 33%);
    --surface-rgba-quarter: oklch(1 0.006 111 / 25%);
    --surface-rgba-threequarter: oklch(1 0.006 111 / 75%);
    --surface-rgba-almost-full: oklch(1 0.006 111 / 95%);
    --bg-secondary: var(--bg-light);
    --surface: var(--bg-light);
    --background: var(--bg-dark);
    --footer-background: var(--bg);
    --text: oklch(0.2 0 0);
    --text-max-contrast-bg: oklch(0.98 0 0);
    --text-primary: var(--text);
    --text-secondary: var(--secondary);
    --text-muted: var(--secondary-hover);
    --text-on-primary: oklch(0.98 0 0);
    --text-on-secondary: oklch(0.98 0 0);
    --text-on-success: oklch(0.2 0 0);
    --text-on-warning: oklch(0.2 0 0);
    --text-on-error: oklch(0.2 0 0);
    --text-on-info: oklch(0.2 0 0);
    --font-weight-normal: 400;
    --font-weight-bold: 600;
    --border-radius-xs: 0.25rem;
    --border-radius-sm: 0.5rem;
    --border-radius-md: 1rem;
    --border-radius-lg: 1.5rem;
    --spacing-xs: .25em;
    --spacing-sm: .5em;
    --spacing-md: .75em;
    --spacing-lg: 1em;
    --spacing-xl: 1.5em;
    --spacing-xxl: 2em;
    --max-content-width: 1280px;
    --max-content-width-full: 1600px;
    --navbar-height: 4em;
    --layout-spacing: 2em;
    --layout-spacing-mobile: 2em;
    --transition: all ease 0.25s;
    --font-family-primary: 'Poppins', 'Poppins Fallback', sans-serif;
    --font-family-secondary: 'NotoSerif', 'NotoSerif Fallback', serif;
    --logo-url: url('/ci/logo.svg');
}

.dark, .theme-dark, [data-theme="dark"] {
    --success: oklch(0.672 0.2709 145.76);
    --warning: oklch(0.7741 0.1607 74.18);
    --error: oklch(0.63 0.2078 25.33);
    --info: oklch(0.6469 0.1457 232.01);
    --primary: oklch(0.6932 0.132 240);
    --secondary: oklch(0.7 0 0);
    --bg: oklch(0.26 0.006 286.06);
    --primary-hover: oklch(0.6232 0.152 240);
    --primary-50: oklch(0.6932 0.132 240 / 50%);
    --primary-contrast: oklch(0.5882 0.162 240);
    --secondary-hover: oklch(0.8 0 0);
    --success-hover: oklch(0.752 0.2709 145.76);
    --warning-hover: oklch(0.8541 0.1607 74.18);
    --error-hover: oklch(0.71 0.2078 25.33);
    --info-hover: oklch(0.7269 0.1457 232.01);
    --bg-dark: oklch(0.22 0.006 286.06);
    --bg-light: oklch(0.3 0.006 286.06);
    --border: oklch(0.35 0.006 286.06);
    --border-hover: oklch(0.45 0.006 286.06);
    --border-contrast: oklch(0.55 0.006 286.06);
    --surface-rgba-half: oklch(0.3 0.006 286.06 / 50%);
    --surface-rgba-twothird: oklch(0.3 0.006 286.06 / 66%);
    --surface-rgba-onethird: oklch(0.3 0.006 286.06 / 33%);
    --surface-rgba-quarter: oklch(0.3 0.006 286.06 / 25%);
    --surface-rgba-threequarter: oklch(0.3 0.006 286.06 / 75%);
    --surface-rgba-almost-full: oklch(0.3 0.006 286.06 / 95%);
    --bg-secondary: var(--bg-light);
    --surface: var(--bg-light);
    --background: var(--bg-dark);
    --footer-background: var(--bg);
    --text: oklch(0.98 0 0);
    --text-max-contrast-bg: oklch(0.2 0 0);
    --text-primary: var(--text);
    --text-secondary: var(--secondary);
    --text-muted: var(--secondary-hover);
    --text-on-primary: oklch(0.2 0 0);
    --text-on-secondary: oklch(0.2 0 0);
    --text-on-success: oklch(0.2 0 0);
    --text-on-warning: oklch(0.2 0 0);
    --text-on-error: oklch(0.2 0 0);
    --text-on-info: oklch(0.2 0 0);
}