Files
kashilo/css/variables.css
2026-01-28 07:49:16 +01:00

190 lines
4.8 KiB
CSS

:root {
/*
* Warm Gray Theme - dgray.io
* WCAG AA konform (Kontrast > 4.5:1)
*/
/* Colors - Light Mode */
--color-primary: #6B7B8C;
--color-primary-hover: #56656F;
--color-primary-light: #E5E8EB;
--color-secondary: #8A9299;
--color-secondary-hover: #6E777D;
--color-accent: #A67C52;
--color-accent-hover: #8B6543;
--color-success: #5A8F6B;
--color-warning: #C49A3C;
--color-error: #B54747;
--color-bg: #F8F7F5;
--color-bg-secondary: #F0EFEC;
--color-bg-tertiary: #E5E3DF;
--color-text: #2D2D2A;
--color-text-secondary: #525250;
--color-text-muted: #8A8985;
--color-border: #D5D3CE;
--color-border-focus: #6B7B8C;
--color-shadow: rgba(45, 45, 42, 0.1);
--color-overlay: rgba(45, 45, 42, 0.5);
/* Spacing */
--space-xs: 0.25rem;
--space-sm: 0.5rem;
--space-md: 1rem;
--space-lg: 1.5rem;
--space-xl: 2rem;
--space-2xl: 3rem;
--space-3xl: 4rem;
/* Typography */
--font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--font-family-heading: 'Space Grotesk', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--font-size-xs: 0.75rem;
--font-size-sm: 0.875rem;
--font-size-base: 1rem;
--font-size-lg: 1.125rem;
--font-size-xl: 1.25rem;
--font-size-2xl: 1.5rem;
--font-size-3xl: 2rem;
--font-weight-normal: 400;
--font-weight-medium: 500;
--font-weight-semibold: 600;
--font-weight-bold: 700;
--line-height-tight: 1.25;
--line-height-normal: 1.5;
--line-height-relaxed: 1.75;
/* Border Radius */
--radius-sm: 0.25rem;
--radius-md: 0.5rem;
--radius-lg: 0.75rem;
--radius-xl: 1rem;
--radius-full: 9999px;
/* Shadows */
--shadow-sm: 0 1px 2px var(--color-shadow);
--shadow-md: 0 4px 6px var(--color-shadow);
--shadow-lg: 0 10px 15px var(--color-shadow);
--shadow-xl: 0 20px 25px var(--color-shadow);
/* Transitions */
--transition-fast: 150ms ease;
--transition-normal: 250ms ease;
--transition-slow: 350ms ease;
/* Layout */
--header-height: 4rem;
--footer-height: 3rem;
--container-max: 1200px;
--sidebar-width: 280px;
/* Z-Index */
--z-dropdown: 100;
--z-sticky: 200;
--z-modal: 300;
--z-toast: 400;
}
/* Dark Mode - System Preference */
@media (prefers-color-scheme: dark) {
:root:not([data-theme="light"]) {
--color-primary: #9AABBB;
--color-primary-hover: #B0BEC9;
--color-primary-light: #2A2D30;
--color-secondary: #A0A8AE;
--color-secondary-hover: #B5BCC1;
--color-accent: #C9A378;
--color-accent-hover: #D9B88E;
--color-success: #7CB88A;
--color-warning: #D4B05C;
--color-error: #D47070;
--color-bg: #1E1D1B;
--color-bg-secondary: #28272A;
--color-bg-tertiary: #343230;
--color-text: #F5F4F2;
--color-text-secondary: #D0CFCC;
--color-text-muted: #9A9895;
--color-border: #454340;
--color-border-focus: #9AABBB;
--color-shadow: rgba(0, 0, 0, 0.4);
--color-overlay: rgba(0, 0, 0, 0.6);
}
}
/* Dark Mode - Manual Override */
[data-theme="dark"] {
--color-primary: #9AABBB;
--color-primary-hover: #B0BEC9;
--color-primary-light: #2A2D30;
--color-secondary: #A0A8AE;
--color-secondary-hover: #B5BCC1;
--color-accent: #C9A378;
--color-accent-hover: #D9B88E;
--color-success: #7CB88A;
--color-warning: #D4B05C;
--color-error: #D47070;
--color-bg: #1E1D1B;
--color-bg-secondary: #28272A;
--color-bg-tertiary: #343230;
--color-text: #F5F4F2;
--color-text-secondary: #D0CFCC;
--color-text-muted: #9A9895;
--color-border: #454340;
--color-border-focus: #9AABBB;
--color-shadow: rgba(0, 0, 0, 0.4);
--color-overlay: rgba(0, 0, 0, 0.6);
}
/* Light Mode - Manual Override */
[data-theme="light"] {
--color-primary: #6B7B8C;
--color-primary-hover: #56656F;
--color-primary-light: #E5E8EB;
--color-secondary: #8A9299;
--color-secondary-hover: #6E777D;
--color-accent: #A67C52;
--color-accent-hover: #8B6543;
--color-success: #5A8F6B;
--color-warning: #C49A3C;
--color-error: #B54747;
--color-bg: #F8F7F5;
--color-bg-secondary: #F0EFEC;
--color-bg-tertiary: #E5E3DF;
--color-text: #2D2D2A;
--color-text-secondary: #525250;
--color-text-muted: #8A8985;
--color-border: #D5D3CE;
--color-border-focus: #6B7B8C;
--color-shadow: rgba(45, 45, 42, 0.1);
--color-overlay: rgba(45, 45, 42, 0.5);
}