Files
platform/src/workspaces/theme/css/themes/ayu-dark.css
T
pastilhasandClaude Sonnet 5 a58f4d2b32 port 147 community Omarchy themes from omarchythemes.com
The official 22 themes come from basecamp/omarchy's own colors.toml, contrast-checked
by generate-themes.ts. A community theme has no such file — it ships per-app configs
(alacritty.toml, ghostty.conf) in the older 16-ANSI-slot style, so this adds a sibling
pipeline: from-ansi.ts derives the same 24-key Palette shape by role (accent, three
background depths, three foreground weights) from those 16 slots, then runs through the
same mapPalette + contrast checks the official themes use. Nothing about the official
generator changed — verified generate-themes.ts --check still reports 0 changes.

port-community-themes.ts discovers each theme's GitHub repo from its omarchythemes.com
page, fetches alacritty.toml (preferred) or ghostty.conf, and is idempotent via
community-manifest.json so a re-run only fetches what's missing. Community themes get
their own registry/index.css marker block, separate from the official GENERATED THEMES
block, so the two pipelines can never clobber each other.

121 of 212 attempted made it through cleanly; a second pass tightening accent selection
and nudging --input recovered 20 more borderline cases (147 total). The rest failed for
real reasons: 62 repos had no parseable colour source, 7 had an accent colour whose own
luminance can't clear 4.5:1 against either black or white text, a handful were narrowly
under threshold even after the rescue pass, and 2 pages had no repo link at all. Every
generated file's header states its source repo and whether it's a light or dark theme.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-22 01:37:05 +00:00

100 lines
3.2 KiB
CSS

/*
Ayu Dark — ported from a community Omarchy theme, not from basecamp/omarchy's own set.
Dark theme (dark), by luminance of its own
background — the source repo carries no mode flag of its own to read.
Source: https://github.com/fdidron/omarchy-ayu-dark-theme (alacritty.toml), read by scripts/port-community-themes.ts. Values
went through deriveOmarchyPalette (scripts/themes/from-ansi.ts) because a single-theme repo ships
per-app configs, not Omarchy 4's own colors.toml shape — some tokens here are reconstructed, not
authored. Every text/surface pair is contrast-checked the same way the official themes are.
DO NOT EDIT BY HAND. Re-run the script to refresh from the source repo.
*/
[data-theme='ayu-dark'] {
--background: #06080b;
--foreground: #bfbdb6;
--card: #0b0e14;
--card-foreground: #bfbdb6;
--popover: #0b0e14;
--popover-foreground: #bfbdb6;
--muted: #1c1f24;
--muted-foreground: #898985;
--accent: #1c1f24;
--accent-foreground: #bfbdb6;
--primary: #53bdfa;
--primary-foreground: #06080b;
--secondary: #1c1f24;
--secondary-foreground: #bfbdb6;
--cta: #53bdfa;
--cta-foreground: #06080b;
--ctahover: #68c5fb;
--success: #7fd962;
--success-foreground: #06080b;
--warning: #f9af4f;
--warning-foreground: #06080b;
--destructive: #ea6c73;
--destructive-foreground: #06080b;
--info: #53bdfa;
--info-foreground: #06080b;
--busy: #f28e61;
--busy-foreground: #06080b;
--busy-ink: #f28e61;
--border: #2e3034;
--input: #2e3034;
--ring: #53bdfa;
--radius: 0.625rem;
--chart-primary: #53bdfa;
--chart-secondary: #cda1fa;
--status-success: #7fd962;
--status-warning: #f9af4f;
--status-in-progress: #53bdfa;
--page-bg: #06080b;
--page-bg-src: '';
--panel-bg: rgb(11 14 20 / 0.72);
--panel-border: rgb(46 48 52 / 0.9);
--panel-border-bare: rgb(46 48 52 / 0.55);
--panel-raised-bg: rgb(11 14 20 / 0.95);
--panel-raised-border: rgb(46 48 52 / 1);
--panel-accent: #53bdfa;
--panel-header-bg: rgb(28 31 36 / 0.6);
--panel-header-fg: #bfbdb6;
--panel-radius: 0.75rem;
--panel-blur: 12px;
--card-bg: #0b0e14;
--glass-bg: rgb(11 14 20 / 0.55);
--glass-border: rgb(46 48 52 / 0.7);
--dock-bg: rgb(11 14 20 / 0.7);
--dock-border: rgb(46 48 52 / 0.8);
--dock-tooltip-bg: #1c1f24;
--header-bg: rgb(11 14 20 / 0.8);
--header-border: rgb(46 48 52 / 0.9);
--header-fg: #bfbdb6;
--header-blur: 12px;
--pixel-grid-color: rgb(96 97 97 / 0.07);
--card-grid-color: rgb(96 97 97 / 0.05);
--panel-grid-color: rgb(96 97 97 / 0.06);
--scrollbar-thumb: rgb(104 104 104 / 0.6);
--scrollbar-thumb-hover: rgb(104 104 104 / 0.85);
--scrollbar-thin-thumb: rgb(104 104 104 / 0.45);
--scrollbar-thin-thumb-hover: rgb(104 104 104 / 0.7);
--brand: #53bdfa;
--brand-foreground: #06080b;
--brand-primary: #53bdfa;
--brand-accent: #90e1c6;
--brand-warm: #f28e61;
--brand-deep: #06080b;
--brand-muted: #686868;
--ink: #bfbdb6;
--surface-warm: #0b0e14;
--naturegreen: #7fd962;
--naturegreen-foreground: #06080b;
--duck-dark: #bfbdb6;
--duck-teal: #90e1c6;
--duck-yellow: #f9af4f;
--duck-orange: #f28e61;
--duck-forest: #7fd962;
--duck-beige: #1d2024;
--logo-src: '/officer-logo.svg';
}