/* * AE Firefly — SteelBlue variant * "Polished metal, like light on still water." * Aether Platform / One Sky IT, LLC — Design System Theme * * Aesthetic vision (Scott Idem, 2026-03-09): * A metallic, professional cool-blue variant of the Firefly system. * Inspired by polished steel and chrome — the reflective shimmer of * cool metal under crisp light. Calm authority, not cold distance. * * Color philosophy: * Primary — Steel Blue: polished metallic blue (~214°), cool and precise * Secondary — Burnished Gold: warm metallic contrast (~52°), brass/copper * Tertiary — Cobalt Navy: deeper blue for depth and dimension (~229°) * Surface — Chrome Silver: barely-cool neutral with a subtle blue cast * (light mode: bright chrome) → (dark mode: gunmetal slate) * * 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 * Variant of: src/ae-firefly.css (AE_Firefly) */ html[data-theme='AE_Firefly_SteelBlue'] { --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: steel blue in light, lighter steel blue 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; /* --- Color ramps (light mode) copied from dark block so both modes have full ramps --- */ --color-primary-50: oklch(96.5% 0.022 214deg); --color-primary-100: oklch(91% 0.045 213deg); --color-primary-200: oklch(84.5% 0.072 212deg); --color-primary-300: oklch(76.5% 0.097 212deg); --color-primary-400: oklch(67% 0.115 213deg); --color-primary-500: oklch(56% 0.115 214deg); --color-primary-600: oklch(49% 0.112 214deg); --color-primary-700: oklch(41.5% 0.105 213deg); --color-primary-800: oklch(34% 0.095 212deg); --color-primary-900: oklch(26.5% 0.08 211deg); --color-primary-950: oklch(18.5% 0.065 210deg); --color-primary-contrast-dark: var(--color-primary-950); --color-primary-contrast-light: var(--color-primary-50); --color-secondary-50: oklch(97.5% 0.055 56deg); --color-secondary-100: oklch(93.5% 0.09 55deg); --color-secondary-200: oklch(89.5% 0.12 54deg); --color-secondary-300: oklch(85.5% 0.148 53deg); --color-secondary-400: oklch(81.5% 0.162 52deg); --color-secondary-500: oklch(76.5% 0.162 51deg); --color-secondary-600: oklch(68.5% 0.152 50deg); --color-secondary-700: oklch(60.5% 0.138 49deg); --color-secondary-800: oklch(52% 0.122 48deg); --color-secondary-900: oklch(43.5% 0.102 47deg); --color-secondary-950: oklch(35% 0.084 46deg); --color-secondary-contrast-dark: var(--color-secondary-950); --color-secondary-contrast-light: var(--color-secondary-50); --color-tertiary-50: oklch(95.5% 0.025 232deg); --color-tertiary-100: oklch(89.5% 0.048 231deg); --color-tertiary-200: oklch(82.5% 0.072 230deg); --color-tertiary-300: oklch(74.5% 0.095 229deg); --color-tertiary-400: oklch(65.5% 0.12 229deg); --color-tertiary-500: oklch(54.5% 0.135 230deg); --color-tertiary-600: oklch(47% 0.132 230deg); --color-tertiary-700: oklch(39.5% 0.122 229deg); --color-tertiary-800: oklch(32% 0.108 228deg); --color-tertiary-900: oklch(25% 0.09 227deg); --color-tertiary-950: oklch(17.5% 0.072 226deg); --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 152deg); --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.2% 0.06 151.12deg); --color-success-950: oklch(34.2% 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.09 75deg); --color-warning-200: oklch(89.5% 0.12 73deg); --color-warning-300: oklch(85.5% 0.145 70deg); --color-warning-400: oklch(81.5% 0.16 67deg); --color-warning-500: oklch(77% 0.165 65deg); --color-warning-600: oklch(69.5% 0.155 64deg); --color-warning-700: oklch(61.5% 0.14 63deg); --color-warning-800: oklch(53.5% 0.125 62deg); --color-warning-900: oklch(45% 0.105 61deg); --color-warning-950: oklch(37% 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.04 18deg); --color-error-100: oklch(88% 0.07 20deg); --color-error-200: oklch(80% 0.105 21deg); --color-error-300: oklch(72% 0.14 22deg); --color-error-400: oklch(64.5% 0.17 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.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% 0.004 220deg); --color-surface-100: oklch(96.5% 0.008 218deg); --color-surface-200: oklch(92.5% 0.012 217deg); --color-surface-300: oklch(87% 0.016 216deg); --color-surface-400: oklch(78.5% 0.02 215deg); --color-surface-500: oklch(66.5% 0.022 217deg); --color-surface-600: oklch(54.5% 0.025 220deg); --color-surface-700: oklch(42.5% 0.028 223deg); --color-surface-800: oklch(31% 0.032 226deg); --color-surface-900: oklch(20.5% 0.035 228deg); --color-surface-950: oklch(13% 0.04 232deg); --color-surface-contrast-dark: var(--color-surface-950); --color-surface-contrast-light: var(--color-surface-50); } html.dark[data-theme='AE_Firefly_SteelBlue'] { --background: var(--color-surface-950) !important; --default-border-width: 1px; --default-divide-width: 1px; --default-ring-width: 1px; --body-background-color: var(--color-surface-50); --body-background-color-dark: var(--color-surface-950); /* =================================================================== * PRIMARY — Polished Steel Blue * Hue: ~214°. Cool metallic blue — the shine of polished steel * under directional light. Professional, precise, and distinctive. * Approx: #4682B4 (CSS SteelBlue) sits at oklch(56%, 0.113, 214°). * At 500 (L≈56%): sufficient contrast with primary-50 text (≥4:1). * =================================================================== */ --color-primary-50: oklch(96.5% 0.022 214deg); --color-primary-100: oklch(91% 0.045 213deg); --color-primary-200: oklch(84.5% 0.072 212deg); --color-primary-300: oklch(76.5% 0.097 212deg); --color-primary-400: oklch(67% 0.115 213deg); --color-primary-500: oklch(56% 0.115 214deg); --color-primary-600: oklch(49% 0.112 214deg); --color-primary-700: oklch(41.5% 0.105 213deg); --color-primary-800: oklch(34% 0.095 212deg); --color-primary-900: oklch(26.5% 0.08 211deg); --color-primary-950: oklch(18.5% 0.065 210deg); --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); /* =================================================================== * SECONDARY — Burnished Gold (warm metallic contrast) * Hue: ~52°. Warm brass/copper tones that complement the coolness * of steel blue. The classic "metal on metal" contrast pairing — * used for secondary actions, badges, and call-to-action highlights. * =================================================================== */ --color-secondary-50: oklch(97.5% 0.055 56deg); --color-secondary-100: oklch(93.5% 0.09 55deg); --color-secondary-200: oklch(89.5% 0.12 54deg); --color-secondary-300: oklch(85.5% 0.148 53deg); --color-secondary-400: oklch(81.5% 0.162 52deg); --color-secondary-500: oklch(76.5% 0.162 51deg); --color-secondary-600: oklch(68.5% 0.152 50deg); --color-secondary-700: oklch(60.5% 0.138 49deg); --color-secondary-800: oklch(52% 0.122 48deg); --color-secondary-900: oklch(43.5% 0.102 47deg); --color-secondary-950: oklch(35% 0.084 46deg); --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); /* =================================================================== * TERTIARY — Cobalt Navy * Hue: ~229°. A deeper, richer blue for depth and dimension — * like the heavy cobalt-blue depths under polished chrome. * Used for accents, location chips, and depth elements. * =================================================================== */ --color-tertiary-50: oklch(95.5% 0.025 232deg); --color-tertiary-100: oklch(89.5% 0.048 231deg); --color-tertiary-200: oklch(82.5% 0.072 230deg); --color-tertiary-300: oklch(74.5% 0.095 229deg); --color-tertiary-400: oklch(65.5% 0.12 229deg); --color-tertiary-500: oklch(54.5% 0.135 230deg); --color-tertiary-600: oklch(47% 0.132 230deg); --color-tertiary-700: oklch(39.5% 0.122 229deg); --color-tertiary-800: oklch(32% 0.108 228deg); --color-tertiary-900: oklch(25% 0.09 227deg); --color-tertiary-950: oklch(17.5% 0.072 226deg); --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); /* =================================================================== * SUCCESS — Bioluminescent Green * Hue: ~152°. Consistent with AE_Firefly for recognizable semantic * color meaning across OSIT themes. * =================================================================== */ --color-success-50: oklch(95.77% 0.05 152.69deg); --color-success-100: oklch(91.59% 0.06 152deg); --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.2% 0.06 151.12deg); --color-success-950: oklch(34.2% 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); /* =================================================================== * WARNING — Amber Orange * Consistent with AE_Firefly for recognizable semantic meaning. * =================================================================== */ --color-warning-50: oklch(97.5% 0.065 78deg); --color-warning-100: oklch(93.5% 0.09 75deg); --color-warning-200: oklch(89.5% 0.12 73deg); --color-warning-300: oklch(85.5% 0.145 70deg); --color-warning-400: oklch(81.5% 0.16 67deg); --color-warning-500: oklch(77% 0.165 65deg); --color-warning-600: oklch(69.5% 0.155 64deg); --color-warning-700: oklch(61.5% 0.14 63deg); --color-warning-800: oklch(53.5% 0.125 62deg); --color-warning-900: oklch(45% 0.105 61deg); --color-warning-950: oklch(37% 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); /* =================================================================== * ERROR — Soft Coral/Rose * Consistent with AE_Firefly for recognizable semantic meaning. * =================================================================== */ --color-error-50: oklch(95% 0.04 18deg); --color-error-100: oklch(88% 0.07 20deg); --color-error-200: oklch(80% 0.105 21deg); --color-error-300: oklch(72% 0.14 22deg); --color-error-400: oklch(64.5% 0.17 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.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); /* =================================================================== * SURFACE — Chrome Silver * A cool-blue-tinted neutral with slightly more chromatic presence * than AE_Firefly's Moonlit Slate — leaning further toward the * steel palette. Light mode: bright chrome. Dark mode: gunmetal. * * 50 → body-bg light: brilliant near-white with a chrome whisper * 950 → body-bg dark: deep gunmetal with subtle cool-blue depth * =================================================================== */ --color-surface-50: oklch(99% 0.004 220deg); --color-surface-100: oklch(96.5% 0.008 218deg); --color-surface-200: oklch(92.5% 0.012 217deg); --color-surface-300: oklch(87% 0.016 216deg); --color-surface-400: oklch(78.5% 0.02 215deg); --color-surface-500: oklch(66.5% 0.022 217deg); --color-surface-600: oklch(54.5% 0.025 220deg); --color-surface-700: oklch(42.5% 0.028 223deg); --color-surface-800: oklch(31% 0.032 226deg); --color-surface-900: oklch(20.5% 0.035 228deg); --color-surface-950: oklch(13% 0.04 232deg); --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); }