UNPKG

@lucasmiqueias/blip-tokens

Version:

Design token system inspired by BLiP's design language

1,050 lines (850 loc) 26.1 kB
/* BLiP Design System - Main Entry Point */ /* Import all tokens */ /* BLiP Design System - Core Tokens */ /* This file contains all the base design tokens */ :root { /* Brand Colors */ --color-brand: rgba(0, 150, 250, 1); /* Primary Colors - Light Theme */ --color-light-primary: rgba(30, 107, 241, 1); --color-light-secondary: rgba(41, 41, 41, 1); /* Primary Colors - Dark Theme */ --color-dark-primary: rgba(73, 139, 255, 1); --color-dark-secondary: rgba(255, 255, 255, 1); /* Surface Colors - Light Theme */ --color-light-surface-0: rgba(255, 255, 255, 1); --color-light-surface-1: rgba(246, 246, 246, 1); --color-light-surface-2: rgba(237, 237, 237, 1); --color-light-surface-3: rgba(227, 227, 227, 1); --color-light-surface-4: rgba(20, 20, 20, 1); --color-light-surface-positive: rgba(1, 114, 62, 1); --color-light-surface-negative: rgba(138, 0, 0, 1); --color-light-surface-primary: rgba(30, 107, 241, 1); /* Surface Colors - Dark Theme */ --color-dark-surface-0: rgba(66, 66, 66, 1); --color-dark-surface-1: rgba(57, 57, 57, 1); --color-dark-surface-2: rgba(31, 31, 31, 1); --color-dark-surface-3: rgba(20, 20, 20, 1); --color-dark-surface-4: rgba(10, 10, 10, 1); --color-dark-surface-positive: rgba(1, 86, 47, 1); --color-dark-surface-negative: rgba(87, 0, 0, 1); --color-dark-surface-primary: rgba(12, 80, 197, 1); /* Content Colors - Light Theme */ --color-light-content-default: rgba(40, 40, 40, 1); --color-light-content-disable: rgba(89, 89, 89, 1); --color-light-content-ghost: rgba(140, 140, 140, 1); --color-light-content-bright: rgba(255, 255, 255, 1); --color-light-content-din: rgba(0, 0, 0, 1); /* Content Colors - Dark Theme */ --color-dark-content-default: rgba(255, 255, 255, 1); --color-dark-content-disable: rgba(148, 148, 148, 1); --color-dark-content-ghost: rgba(102, 102, 102, 1); --color-dark-content-bright: rgba(255, 255, 255, 1); --color-dark-content-din: rgba(0, 0, 0, 1); /* Border Colors - Light Theme */ --color-light-border-1: rgba(0, 0, 0, 0.2); --color-light-border-2: rgba(0, 0, 0, 0.16); --color-light-border-3: rgba(0, 0, 0, 0.06); /* Border Colors - Dark Theme */ --color-dark-border-1: rgba(255, 255, 255, 0.2); --color-dark-border-2: rgba(255, 255, 255, 0.16); --color-dark-border-3: rgba(255, 255, 255, 0.06); /* Semantic Colors - Light Theme */ --color-light-positive: rgba(0, 122, 66, 1); --color-light-negative: rgba(168, 11, 11, 1); --color-light-info: rgba(128, 227, 235, 1); --color-light-system: rgba(178, 223, 253, 1); --color-light-focus: rgba(194, 38, 251, 1); --color-light-success: rgba(132, 235, 188, 1); --color-light-warning: rgba(253, 233, 155, 1); --color-light-error: rgba(250, 190, 190, 1); --color-light-delete: rgba(230, 15, 15, 1); /* Semantic Colors - Dark Theme */ --color-dark-positive: rgba(107, 255, 188, 1); --color-dark-negative: rgba(255, 184, 184, 1); --color-dark-info: rgba(0, 79, 86, 1); --color-dark-system: rgba(0, 60, 100, 1); --color-dark-focus: rgba(194, 38, 251, 1); --color-dark-success: rgba(53, 94, 75, 1); --color-dark-warning: rgba(96, 89, 59, 1); --color-dark-error: rgba(123, 61, 61, 1); --color-dark-delete: rgba(182, 12, 12, 1); /* Extended Colors - Light Theme */ --color-light-extended-blue: rgba(25, 104, 240, 1); --color-light-extended-blue-bright: rgba(178, 223, 253, 1); --color-light-extended-ocean: rgba(0, 211, 228, 1); --color-light-extended-ocean-bright: rgba(128, 227, 235, 1); --color-light-extended-green: rgba(53, 222, 144, 1); --color-light-extended-green-bright: rgba(132, 235, 188, 1); --color-light-extended-yellow: rgba(251, 207, 35, 1); --color-light-extended-yellow-bright: rgba(253, 233, 155, 1); --color-light-extended-orange: rgba(240, 99, 5, 1); --color-light-extended-orange-bright: rgba(252, 170, 115, 1); --color-light-extended-red: rgba(230, 15, 15, 1); --color-light-extended-red-bright: rgba(249, 159, 159, 1); --color-light-extended-pink: rgba(251, 75, 193, 1); --color-light-extended-pink-bright: rgba(253, 155, 220, 1); --color-light-extended-gray: rgba(102, 102, 102, 1); --color-light-extended-gray-bright: rgba(199, 199, 199, 1); /* Extended Colors - Dark Theme */ --color-dark-extended-blue: rgba(25, 104, 240, 1); --color-dark-extended-blue-bright: rgba(178, 223, 253, 1); --color-dark-extended-ocean: rgba(0, 211, 228, 1); --color-dark-extended-ocean-bright: rgba(128, 227, 235, 1); --color-dark-extended-green: rgba(53, 222, 144, 1); --color-dark-extended-green-bright: rgba(132, 235, 188, 1); --color-dark-extended-yellow: rgba(251, 207, 35, 1); --color-dark-extended-yellow-bright: rgba(253, 233, 155, 1); --color-dark-extended-orange: rgba(240, 99, 5, 1); --color-dark-extended-orange-bright: rgba(252, 170, 115, 1); --color-dark-extended-red: rgba(230, 15, 15, 1); --color-dark-extended-red-bright: rgba(249, 159, 159, 1); --color-dark-extended-pink: rgba(251, 75, 193, 1); --color-dark-extended-pink-bright: rgba(253, 155, 220, 1); --color-dark-extended-gray: rgba(102, 102, 102, 1); --color-dark-extended-gray-bright: rgba(199, 199, 199, 1); /* Action Colors - Light Theme */ --color-light-hover: rgba(0, 0, 0, 0.08); --color-light-pressed: rgba(0, 0, 0, 0.16); /* Action Colors - Dark Theme */ --color-dark-hover: rgba(255, 255, 255, 0.16); --color-dark-pressed: rgba(255, 255, 255, 0.08); /* Size Tokens */ --size-0: 0px; --size-0-5: 4px; --size-1: 8px; --size-2: 16px; --size-3: 24px; --size-4: 32px; --size-5: 40px; --size-6: 48px; --size-7: 56px; --size-8: 64px; --size-9: 72px; --size-10: 80px; --size-11: 88px; --size-12: 96px; /* Border Radius Tokens */ --radius-none: 0px; --radius-sm: 2px; --radius-base: 4px; --radius-md: 6px; --radius-lg: 8px; --radius-xl: 12px; --radius-2xl: 16px; --radius-3xl: 24px; --radius-full: 9999px; /* Spacing Tokens */ --spacing-0: var(--size-0); --spacing-px: 1px; --spacing-0-5: var(--size-0-5); --spacing-1: var(--size-1); --spacing-1-5: 6px; --spacing-2: var(--size-2); --spacing-2-5: 10px; --spacing-3: var(--size-3); --spacing-3-5: 14px; --spacing-4: var(--size-4); --spacing-5: var(--size-5); --spacing-6: var(--size-6); --spacing-7: var(--size-7); --spacing-8: var(--size-8); --spacing-9: var(--size-9); --spacing-10: var(--size-10); --spacing-11: var(--size-11); --spacing-12: var(--size-12); /* Font Size Tokens */ --font-size-xs: 12px; --font-size-sm: 14px; --font-size-base: 16px; --font-size-lg: 18px; --font-size-xl: 20px; --font-size-2xl: 24px; --font-size-3xl: 30px; --font-size-4xl: 36px; --font-size-5xl: 48px; --font-size-6xl: 60px; --font-size-7xl: 72px; --font-size-8xl: 96px; --font-size-9xl: 128px; /* Font Family Tokens */ --font-family-sans: "Nunito Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; --font-family-serif: "Georgia", "Cambria", "Times New Roman", "Times", serif; --font-family-mono: "Menlo", "Monaco", "Consolas", "Liberation Mono", "Courier New", monospace; /* Font Weight Tokens */ --font-weight-thin: 100; --font-weight-extralight: 200; --font-weight-light: 300; --font-weight-normal: 400; --font-weight-medium: 500; --font-weight-semibold: 600; --font-weight-bold: 700; --font-weight-extrabold: 800; --font-weight-black: 900; /* Shadow Tokens */ --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05); --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06); --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05); --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04); --shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25); --shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, 0.06); --shadow-none: none; /* Icon Size Tokens */ --icon-xs: 12px; --icon-sm: 16px; --icon-md: 20px; --icon-lg: 24px; --icon-xl: 32px; --icon-2xl: 40px; /* Z-Index Tokens */ --z-index-auto: auto; --z-index-0: 0; --z-index-10: 10; --z-index-20: 20; --z-index-30: 30; --z-index-40: 40; --z-index-50: 50; --z-index-dropdown: 1000; --z-index-sticky: 1020; --z-index-fixed: 1030; --z-index-modal-backdrop: 1040; --z-index-modal: 1050; --z-index-popover: 1060; --z-index-tooltip: 1070; --z-index-toast: 1080; } /* Import theme configurations */ /* Light Theme - Default Theme */ :root, :root[data-theme="light"], .theme-light { /* Primary Theme Tokens */ --color-primary: var(--color-light-primary); --color-secondary: var(--color-light-secondary); /* Surface Tokens */ --surface-0: var(--color-light-surface-0); --surface-1: var(--color-light-surface-1); --surface-2: var(--color-light-surface-2); --surface-3: var(--color-light-surface-3); --surface-4: var(--color-light-surface-4); --surface-positive: var(--color-light-surface-positive); --surface-negative: var(--color-light-surface-negative); --surface-primary: var(--color-light-surface-primary); /* Content Tokens */ --content-default: var(--color-light-content-default); --content-disable: var(--color-light-content-disable); --content-ghost: var(--color-light-content-ghost); --content-bright: var(--color-light-content-bright); --content-din: var(--color-light-content-din); --content-muted: var(--color-light-content-ghost); /* Border Tokens */ --border-1: var(--color-light-border-1); --border-2: var(--color-light-border-2); --border-3: var(--color-light-border-3); /* Semantic Status Tokens */ --color-positive: var(--color-light-positive); --color-negative: var(--color-light-negative); --color-info: var(--color-light-info); --color-system: var(--color-light-system); --color-focus: var(--color-light-focus); --color-success: var(--color-light-success); --color-warning: var(--color-light-warning); --color-error: var(--color-light-error); --color-delete: var(--color-light-delete); /* Extended Color Tokens */ --color-blue: var(--color-light-extended-blue); --color-blue-bright: var(--color-light-extended-blue-bright); --color-ocean: var(--color-light-extended-ocean); --color-ocean-bright: var(--color-light-extended-ocean-bright); --color-green: var(--color-light-extended-green); --color-green-bright: var(--color-light-extended-green-bright); --color-yellow: var(--color-light-extended-yellow); --color-yellow-bright: var(--color-light-extended-yellow-bright); --color-orange: var(--color-light-extended-orange); --color-orange-bright: var(--color-light-extended-orange-bright); --color-red: var(--color-light-extended-red); --color-red-bright: var(--color-light-extended-red-bright); --color-pink: var(--color-light-extended-pink); --color-pink-bright: var(--color-light-extended-pink-bright); --color-gray: var(--color-light-extended-gray); --color-gray-bright: var(--color-light-extended-gray-bright); /* Action Tokens */ --action-hover: var(--color-light-hover); --action-pressed: var(--color-light-pressed); } /* Dark Theme */ :root[data-theme="dark"], .theme-dark { /* Primary Theme Tokens */ --color-primary: var(--color-dark-primary); --color-secondary: var(--color-dark-secondary); /* Surface Tokens */ --surface-0: var(--color-dark-surface-0); --surface-1: var(--color-dark-surface-1); --surface-2: var(--color-dark-surface-2); --surface-3: var(--color-dark-surface-3); --surface-4: var(--color-dark-surface-4); --surface-positive: var(--color-dark-surface-positive); --surface-negative: var(--color-dark-surface-negative); --surface-primary: var(--color-dark-surface-primary); /* Content Tokens */ --content-default: var(--color-dark-content-default); --content-disable: var(--color-dark-content-disable); --content-ghost: var(--color-dark-content-ghost); --content-bright: var(--color-dark-content-bright); --content-din: var(--color-dark-content-din); --content-muted: var(--color-dark-content-ghost); /* Border Tokens */ --border-1: var(--color-dark-border-1); --border-2: var(--color-dark-border-2); --border-3: var(--color-dark-border-3); /* Semantic Status Tokens */ --color-positive: var(--color-dark-positive); --color-negative: var(--color-dark-negative); --color-info: var(--color-dark-info); --color-system: var(--color-dark-system); --color-focus: var(--color-dark-focus); --color-success: var(--color-dark-success); --color-warning: var(--color-dark-warning); --color-error: var(--color-dark-error); --color-delete: var(--color-dark-delete); /* Extended Color Tokens */ --color-blue: var(--color-dark-extended-blue); --color-blue-bright: var(--color-dark-extended-blue-bright); --color-ocean: var(--color-dark-extended-ocean); --color-ocean-bright: var(--color-dark-extended-ocean-bright); --color-green: var(--color-dark-extended-green); --color-green-bright: var(--color-dark-extended-green-bright); --color-yellow: var(--color-dark-extended-yellow); --color-yellow-bright: var(--color-dark-extended-yellow-bright); --color-orange: var(--color-dark-extended-orange); --color-orange-bright: var(--color-dark-extended-orange-bright); --color-red: var(--color-dark-extended-red); --color-red-bright: var(--color-dark-extended-red-bright); --color-pink: var(--color-dark-extended-pink); --color-pink-bright: var(--color-dark-extended-pink-bright); --color-gray: var(--color-dark-extended-gray); --color-gray-bright: var(--color-dark-extended-gray-bright); /* Action Tokens */ --action-hover: var(--color-dark-hover); --action-pressed: var(--color-dark-pressed); } /* Auto Theme Support - System Preference */ /* Auto theme support - use system preference when data-theme="auto" */ @media (prefers-color-scheme: dark) { :root[data-theme="auto"] { /* Apply dark theme tokens when system prefers dark mode */ --color-primary: var(--color-dark-primary); --color-secondary: var(--color-dark-secondary); /* Surface Tokens */ --surface-0: var(--color-dark-surface-0); --surface-1: var(--color-dark-surface-1); --surface-2: var(--color-dark-surface-2); --surface-3: var(--color-dark-surface-3); --surface-4: var(--color-dark-surface-4); --surface-positive: var(--color-dark-surface-positive); --surface-negative: var(--color-dark-surface-negative); --surface-primary: var(--color-dark-surface-primary); /* Content Tokens */ --content-default: var(--color-dark-content-default); --content-disable: var(--color-dark-content-disable); --content-ghost: var(--color-dark-content-ghost); --content-bright: var(--color-dark-content-bright); --content-din: var(--color-dark-content-din); --content-muted: var(--color-dark-content-ghost); /* Border Tokens */ --border-1: var(--color-dark-border-1); --border-2: var(--color-dark-border-2); --border-3: var(--color-dark-border-3); /* Semantic Status Tokens */ --color-positive: var(--color-dark-positive); --color-negative: var(--color-dark-negative); --color-info: var(--color-dark-info); --color-system: var(--color-dark-system); --color-focus: var(--color-dark-focus); --color-success: var(--color-dark-success); --color-warning: var(--color-dark-warning); --color-error: var(--color-dark-error); --color-delete: var(--color-dark-delete); /* Extended Color Tokens */ --color-blue: var(--color-dark-extended-blue); --color-blue-bright: var(--color-dark-extended-blue-bright); --color-ocean: var(--color-dark-extended-ocean); --color-ocean-bright: var(--color-dark-extended-ocean-bright); --color-green: var(--color-dark-extended-green); --color-green-bright: var(--color-dark-extended-green-bright); --color-yellow: var(--color-dark-extended-yellow); --color-yellow-bright: var(--color-dark-extended-yellow-bright); --color-orange: var(--color-dark-extended-orange); --color-orange-bright: var(--color-dark-extended-orange-bright); --color-red: var(--color-dark-extended-red); --color-red-bright: var(--color-dark-extended-red-bright); --color-pink: var(--color-dark-extended-pink); --color-pink-bright: var(--color-dark-extended-pink-bright); --color-gray: var(--color-dark-extended-gray); --color-gray-bright: var(--color-dark-extended-gray-bright); /* Action Tokens */ --action-hover: var(--color-dark-hover); --action-pressed: var(--color-dark-pressed); } } @media (prefers-color-scheme: light) { :root[data-theme="auto"] { /* Apply light theme tokens when system prefers light mode */ --color-primary: var(--color-light-primary); --color-secondary: var(--color-light-secondary); /* Surface Tokens */ --surface-0: var(--color-light-surface-0); --surface-1: var(--color-light-surface-1); --surface-2: var(--color-light-surface-2); --surface-3: var(--color-light-surface-3); --surface-4: var(--color-light-surface-4); --surface-positive: var(--color-light-surface-positive); --surface-negative: var(--color-light-surface-negative); --surface-primary: var(--color-light-surface-primary); /* Content Tokens */ --content-default: var(--color-light-content-default); --content-disable: var(--color-light-content-disable); --content-ghost: var(--color-light-content-ghost); --content-bright: var(--color-light-content-bright); --content-din: var(--color-light-content-din); --content-muted: var(--color-light-content-ghost); /* Border Tokens */ --border-1: var(--color-light-border-1); --border-2: var(--color-light-border-2); --border-3: var(--color-light-border-3); /* Semantic Status Tokens */ --color-positive: var(--color-light-positive); --color-negative: var(--color-light-negative); --color-info: var(--color-light-info); --color-system: var(--color-light-system); --color-focus: var(--color-light-focus); --color-success: var(--color-light-success); --color-warning: var(--color-light-warning); --color-error: var(--color-light-error); --color-delete: var(--color-light-delete); /* Extended Color Tokens */ --color-blue: var(--color-light-extended-blue); --color-blue-bright: var(--color-light-extended-blue-bright); --color-ocean: var(--color-light-extended-ocean); --color-ocean-bright: var(--color-light-extended-ocean-bright); --color-green: var(--color-light-extended-green); --color-green-bright: var(--color-light-extended-green-bright); --color-yellow: var(--color-light-extended-yellow); --color-yellow-bright: var(--color-light-extended-yellow-bright); --color-orange: var(--color-light-extended-orange); --color-orange-bright: var(--color-light-extended-orange-bright); --color-red: var(--color-light-extended-red); --color-red-bright: var(--color-light-extended-red-bright); --color-pink: var(--color-light-extended-pink); --color-pink-bright: var(--color-light-extended-pink-bright); --color-gray: var(--color-light-extended-gray); --color-gray-bright: var(--color-light-extended-gray-bright); /* Action Tokens */ --action-hover: var(--color-light-hover); --action-pressed: var(--color-light-pressed); } } /* Import utility classes */ /* BLiP Design System - Utility Classes */ /* Background Utilities */ .bg-surface-0 { background-color: var(--surface-0); } .bg-surface-1 { background-color: var(--surface-1); } .bg-surface-2 { background-color: var(--surface-2); } .bg-surface-3 { background-color: var(--surface-3); } .bg-surface-4 { background-color: var(--surface-4); } .bg-primary { background-color: var(--color-primary); } .bg-secondary { background-color: var(--color-secondary); } .bg-brand { background-color: var(--color-brand); } /* Status Background Colors */ .bg-success { background-color: var(--color-success); } .bg-warning { background-color: var(--color-warning); } .bg-error { background-color: var(--color-error); } .bg-info { background-color: var(--color-info); } .bg-positive { background-color: var(--color-positive); } .bg-negative { background-color: var(--color-negative); } /* Text Color Utilities */ .text-content-default { color: var(--content-default); } .text-content-ghost { color: var(--content-ghost); } .text-content-bright { color: var(--content-bright); } .text-content-disable { color: var(--content-disable); } .text-content-muted { color: var(--content-muted); } .text-primary { color: var(--color-primary); } .text-secondary { color: var(--color-secondary); } .text-brand { color: var(--color-brand); } /* Status Text Colors */ .text-success { color: var(--color-success); } .text-warning { color: var(--color-warning); } .text-error { color: var(--color-error); } .text-info { color: var(--color-info); } .text-positive { color: var(--color-positive); } .text-negative { color: var(--color-negative); } /* Border Utilities */ .border-0 { border: none; } .border-1 { border: 1px solid var(--border-1); } .border-2 { border: 1px solid var(--border-2); } .border-3 { border: 1px solid var(--border-3); } .border-primary { border-color: var(--color-primary); } .border-success { border-color: var(--color-success); } .border-warning { border-color: var(--color-warning); } .border-error { border-color: var(--color-error); } /* Spacing Utilities */ .p-0 { padding: var(--spacing-0); } .p-1 { padding: var(--spacing-1); } .p-2 { padding: var(--spacing-2); } .p-3 { padding: var(--spacing-3); } .p-4 { padding: var(--spacing-4); } .p-5 { padding: var(--spacing-5); } .p-6 { padding: var(--spacing-6); } .p-8 { padding: var(--spacing-8); } .p-10 { padding: var(--spacing-10); } .p-12 { padding: var(--spacing-12); } .m-0 { margin: var(--spacing-0); } .m-1 { margin: var(--spacing-1); } .m-2 { margin: var(--spacing-2); } .m-3 { margin: var(--spacing-3); } .m-4 { margin: var(--spacing-4); } .m-5 { margin: var(--spacing-5); } .m-6 { margin: var(--spacing-6); } .m-8 { margin: var(--spacing-8); } .m-10 { margin: var(--spacing-10); } .m-12 { margin: var(--spacing-12); } /* Border Radius Utilities */ .rounded-none { border-radius: var(--radius-none); } .rounded-sm { border-radius: var(--radius-sm); } .rounded { border-radius: var(--radius-base); } .rounded-md { border-radius: var(--radius-md); } .rounded-lg { border-radius: var(--radius-lg); } .rounded-xl { border-radius: var(--radius-xl); } .rounded-2xl { border-radius: var(--radius-2xl); } .rounded-3xl { border-radius: var(--radius-3xl); } .rounded-full { border-radius: var(--radius-full); } /* Typography Utilities */ .text-xs { font-size: var(--font-size-xs); } .text-sm { font-size: var(--font-size-sm); } .text-base { font-size: var(--font-size-base); } .text-lg { font-size: var(--font-size-lg); } .text-xl { font-size: var(--font-size-xl); } .text-2xl { font-size: var(--font-size-2xl); } .text-3xl { font-size: var(--font-size-3xl); } .text-4xl { font-size: var(--font-size-4xl); } .text-5xl { font-size: var(--font-size-5xl); } .font-thin { font-weight: var(--font-weight-thin); } .font-light { font-weight: var(--font-weight-light); } .font-normal { font-weight: var(--font-weight-normal); } .font-medium { font-weight: var(--font-weight-medium); } .font-semibold { font-weight: var(--font-weight-semibold); } .font-bold { font-weight: var(--font-weight-bold); } .font-extrabold { font-weight: var(--font-weight-extrabold); } .font-sans { font-family: var(--font-family-sans); } .font-serif { font-family: var(--font-family-serif); } .font-mono { font-family: var(--font-family-mono); } /* Shadow Utilities */ .shadow-sm { box-shadow: var(--shadow-sm); } .shadow-md { box-shadow: var(--shadow-md); } .shadow-lg { box-shadow: var(--shadow-lg); } .shadow-xl { box-shadow: var(--shadow-xl); } .shadow-2xl { box-shadow: var(--shadow-2xl); } .shadow-inner { box-shadow: var(--shadow-inner); } .shadow-none { box-shadow: var(--shadow-none); } /* Interactive Utilities */ .interactive { transition: all 0.2s ease; cursor: pointer; } .interactive:hover { background-color: var(--action-hover); } .interactive:active { background-color: var(--action-pressed); } /* Size Utilities */ .w-0 { width: var(--size-0); } .w-1 { width: var(--size-1); } .w-2 { width: var(--size-2); } .w-3 { width: var(--size-3); } .w-4 { width: var(--size-4); } .w-5 { width: var(--size-5); } .w-6 { width: var(--size-6); } .w-8 { width: var(--size-8); } .w-10 { width: var(--size-10); } .w-12 { width: var(--size-12); } .h-0 { height: var(--size-0); } .h-1 { height: var(--size-1); } .h-2 { height: var(--size-2); } .h-3 { height: var(--size-3); } .h-4 { height: var(--size-4); } .h-5 { height: var(--size-5); } .h-6 { height: var(--size-6); } .h-8 { height: var(--size-8); } .h-10 { height: var(--size-10); } .h-12 { height: var(--size-12); } /* Icon Utilities */ .icon-xs { width: var(--icon-xs); height: var(--icon-xs); } .icon-sm { width: var(--icon-sm); height: var(--icon-sm); } .icon-md { width: var(--icon-md); height: var(--icon-md); } .icon-lg { width: var(--icon-lg); height: var(--icon-lg); } .icon-xl { width: var(--icon-xl); height: var(--icon-xl); } .icon-2xl { width: var(--icon-2xl); height: var(--icon-2xl); } /* Global defaults */ html { background-color: var(--surface-1); color: var(--content-default); } body { font-family: var(--font-family-sans); color: var(--content-default); margin: 0; padding: 0; min-height: 100vh; } /* Apply font to all elements by default */ * { font-family: inherit; }