UNPKG

@senka-ai/ui

Version:

A modern, type-safe Svelte 5 UI component library with full theme support, accessibility standards, and robust state management patterns

174 lines (151 loc) 5.05 kB
/** * Senka UI Library Styles * Main CSS entry point for the UI library */ /* Import Google Fonts first */ @import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap'); /* Import Tailwind CSS */ @import 'tailwindcss'; /* Import design tokens and component styles */ @import './colors.css'; @import './typography.css'; @import './spacing.css'; @import './hover-states.css'; @import './focus-states.css'; @import './transitions.css'; /* Base styles */ :root { font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif; line-height: 1.5; font-weight: 400; color-scheme: light dark; color: var(--color-text-primary); background-color: var(--color-background); font-synthesis: none; text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; -webkit-text-size-adjust: 100%; /* Color Variables */ /* Highlight colors (Brand Blue) - From Color.jpg */ --color-highlight-50: #eaf2ff; --color-highlight-100: #b4dbff; --color-highlight-200: #6fbaff; --color-highlight-300: #2897ff; --color-highlight-400: #006ffd; /* Neutral colors (Light) - From Color.jpg */ --color-neutral-50: #ffffff; --color-neutral-100: #f8f9fe; --color-neutral-200: #e8e9f1; --color-neutral-300: #d4d6dd; --color-neutral-400: #c5c6cc; --color-neutral-500: #8f9098; --color-neutral-600: #71727a; --color-neutral-700: #494a50; --color-neutral-800: #2f3036; --color-neutral-900: #1f2024; /* Success colors - Based on Color.jpg with extensions */ --color-success-50: #e7f4e8; --color-success-100: #c3e9c5; --color-success-200: #8dd790; --color-success-300: #3ac0a0; --color-success-400: #298267; /* Warning colors - Based on Color.jpg with extensions */ --color-warning-50: #fff4e4; --color-warning-100: #ffe4c2; --color-warning-200: #ffc784; --color-warning-300: #ffb37c; --color-warning-400: #e86339; /* Error colors - Based on Color.jpg with extensions */ --color-error-50: #ffe2e5; --color-error-100: #ffc4cc; --color-error-200: #ff8599; --color-error-300: #ff616d; --color-error-400: #ed3241; /* Semantic color mappings */ --color-background: var(--color-neutral-50); --color-surface: var(--color-neutral-100); --color-surface-elevated: var(--color-neutral-50); --color-surface-hover: var(--color-neutral-200); --color-text-primary: var(--color-neutral-900); --color-text-secondary: var(--color-neutral-600); --color-text-muted: var(--color-neutral-500); --color-border: var(--color-neutral-200); --color-border-default: var(--color-neutral-200); --color-border-strong: var(--color-neutral-300); --color-border-subtle: var(--color-neutral-300); } /* Dark theme support */ [data-theme='dark'] { /* Neutral Colors - Dark Theme (from Color.jpg) */ --color-neutral-50: #1f2024; --color-neutral-100: #2f3036; --color-neutral-200: #494a50; --color-neutral-300: #71727a; --color-neutral-400: #8f9098; --color-neutral-500: #c5c6cc; --color-neutral-600: #d4d6dd; --color-neutral-700: #e8e9f1; --color-neutral-800: #f8f9fe; --color-neutral-900: #ffffff; /* Highlight colors - Dark Theme */ --color-highlight-50: #0a1929; --color-highlight-100: #1e3a5f; --color-highlight-200: #2d5aa0; --color-highlight-300: #4785ff; --color-highlight-400: #80b3ff; /* Success colors - Dark Theme */ --color-success-50: #0d2818; --color-success-100: #1a4c2f; --color-success-200: #2d7050; --color-success-300: #4ca376; --color-success-400: #7dd3a7; /* Warning colors - Dark Theme */ --color-warning-50: #2d1b0a; --color-warning-100: #5a3514; --color-warning-200: #8b5a28; --color-warning-300: #c8804a; --color-warning-400: #ffab73; /* Error colors - Dark Theme */ --color-error-50: #2d0a0f; --color-error-100: #5a141f; --color-error-200: #8b2332; --color-error-300: #c8444f; --color-error-400: #ff7580; /* Semantic colors for dark theme */ --color-background: var(--color-neutral-50); --color-surface: var(--color-neutral-100); --color-surface-elevated: var(--color-neutral-200); --color-surface-hover: var(--color-neutral-300); --color-text-primary: var(--color-neutral-900); --color-text-secondary: var(--color-neutral-600); --color-text-muted: var(--color-neutral-500); --color-border: var(--color-neutral-200); --color-border-default: var(--color-neutral-200); --color-border-strong: var(--color-neutral-300); --color-border-subtle: var(--color-neutral-200); } /* Mobile scroll behavior */ @media (max-width: 768px) { html, body { overflow-x: hidden; } } /* Focus outline reset */ *:focus { outline: none; } /* Base component styles */ button { cursor: pointer; } button:disabled { cursor: not-allowed; } /* Text selection styles */ ::selection { background-color: var(--color-neutral-200); } ::-moz-selection { background-color: var(--color-neutral-200); }