:root { /* Abstractions */ --color-bg: white; --color-text: black; --color-text-reversed: white; --color-text-subtle: var(--zinc-500); --color-border: var(--zinc-200); --color-border-darker: var(--zinc-400); /* Accent colors */ --color-primary: var(--zinc-900); --color-secondary: var(--zinc-100); --color-negative: var(--red-600); --color-positive: var(--green-600); /* SVG color values */ --color-filter-text: invert(0); --color-filter-text-reversed: invert(100%); --color-filter-text-subtle: invert(43%) sepia(8%) saturate(340%) hue-rotate(202deg) brightness(99%) contrast(85%); --color-filter-negative: invert(31%) sepia(96%) saturate(4646%) hue-rotate(350deg) brightness(91%) contrast(89%); --color-filter-positive: invert(48%) sepia(74%) saturate(520%) hue-rotate(90deg) brightness(89%) contrast(90%); @media (prefers-color-scheme: dark) { /* Abstractions */ --color-bg: var(--zinc-950); --color-text: white; --color-text-reversed: black; --color-text-subtle: var(--zinc-400); --color-border: var(--zinc-800); --color-border-darker: var(--zinc-300); /* Accent colors */ --color-primary: var(--zinc-50); --color-secondary: var(--zinc-800); --color-negative: var(--red-900); --color-positive: var(--green-900); /* SVG color values */ --color-filter-text: invert(100%); --color-filter-text-reversed: invert(0); --color-filter-text-subtle: invert(55%) sepia(98%) saturate(0%) hue-rotate(299deg) brightness(96%) contrast(94%); --color-filter-negative: invert(15%) sepia(83%) saturate(2066%) hue-rotate(345deg) brightness(87%) contrast(88%); --color-filter-positive: invert(23%) sepia(74%) saturate(495%) hue-rotate(91deg) brightness(88%) contrast(89%); } } * { border-color: var(--color-border); } html { scroll-behavior: smooth; } body { background-color: var(--color-bg); color: var(--color-text); font-synthesis-weight: none; text-rendering: optimizeLegibility; }