1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
| :root { --primary-color: #3498db; --secondary-color: #2ecc71; --accent-color: #e74c3c; --neutral-color: #95a5a6; --dark-color: #2c3e50; --light-color: #ecf0f1;
--spacing-xs: 0.25rem; --spacing-sm: 0.5rem; --spacing-md: 1rem; --spacing-lg: 1.5rem; --spacing-xl: 2rem; --spacing-2xl: 3rem;
--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: 1.875rem;
--radius-xs: 0.125rem; --radius-sm: 0.25rem; --radius-md: 0.375rem; --radius-lg: 0.5rem; --radius-xl: 0.75rem; --radius-full: 9999px;
--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05); --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1); --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1); --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1); }
[data-theme="dark"] { --primary-color: #5dade2; --secondary-color: #58d68d; --accent-color: #ec7063; --dark-color: #ecf0f1; --light-color: #2c3e50; --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.2); --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.3); --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.3); --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.3); }
.button { padding: var(--spacing-sm) var(--spacing-md); border-radius: var(--radius-md); font-size: var(--font-size-base); background: var(--primary-color); color: white; border: none; cursor: pointer; transition: all 0.2s ease; }
.button:hover { background: color-mix(in srgb, var(--primary-color) 80%, black 20%); transform: translateY(-1px); box-shadow: var(--shadow-md); }
.gradient-card { background: linear-gradient( 135deg, var(--primary-color), color-mix(in srgb, var(--primary-color) 70%, var(--secondary-color) 30%) ); padding: var(--spacing-lg); border-radius: var(--radius-lg); color: white; }
.responsive-text { font-size: calc(var(--font-size-base) + 0.2vw); line-height: 1.6; margin-bottom: var(--spacing-md); }
.highlight { --highlight-color: var(--accent-color); background: color-mix(in srgb, var(--highlight-color) 10%, transparent 90%); padding: var(--spacing-xs) var(--spacing-sm); border-radius: var(--radius-sm); font-weight: bold; }
|