Files
OSIT-AE-App-Svelte/src/ae-firefly.css

353 lines
18 KiB
CSS
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/*
* AE Firefly — "Shiny serenity, like a firefly."
* Aether Platform / One Sky IT, LLC — Design System Theme
*
* Aesthetic vision (Scott Idem, 2026-03-06):
* Calm, focused, softly luminous. A modern Section 508compliant
* theme for One Sky IT, LLC. Inspired by bioluminescence —
* the brief, cool glow of a firefly against a deep, serene night.
*
* Color philosophy:
* Primary — Luminescent Teal: cool bioluminescent shimmer
* Secondary — Warm Amber-Gold: the firefly's warm body glow
* Tertiary — Night-Sky Indigo: depth and serenity of the dark
* Surface — Moonlit Slate: barely-cool neutral; crisp white
* (light mode) → deep midnight blue-grey (dark mode)
*
* Section 508 / WCAG 2.1 AA:
* - Body text (surface-950 on surface-50 light): >15:1 contrast ✓
* - Primary-filled buttons meet ≥3:1 for interactive components ✓
* - Contrast crossover points calculated per OKLCH approximate RL
*
* Based on: Skeleton v4 theme CSS variable structure
* Reference: src/ae-osit-default.css, Nouveau preset
*/
html[data-theme='AE_Firefly'] {
--text-scaling: 1.067;
--background: var(--color-surface-50) !important;
--base-font-color: var(--color-surface-950);
--base-font-color-dark: var(--color-surface-50);
--base-font-family: system-ui, sans-serif;
--base-font-size: inherit;
--base-line-height: inherit;
--base-font-weight: normal;
--base-font-style: normal;
--base-letter-spacing: 0em;
--heading-font-color: inherit;
--heading-font-color-dark: inherit;
--heading-font-family: inherit;
--heading-font-weight: bold;
--heading-font-style: normal;
--heading-letter-spacing: inherit;
/* Anchors: teal in light, lighter teal in dark */
--anchor-font-color: var(--color-primary-600);
--anchor-font-color-dark: var(--color-primary-300);
--anchor-font-family: inherit;
--anchor-font-size: inherit;
--anchor-line-height: inherit;
--anchor-font-weight: inherit;
--anchor-font-style: inherit;
--anchor-letter-spacing: inherit;
--anchor-text-decoration: none;
--anchor-text-decoration-hover: underline;
--anchor-text-decoration-active: none;
--anchor-text-decoration-focus: none;
--spacing: 0.25rem;
--radius-base: 0.375rem;
--radius-container: 0.875rem; /* slightly more rounded than default for modern feel */
--default-border-width: 1px;
}
/* --- Color ramps (light mode) copied from dark block so both modes have full ramps --- */
html[data-theme='AE_Firefly'] {
--color-primary-50: oklch(96.5% 0.025 192deg);
--color-primary-100: oklch(91.0% 0.050 190deg);
--color-primary-200: oklch(84.5% 0.078 188deg);
--color-primary-300: oklch(76.5% 0.105 186deg);
--color-primary-400: oklch(67.5% 0.125 185deg);
--color-primary-500: oklch(50.5% 0.130 184deg);
--color-primary-600: oklch(44.0% 0.125 183deg);
--color-primary-700: oklch(37.5% 0.115 182deg);
--color-primary-800: oklch(30.5% 0.105 181deg);
--color-primary-900: oklch(23.5% 0.090 180deg);
--color-primary-950: oklch(16.0% 0.075 179deg);
--color-primary-contrast-dark: var(--color-primary-950);
--color-primary-contrast-light: var(--color-primary-50);
--color-secondary-50: oklch(97.5% 0.060 102deg);
--color-secondary-100: oklch(93.5% 0.095 100deg);
--color-secondary-200: oklch(89.5% 0.128 98deg);
--color-secondary-300: oklch(85.5% 0.155 95deg);
--color-secondary-400: oklch(81.0% 0.170 93deg);
--color-secondary-500: oklch(76.0% 0.170 90deg);
--color-secondary-600: oklch(68.5% 0.160 87deg);
--color-secondary-700: oklch(60.5% 0.145 85deg);
--color-secondary-800: oklch(52.0% 0.130 83deg);
--color-secondary-900: oklch(43.5% 0.110 81deg);
--color-secondary-950: oklch(35.0% 0.090 79deg);
--color-secondary-contrast-dark: var(--color-secondary-950);
--color-secondary-contrast-light: var(--color-secondary-50);
--color-tertiary-50: oklch(95.5% 0.042 283deg);
--color-tertiary-100: oklch(89.0% 0.068 281deg);
--color-tertiary-200: oklch(81.5% 0.092 279deg);
--color-tertiary-300: oklch(73.5% 0.112 278deg);
--color-tertiary-400: oklch(65.0% 0.132 277deg);
--color-tertiary-500: oklch(55.5% 0.142 276deg);
--color-tertiary-600: oklch(48.5% 0.138 275deg);
--color-tertiary-700: oklch(41.5% 0.128 274deg);
--color-tertiary-800: oklch(34.5% 0.112 273deg);
--color-tertiary-900: oklch(27.5% 0.098 272deg);
--color-tertiary-950: oklch(20.0% 0.082 271deg);
--color-tertiary-contrast-dark: var(--color-tertiary-950);
--color-tertiary-contrast-light: var(--color-tertiary-50);
--color-success-50: oklch(95.77% 0.05 152.69deg);
--color-success-100: oklch(91.59% 0.06 152.00deg);
--color-success-200: oklch(87.45% 0.08 152.08deg);
--color-success-300: oklch(83.57% 0.09 150.85deg);
--color-success-400: oklch(79.47% 0.11 150.71deg);
--color-success-500: oklch(75.38% 0.12 149.99deg);
--color-success-600: oklch(67.65% 0.11 149.94deg);
--color-success-700: oklch(59.71% 0.09 150.42deg);
--color-success-800: oklch(51.74% 0.08 150.24deg);
--color-success-900: oklch(43.20% 0.06 151.12deg);
--color-success-950: oklch(34.20% 0.04 151.44deg);
--color-success-contrast-dark: var(--color-success-950);
--color-success-contrast-light: var(--color-success-50);
--color-warning-50: oklch(97.5% 0.065 78deg);
--color-warning-100: oklch(93.5% 0.090 75deg);
--color-warning-200: oklch(89.5% 0.120 73deg);
--color-warning-300: oklch(85.5% 0.145 70deg);
--color-warning-400: oklch(81.5% 0.160 67deg);
--color-warning-500: oklch(77.0% 0.165 65deg);
--color-warning-600: oklch(69.5% 0.155 64deg);
--color-warning-700: oklch(61.5% 0.140 63deg);
--color-warning-800: oklch(53.5% 0.125 62deg);
--color-warning-900: oklch(45.0% 0.105 61deg);
--color-warning-950: oklch(37.0% 0.088 60deg);
--color-warning-contrast-dark: var(--color-warning-950);
--color-warning-contrast-light: var(--color-warning-50);
--color-error-50: oklch(95.0% 0.040 18deg);
--color-error-100: oklch(88.0% 0.070 20deg);
--color-error-200: oklch(80.0% 0.105 21deg);
--color-error-300: oklch(72.0% 0.140 22deg);
--color-error-400: oklch(64.5% 0.170 23deg);
--color-error-500: oklch(57.5% 0.195 24deg);
--color-error-600: oklch(51.5% 0.182 25deg);
--color-error-700: oklch(45.5% 0.165 26deg);
--color-error-800: oklch(39.5% 0.148 27deg);
--color-error-900: oklch(33.0% 0.128 28deg);
--color-error-950: oklch(26.5% 0.108 29deg);
--color-error-contrast-dark: var(--color-error-950);
--color-error-contrast-light: var(--color-error-50);
--color-surface-50: oklch(99.2% 0.003 220deg);
--color-surface-100: oklch(97.0% 0.006 217deg);
--color-surface-200: oklch(93.5% 0.009 215deg);
--color-surface-300: oklch(88.5% 0.012 213deg);
--color-surface-400: oklch(81.5% 0.015 212deg);
--color-surface-500: oklch(70.5% 0.016 215deg);
--color-surface-600: oklch(59.0% 0.018 218deg);
--color-surface-700: oklch(47.5% 0.020 222deg);
--color-surface-800: oklch(30.5% 0.022 226deg);
--color-surface-900: oklch(24.5% 0.025 229deg);
--color-surface-950: oklch(15.5% 0.028 233deg);
--color-surface-contrast-dark: var(--color-surface-950);
--color-surface-contrast-light: var(--color-surface-50);
}
html.dark[data-theme='AE_Firefly'] {
--background: var(--color-surface-950) !important;
--default-divide-width: 1px;
--default-ring-width: 1px;
--body-background-color: var(--color-surface-50);
--body-background-color-dark: var(--color-surface-950);
/* ===================================================================
* PRIMARY — Luminescent Firefly Teal
* ...existing code...
*/
--color-primary-50: oklch(96.5% 0.025 192deg);
--color-primary-100: oklch(91.0% 0.050 190deg);
--color-primary-200: oklch(84.5% 0.078 188deg);
--color-primary-300: oklch(76.5% 0.105 186deg);
--color-primary-400: oklch(67.5% 0.125 185deg);
--color-primary-500: oklch(50.5% 0.130 184deg);
--color-primary-600: oklch(44.0% 0.125 183deg);
--color-primary-700: oklch(37.5% 0.115 182deg);
--color-primary-800: oklch(30.5% 0.105 181deg);
--color-primary-900: oklch(23.5% 0.090 180deg);
--color-primary-950: oklch(16.0% 0.075 179deg);
--color-primary-contrast-dark: var(--color-primary-950);
--color-primary-contrast-light: var(--color-primary-50);
--color-primary-contrast-50: var(--color-primary-contrast-dark);
--color-primary-contrast-100: var(--color-primary-contrast-dark);
--color-primary-contrast-200: var(--color-primary-contrast-dark);
--color-primary-contrast-300: var(--color-primary-contrast-dark);
--color-primary-contrast-400: var(--color-primary-contrast-dark);
--color-primary-contrast-500: var(--color-primary-contrast-light);
--color-primary-contrast-600: var(--color-primary-contrast-light);
--color-primary-contrast-700: var(--color-primary-contrast-light);
--color-primary-contrast-800: var(--color-primary-contrast-light);
--color-primary-contrast-900: var(--color-primary-contrast-light);
--color-primary-contrast-950: var(--color-primary-contrast-light);
/* ...existing code for secondary, tertiary, success, warning, error, surface... */
--color-secondary-50: oklch(97.5% 0.060 102deg);
--color-secondary-100: oklch(93.5% 0.095 100deg);
--color-secondary-200: oklch(89.5% 0.128 98deg);
--color-secondary-300: oklch(85.5% 0.155 95deg);
--color-secondary-400: oklch(81.0% 0.170 93deg);
--color-secondary-500: oklch(76.0% 0.170 90deg);
--color-secondary-600: oklch(68.5% 0.160 87deg);
--color-secondary-700: oklch(60.5% 0.145 85deg);
--color-secondary-800: oklch(52.0% 0.130 83deg);
--color-secondary-900: oklch(43.5% 0.110 81deg);
--color-secondary-950: oklch(35.0% 0.090 79deg);
--color-secondary-contrast-dark: var(--color-secondary-950);
--color-secondary-contrast-light: var(--color-secondary-50);
--color-secondary-contrast-50: var(--color-secondary-contrast-dark);
--color-secondary-contrast-100: var(--color-secondary-contrast-dark);
--color-secondary-contrast-200: var(--color-secondary-contrast-dark);
--color-secondary-contrast-300: var(--color-secondary-contrast-dark);
--color-secondary-contrast-400: var(--color-secondary-contrast-dark);
--color-secondary-contrast-500: var(--color-secondary-contrast-dark);
--color-secondary-contrast-600: var(--color-secondary-contrast-light);
--color-secondary-contrast-700: var(--color-secondary-contrast-light);
--color-secondary-contrast-800: var(--color-secondary-contrast-light);
--color-secondary-contrast-900: var(--color-secondary-contrast-light);
--color-secondary-contrast-950: var(--color-secondary-contrast-light);
--color-tertiary-50: oklch(95.5% 0.042 283deg);
--color-tertiary-100: oklch(89.0% 0.068 281deg);
--color-tertiary-200: oklch(81.5% 0.092 279deg);
--color-tertiary-300: oklch(73.5% 0.112 278deg);
--color-tertiary-400: oklch(65.0% 0.132 277deg);
--color-tertiary-500: oklch(55.5% 0.142 276deg);
--color-tertiary-600: oklch(48.5% 0.138 275deg);
--color-tertiary-700: oklch(41.5% 0.128 274deg);
--color-tertiary-800: oklch(34.5% 0.112 273deg);
--color-tertiary-900: oklch(27.5% 0.098 272deg);
--color-tertiary-950: oklch(20.0% 0.082 271deg);
--color-tertiary-contrast-dark: var(--color-tertiary-950);
--color-tertiary-contrast-light: var(--color-tertiary-50);
--color-tertiary-contrast-50: var(--color-tertiary-contrast-dark);
--color-tertiary-contrast-100: var(--color-tertiary-contrast-dark);
--color-tertiary-contrast-200: var(--color-tertiary-contrast-dark);
--color-tertiary-contrast-300: var(--color-tertiary-contrast-dark);
--color-tertiary-contrast-400: var(--color-tertiary-contrast-dark);
--color-tertiary-contrast-500: var(--color-tertiary-contrast-light);
--color-tertiary-contrast-600: var(--color-tertiary-contrast-light);
--color-tertiary-contrast-700: var(--color-tertiary-contrast-light);
--color-tertiary-contrast-800: var(--color-tertiary-contrast-light);
--color-tertiary-contrast-900: var(--color-tertiary-contrast-light);
--color-tertiary-contrast-950: var(--color-tertiary-contrast-light);
--color-success-50: oklch(95.77% 0.05 152.69deg);
--color-success-100: oklch(91.59% 0.06 152.00deg);
--color-success-200: oklch(87.45% 0.08 152.08deg);
--color-success-300: oklch(83.57% 0.09 150.85deg);
--color-success-400: oklch(79.47% 0.11 150.71deg);
--color-success-500: oklch(75.38% 0.12 149.99deg);
--color-success-600: oklch(67.65% 0.11 149.94deg);
--color-success-700: oklch(59.71% 0.09 150.42deg);
--color-success-800: oklch(51.74% 0.08 150.24deg);
--color-success-900: oklch(43.20% 0.06 151.12deg);
--color-success-950: oklch(34.20% 0.04 151.44deg);
--color-success-contrast-dark: var(--color-success-950);
--color-success-contrast-light: var(--color-success-50);
--color-success-contrast-50: var(--color-success-contrast-dark);
--color-success-contrast-100: var(--color-success-contrast-dark);
--color-success-contrast-200: var(--color-success-contrast-dark);
--color-success-contrast-300: var(--color-success-contrast-dark);
--color-success-contrast-400: var(--color-success-contrast-dark);
--color-success-contrast-500: var(--color-success-contrast-dark);
--color-success-contrast-600: var(--color-success-contrast-dark);
--color-success-contrast-700: var(--color-success-contrast-light);
--color-success-contrast-800: var(--color-success-contrast-light);
--color-success-contrast-900: var(--color-success-contrast-light);
--color-success-contrast-950: var(--color-success-contrast-light);
--color-warning-50: oklch(97.5% 0.065 78deg);
--color-warning-100: oklch(93.5% 0.090 75deg);
--color-warning-200: oklch(89.5% 0.120 73deg);
--color-warning-300: oklch(85.5% 0.145 70deg);
--color-warning-400: oklch(81.5% 0.160 67deg);
--color-warning-500: oklch(77.0% 0.165 65deg);
--color-warning-600: oklch(69.5% 0.155 64deg);
--color-warning-700: oklch(61.5% 0.140 63deg);
--color-warning-800: oklch(53.5% 0.125 62deg);
--color-warning-900: oklch(45.0% 0.105 61deg);
--color-warning-950: oklch(37.0% 0.088 60deg);
--color-warning-contrast-dark: var(--color-warning-950);
--color-warning-contrast-light: var(--color-warning-50);
--color-warning-contrast-50: var(--color-warning-contrast-dark);
--color-warning-contrast-100: var(--color-warning-contrast-dark);
--color-warning-contrast-200: var(--color-warning-contrast-dark);
--color-warning-contrast-300: var(--color-warning-contrast-dark);
--color-warning-contrast-400: var(--color-warning-contrast-dark);
--color-warning-contrast-500: var(--color-warning-contrast-dark);
--color-warning-contrast-600: var(--color-warning-contrast-dark);
--color-warning-contrast-700: var(--color-warning-contrast-light);
--color-warning-contrast-800: var(--color-warning-contrast-light);
--color-warning-contrast-900: var(--color-warning-contrast-light);
--color-warning-contrast-950: var(--color-warning-contrast-light);
--color-error-50: oklch(95.0% 0.040 18deg);
--color-error-100: oklch(88.0% 0.070 20deg);
--color-error-200: oklch(80.0% 0.105 21deg);
--color-error-300: oklch(72.0% 0.140 22deg);
--color-error-400: oklch(64.5% 0.170 23deg);
--color-error-500: oklch(57.5% 0.195 24deg);
--color-error-600: oklch(51.5% 0.182 25deg);
--color-error-700: oklch(45.5% 0.165 26deg);
--color-error-800: oklch(39.5% 0.148 27deg);
--color-error-900: oklch(33.0% 0.128 28deg);
--color-error-950: oklch(26.5% 0.108 29deg);
--color-error-contrast-dark: var(--color-error-950);
--color-error-contrast-light: var(--color-error-50);
--color-error-contrast-50: var(--color-error-contrast-dark);
--color-error-contrast-100: var(--color-error-contrast-dark);
--color-error-contrast-200: var(--color-error-contrast-dark);
--color-error-contrast-300: var(--color-error-contrast-dark);
--color-error-contrast-400: var(--color-error-contrast-light);
--color-error-contrast-500: var(--color-error-contrast-light);
--color-error-contrast-600: var(--color-error-contrast-light);
--color-error-contrast-700: var(--color-error-contrast-light);
--color-error-contrast-800: var(--color-error-contrast-light);
--color-error-contrast-900: var(--color-error-contrast-light);
--color-error-contrast-950: var(--color-error-contrast-light);
--color-surface-50: oklch(99.2% 0.003 220deg);
--color-surface-100: oklch(97.0% 0.006 217deg);
--color-surface-200: oklch(93.5% 0.009 215deg);
--color-surface-300: oklch(88.5% 0.012 213deg);
--color-surface-400: oklch(81.5% 0.015 212deg);
--color-surface-500: oklch(70.5% 0.016 215deg);
--color-surface-600: oklch(59.0% 0.018 218deg);
--color-surface-700: oklch(47.5% 0.020 222deg);
--color-surface-800: oklch(35.5% 0.022 226deg);
--color-surface-900: oklch(24.5% 0.025 229deg);
--color-surface-950: oklch(15.5% 0.028 233deg);
--color-surface-contrast-dark: var(--color-surface-950);
--color-surface-contrast-light: var(--color-surface-50);
--color-surface-contrast-50: var(--color-surface-contrast-dark);
--color-surface-contrast-100: var(--color-surface-contrast-dark);
--color-surface-contrast-200: var(--color-surface-contrast-dark);
--color-surface-contrast-300: var(--color-surface-contrast-dark);
--color-surface-contrast-400: var(--color-surface-contrast-dark);
--color-surface-contrast-500: var(--color-surface-contrast-dark);
--color-surface-contrast-600: var(--color-surface-contrast-light);
--color-surface-contrast-700: var(--color-surface-contrast-light);
--color-surface-contrast-800: var(--color-surface-contrast-light);
--color-surface-contrast-900: var(--color-surface-contrast-light);
--color-surface-contrast-950: var(--color-surface-contrast-light);
}