:root { --color-neutral-50: #F2F0F5; --color-neutral-100: #D1C6E0; --color-neutral-200: #B2A0CB; --color-neutral-300: #957EB5; --color-neutral-400: #7A60A0; --color-neutral-500: #61468B; --color-neutral-600: #4B3176; --color-neutral-700: #371F60; --color-neutral-800: #26114B; --color-neutral-900: #180736; --color-neutral-950: #0C011F; --color-argon-50: #E1ABC9; --color-argon-100: #DA87B5; --color-argon-200: #D464A1; --color-argon-300: #CD448F; --color-argon-400: #C6257D; --color-argon-500: #B0166F; --color-argon-600: #9A0A61; --color-argon-700: #830755; --color-argon-800: #6D0449; --color-argon-900: #56023C; --color-argon-950: #3F012D; --color-krypton-50: #B2D9EA; --color-krypton-100: #8CC9E4; --color-krypton-200: #69BADE; --color-krypton-300: #4BADD8; --color-krypton-400: #2493C2; --color-krypton-500: #167FAC; --color-krypton-600: #0A6C96; --color-krypton-700: #075C81; --color-krypton-800: #044C6B; --color-krypton-900: #023C55; --color-krypton-950: #012C3F; --color-green-50: #C0F49A; --color-green-100: #A7E57A; --color-green-200: #8FD75D; --color-green-300: #7AC843; --color-green-400: #66B92D; --color-green-500: #54AA18; --color-green-600: #47990F; --color-green-700: #397E0A; --color-green-800: #2B6206; --color-green-900: #1F4703; --color-green-950: #122B01; --color-red-50: #E6AFAF; --color-red-100: #DD9090; --color-red-200: #D57272; --color-red-300: #CC5757; --color-red-400: #C33D3D; --color-red-500: #BB2626; --color-red-600: #B21010; --color-red-700: #950808; --color-red-800: #780404; --color-red-900: #5C0202; --color-red-950: #3F0101; --color-dark-foreground: var(--color-neutral-50); --color-dark-background: var(--color-neutral-900); --color-dark-shade-1: var(--color-neutral-800); --color-dark-shade-2: var(--color-neutral-700); --color-dark-shade-3: var(--color-neutral-600); --color-dark-shade-4: var(--color-neutral-500); --color-dark-primary: var(--color-argon-400); --color-dark-secondary: var(--color-krypton-300); --color-dark-error: var(--color-red-500); --color-dark-success: var(--color-green-500); --color-dark-accent-1: #60a5f9; --color-dark-accent-2: #d381f7; --color-dark-accent-3: #ff7975; --color-light-foreground: var(--color-neutral-900); --color-light-background: var(--color-neutral-50); --color-light-shade-1: var(--color-neutral-100); --color-light-shade-2: var(--color-neutral-200); --color-light-shade-3: var(--color-neutral-300); --color-light-shade-4: var(--color-neutral-400); --color-light-primary: var(--color-argon-600); --color-light-secondary: var(--color-krypton-500); --color-light-error: var(--color-red-600); --color-light-success: var(--color-green-600); --color-light-accent-1: #303EC0; --color-light-accent-2: #6c366c; --color-light-accent-3: #932f0a; --swatch-size: 8rem; --swatch-redius: 0.5rem; } @mixin theme_dark() { --color-foreground: var(--color-dark-foreground); --color-background: var(--color-dark-background); --color-shade-1: var(--color-dark-shade-1); --color-shade-2: var(--color-dark-shade-2); --color-shade-3: var(--color-dark-shade-3); --color-shade-4: var(--color-dark-shade-4); --color-primary: var(--color-dark-primary); --color-secondary: var(--color-dark-secondary); --color-error: var(--color-dark-error); --color-success: var(--color-dark-success); --color-accent-1: var(--color-dark-accent-1); --color-accent-2: var(--color-dark-accent-2); --color-accent-3: var(--color-dark-accent-3); } @mixin theme_light() { --color-foreground: var(--color-light-foreground); --color-background: var(--color-light-background); --color-shade-1: var(--color-light-shade-1); --color-shade-2: var(--color-light-shade-2); --color-shade-3: var(--color-light-shade-3); --color-shade-4: var(--color-light-shade-4); --color-primary: var(--color-light-primary); --color-secondary: var(--color-light-secondary); --color-error: var(--color-light-error); --color-success: var(--color-light-success); --color-accent-1: var(--color-light-accent-1); --color-accent-2: var(--color-light-accent-2); --color-accent-3: var(--color-light-accent-3); } .dark { @include theme_dark(); } .light { @include theme_light(); } html, html.light { @include theme_light(); } html.dark { @include theme_dark(); } @media (prefers-color-scheme: dark) { html { @include theme_dark(); } } // Styling of components begins here body { margin: 0; padding: 1rem; background-color: var(--color-background); color: var(--color-foreground); } .swatch-grid { background-color: var(--color-background); color: var(--color-foreground); padding: 1rem; section { display: flex; flex-wrap: wrap; gap: 1rem; &>span { width: 100%; } .swatch-container { display: inline-flex; flex-direction: column; align-items: end; .swatch { background-color: var(--swatch-color); width: var(--swatch-size); height: var(--swatch-size); border-radius: var(--swatch-redius); } } } }