add colors.toml and 0x-hex support, rescuing 44 more community themes
Poked at the 62 "no parseable source" skips from the first pass and found two things the pipeline didn't handle: several community repos genuinely ship colors.toml too — some in Omarchy 4's own semantic schema (best case, no derivation needed at all, same quality as the official 22), others reusing the filename for an unrelated flat color0..color15 scheme — and a handful of alacritty.toml files use 0xrrggbb instead of #rrggbb. palette.ts's loadPalette is now a thin wrapper over two exported pieces (parseTomlText, paletteFromRecord) so the community pipeline can attempt the real schema first without duplicating the reader; falls through to the color16 or ANSI-derived paths otherwise. generate-themes.ts --check still reports 0 changes for the official set — the refactor is behavior-preserving there, the lowercase-hex normalization it picked up along the way touched 7 official theme files cosmetically (their source colors.toml has uppercase hex), regenerated for real rather than left inconsistent with their own source. 147 -> 191 community themes ported. Of the original 62 unparseable repos, most turned out to be simply gone (404 on GitHub — repos deleted or renamed since the site listed them); the rest needed one of the two format additions above. 20 themes remain stuck: 16 dead repos, 2 with no repo link at all, and the same handful of genuinely low-contrast source palettes (mostly Solarized variants) where fixing contrast would mean changing the author's actual colours rather than porting them. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -3,8 +3,10 @@ import { existsSync, readFileSync, writeFileSync } from 'node:fs';
|
||||
import { execSync } from 'node:child_process';
|
||||
import { join } from 'node:path';
|
||||
import { mapPalette } from './themes/map';
|
||||
import type { Palette } from './themes/palette';
|
||||
import { paletteFromRecord, parseTomlText } from './themes/palette';
|
||||
import { deriveOmarchyPalette } from './themes/from-ansi';
|
||||
import { parseAlacrittyToml, parseGhosttyConf } from './themes/ansi-source';
|
||||
import { parseAlacrittyToml, parseColor16Toml, parseGhosttyConf } from './themes/ansi-source';
|
||||
import { contrast, ensureContrast, TEXT, UI } from './themes/contrast';
|
||||
|
||||
// Port community Omarchy themes from omarchythemes.com into the same 84-token shape the official
|
||||
@@ -36,7 +38,7 @@ type ManifestEntry = {
|
||||
id: string;
|
||||
name: string;
|
||||
repo: string;
|
||||
kind: 'alacritty.toml' | 'ghostty.conf';
|
||||
kind: string;
|
||||
dark: boolean;
|
||||
};
|
||||
|
||||
@@ -105,12 +107,29 @@ async function discoverRepo(slug: string): Promise<string | undefined> {
|
||||
return m ? `${m[1]}/${m[2]}` : undefined;
|
||||
}
|
||||
|
||||
async function sourceFor(
|
||||
repo: string,
|
||||
): Promise<{ ansi: NonNullable<ReturnType<typeof parseAlacrittyToml>>; kind: ManifestEntry['kind'] } | undefined> {
|
||||
async function sourceFor(repo: string): Promise<{ palette: Palette; kind: string; derived: boolean } | undefined> {
|
||||
const branch = ghApiDefaultBranch(repo);
|
||||
const raw = (p: string) => `https://raw.githubusercontent.com/${repo}/${branch}/${p}`;
|
||||
|
||||
// `colors.toml` is ambiguous across community repos: it might genuinely be Omarchy 4's own semantic
|
||||
// schema (in which case no derivation is needed at all — same quality as the official 22), or it might
|
||||
// reuse the filename for an unrelated flat `color0..color15` ANSI scheme. Try the real schema first;
|
||||
// only fall through to the ANSI reading if the required keys aren't there.
|
||||
const tomlText = await fetchText(raw('colors.toml'));
|
||||
if (tomlText) {
|
||||
const kv = parseTomlText(tomlText);
|
||||
try {
|
||||
return {
|
||||
palette: paletteFromRecord(kv, `${repo}/colors.toml`),
|
||||
kind: 'colors.toml (Omarchy schema)',
|
||||
derived: false,
|
||||
};
|
||||
} catch {
|
||||
const ansi = parseColor16Toml(kv);
|
||||
if (ansi) return { palette: deriveOmarchyPalette(ansi), kind: 'colors.toml (16-colour ANSI)', derived: true };
|
||||
}
|
||||
}
|
||||
|
||||
for (const path of [
|
||||
'alacritty.toml',
|
||||
'.config/alacritty.toml',
|
||||
@@ -120,13 +139,13 @@ async function sourceFor(
|
||||
const text = await fetchText(raw(path));
|
||||
if (!text) continue;
|
||||
const ansi = parseAlacrittyToml(text);
|
||||
if (ansi) return { ansi, kind: 'alacritty.toml' };
|
||||
if (ansi) return { palette: deriveOmarchyPalette(ansi), kind: 'alacritty.toml', derived: true };
|
||||
}
|
||||
for (const path of ['ghostty.conf', 'ghostty-theme', '.config/ghostty/config']) {
|
||||
const text = await fetchText(raw(path));
|
||||
if (!text) continue;
|
||||
const ansi = parseGhosttyConf(text);
|
||||
if (ansi) return { ansi, kind: 'ghostty.conf' };
|
||||
if (ansi) return { palette: deriveOmarchyPalette(ansi), kind: 'ghostty.conf', derived: true };
|
||||
}
|
||||
return undefined;
|
||||
}
|
||||
@@ -136,9 +155,9 @@ async function portOne(slug: string): Promise<{ entry: ManifestEntry; css: strin
|
||||
if (!repo) return { skip: 'no github repo link found on its omarchythemes.com page' };
|
||||
|
||||
const source = await sourceFor(repo);
|
||||
if (!source) return { skip: `no parseable alacritty.toml/ghostty.conf in ${repo}` };
|
||||
if (!source) return { skip: `no parseable colors.toml/alacritty.toml/ghostty.conf in ${repo}` };
|
||||
|
||||
const palette = deriveOmarchyPalette(source.ansi);
|
||||
const palette = source.palette;
|
||||
const tokens = mapPalette(palette);
|
||||
|
||||
// `--input` carries a real accessibility requirement (a field boundary you can't see) where `--border`
|
||||
@@ -161,16 +180,19 @@ async function portOne(slug: string): Promise<{ entry: ManifestEntry; css: strin
|
||||
const body = Object.entries(tokens)
|
||||
.map(([k, v]) => ` ${k}: ${v};`)
|
||||
.join('\n');
|
||||
const modeLine = source.kind.startsWith('colors.toml (Omarchy')
|
||||
? `${palette.mode === 'dark' ? 'Dark theme' : 'Light theme'} (${palette.mode}) — the source repo's own colors.toml says so directly.`
|
||||
: `${palette.mode === 'dark' ? 'Dark theme' : 'Light theme'} (${palette.mode}), by luminance of its own background — the source repo carries no mode flag of its own to read.`;
|
||||
const provenanceLine = source.derived
|
||||
? `went through deriveOmarchyPalette (scripts/themes/from-ansi.ts) because the source has no Omarchy 4\n colors.toml — some tokens here are reconstructed, not authored.`
|
||||
: `came straight from the repo's own colors.toml — the same schema and reader the official 22 themes\n use, so nothing here is reconstructed.`;
|
||||
const css = `/*
|
||||
${name} — ported from a community Omarchy theme, not from basecamp/omarchy's own set.
|
||||
|
||||
${palette.mode === 'dark' ? 'Dark theme' : 'Light theme'} (${palette.mode}), by luminance of its own
|
||||
background — the source repo carries no mode flag of its own to read.
|
||||
${modeLine}
|
||||
|
||||
Source: https://github.com/${repo} (${source.kind}), 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.
|
||||
${provenanceLine} 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.
|
||||
*/
|
||||
|
||||
@@ -32,12 +32,14 @@ export type AnsiSource = {
|
||||
brightWhite: string;
|
||||
};
|
||||
|
||||
const HEX = /#[0-9a-fA-F]{3,8}/;
|
||||
// `#rrggbb` is standard; `0xrrggbb` shows up in a handful of community alacritty.toml files (their
|
||||
// authors apparently ported from a scheme that used C-style hex literals).
|
||||
const HEX = /#[0-9a-fA-F]{3,8}|0x[0-9a-fA-F]{3,8}/;
|
||||
|
||||
function normalizeHex(v: string): string | undefined {
|
||||
const m = v.match(HEX);
|
||||
if (!m) return undefined;
|
||||
let h = m[0].slice(1).toLowerCase();
|
||||
let h = m[0].replace(/^(#|0x)/, '').toLowerCase();
|
||||
if (h.length === 3)
|
||||
h = h
|
||||
.split('')
|
||||
@@ -165,3 +167,39 @@ export function parseGhosttyConf(text: string): AnsiSource | undefined {
|
||||
brightWhite: palette[15]!,
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* A third shape some community repos name `colors.toml` too, unrelated to Omarchy 4's own — flat
|
||||
* `color0`..`color15` in standard ANSI order, plus `background`/`foreground`. Try this only after
|
||||
* `paletteFromRecord` (the real Omarchy schema) has already failed on the same file: the two are
|
||||
* distinguished only by which keys are present, and a file can't be both.
|
||||
*/
|
||||
export function parseColor16Toml(t: Record<string, string>): AnsiSource | undefined {
|
||||
const at = (i: number): string | undefined => (t[`color${i}`] ? normalizeHex(t[`color${i}`]!) : undefined);
|
||||
const background = t.background ? normalizeHex(t.background) : undefined;
|
||||
const foreground = t.foreground ? normalizeHex(t.foreground) : undefined;
|
||||
if (!background || !foreground) return undefined;
|
||||
const slots = Array.from({ length: 16 }, (_, i) => at(i));
|
||||
if (slots.some((s) => !s)) return undefined;
|
||||
|
||||
return {
|
||||
background,
|
||||
foreground,
|
||||
black: slots[0]!,
|
||||
red: slots[1]!,
|
||||
green: slots[2]!,
|
||||
yellow: slots[3]!,
|
||||
blue: slots[4]!,
|
||||
magenta: slots[5]!,
|
||||
cyan: slots[6]!,
|
||||
white: slots[7]!,
|
||||
brightBlack: slots[8]!,
|
||||
brightRed: slots[9]!,
|
||||
brightGreen: slots[10]!,
|
||||
brightYellow: slots[11]!,
|
||||
brightBlue: slots[12]!,
|
||||
brightMagenta: slots[13]!,
|
||||
brightCyan: slots[14]!,
|
||||
brightWhite: slots[15]!,
|
||||
};
|
||||
}
|
||||
|
||||
@@ -55,6 +55,13 @@
|
||||
"kind": "alacritty.toml",
|
||||
"dark": true
|
||||
},
|
||||
{
|
||||
"id": "andromeda",
|
||||
"name": "Andromeda",
|
||||
"repo": "signaldirective/andromeda",
|
||||
"kind": "colors.toml (16-colour ANSI)",
|
||||
"dark": true
|
||||
},
|
||||
{
|
||||
"id": "anonymous",
|
||||
"name": "Anonymous",
|
||||
@@ -97,6 +104,20 @@
|
||||
"kind": "alacritty.toml",
|
||||
"dark": true
|
||||
},
|
||||
{
|
||||
"id": "ash",
|
||||
"name": "Ash",
|
||||
"repo": "bjarneo/omarchy-ash-theme",
|
||||
"kind": "colors.toml (16-colour ANSI)",
|
||||
"dark": true
|
||||
},
|
||||
{
|
||||
"id": "astrodark",
|
||||
"name": "Astrodark",
|
||||
"repo": "JamsMendez/omarchy-astrodark-theme",
|
||||
"kind": "colors.toml (Omarchy schema)",
|
||||
"dark": true
|
||||
},
|
||||
{
|
||||
"id": "atari",
|
||||
"name": "Atari",
|
||||
@@ -195,6 +216,13 @@
|
||||
"kind": "alacritty.toml",
|
||||
"dark": true
|
||||
},
|
||||
{
|
||||
"id": "biscuit-de-mar-dark",
|
||||
"name": "Biscuit DE Mar Dark",
|
||||
"repo": "OldJobobo/omarchy-biscuit-de-mar-dark-theme",
|
||||
"kind": "colors.toml (Omarchy schema)",
|
||||
"dark": true
|
||||
},
|
||||
{
|
||||
"id": "black-arch",
|
||||
"name": "Black Arch",
|
||||
@@ -202,6 +230,27 @@
|
||||
"kind": "alacritty.toml",
|
||||
"dark": true
|
||||
},
|
||||
{
|
||||
"id": "black-gold",
|
||||
"name": "Black Gold",
|
||||
"repo": "HANCORE-linux/omarchy-blackgold-theme",
|
||||
"kind": "colors.toml (16-colour ANSI)",
|
||||
"dark": true
|
||||
},
|
||||
{
|
||||
"id": "black-money",
|
||||
"name": "Black Money",
|
||||
"repo": "HANCORE-linux/omarchy-blackmoney-theme",
|
||||
"kind": "colors.toml (16-colour ANSI)",
|
||||
"dark": true
|
||||
},
|
||||
{
|
||||
"id": "blackturq",
|
||||
"name": "Blackturq",
|
||||
"repo": "HANCORE-linux/omarchy-blackturq-theme",
|
||||
"kind": "colors.toml (16-colour ANSI)",
|
||||
"dark": true
|
||||
},
|
||||
{
|
||||
"id": "blueridge",
|
||||
"name": "Blueridge",
|
||||
@@ -230,6 +279,13 @@
|
||||
"kind": "alacritty.toml",
|
||||
"dark": true
|
||||
},
|
||||
{
|
||||
"id": "cattpuccin-glass",
|
||||
"name": "Cattpuccin Glass",
|
||||
"repo": "Luquatic/omarchy-catppuccin-glass",
|
||||
"kind": "colors.toml (16-colour ANSI)",
|
||||
"dark": true
|
||||
},
|
||||
{
|
||||
"id": "city-783",
|
||||
"name": "City 783",
|
||||
@@ -244,6 +300,13 @@
|
||||
"kind": "alacritty.toml",
|
||||
"dark": true
|
||||
},
|
||||
{
|
||||
"id": "corporate",
|
||||
"name": "Corporate",
|
||||
"repo": "defer/omarchy-corporate-theme",
|
||||
"kind": "colors.toml (16-colour ANSI)",
|
||||
"dark": false
|
||||
},
|
||||
{
|
||||
"id": "cpunk",
|
||||
"name": "Cpunk",
|
||||
@@ -258,6 +321,20 @@
|
||||
"kind": "alacritty.toml",
|
||||
"dark": true
|
||||
},
|
||||
{
|
||||
"id": "crimson-gold",
|
||||
"name": "Crimson Gold",
|
||||
"repo": "knappkevin/omarchy-crimson-gold-theme",
|
||||
"kind": "colors.toml (Omarchy schema)",
|
||||
"dark": true
|
||||
},
|
||||
{
|
||||
"id": "cyberpunk-2",
|
||||
"name": "Cyberpunk 2",
|
||||
"repo": "SeanAnd/omarchy-cyberpunk-theme",
|
||||
"kind": "colors.toml (16-colour ANSI)",
|
||||
"dark": true
|
||||
},
|
||||
{
|
||||
"id": "dark-xp",
|
||||
"name": "Dark XP",
|
||||
@@ -307,6 +384,20 @@
|
||||
"kind": "alacritty.toml",
|
||||
"dark": true
|
||||
},
|
||||
{
|
||||
"id": "desert-gleam",
|
||||
"name": "Desert Gleam",
|
||||
"repo": "avis3nna/desert-gleam",
|
||||
"kind": "colors.toml (16-colour ANSI)",
|
||||
"dark": false
|
||||
},
|
||||
{
|
||||
"id": "desert-twilight",
|
||||
"name": "Desert Twilight",
|
||||
"repo": "avis3nna/desert-twilight",
|
||||
"kind": "colors.toml (16-colour ANSI)",
|
||||
"dark": true
|
||||
},
|
||||
{
|
||||
"id": "dotrb",
|
||||
"name": "Dotrb",
|
||||
@@ -342,6 +433,13 @@
|
||||
"kind": "alacritty.toml",
|
||||
"dark": true
|
||||
},
|
||||
{
|
||||
"id": "elysian",
|
||||
"name": "Elysian",
|
||||
"repo": "bjarneo/omarchy-elysian-theme",
|
||||
"kind": "colors.toml (16-colour ANSI)",
|
||||
"dark": true
|
||||
},
|
||||
{
|
||||
"id": "ember-n-ash",
|
||||
"name": "Ember N Ash",
|
||||
@@ -370,6 +468,13 @@
|
||||
"kind": "alacritty.toml",
|
||||
"dark": true
|
||||
},
|
||||
{
|
||||
"id": "evergarden",
|
||||
"name": "Evergarden",
|
||||
"repo": "celsobenedetti/omarchy-evergarden",
|
||||
"kind": "colors.toml (16-colour ANSI)",
|
||||
"dark": true
|
||||
},
|
||||
{
|
||||
"id": "farline",
|
||||
"name": "Farline",
|
||||
@@ -384,6 +489,27 @@
|
||||
"kind": "alacritty.toml",
|
||||
"dark": true
|
||||
},
|
||||
{
|
||||
"id": "fiery-ocean",
|
||||
"name": "Fiery Ocean",
|
||||
"repo": "bjarneo/omarchy-fiery-ocean-theme",
|
||||
"kind": "colors.toml (16-colour ANSI)",
|
||||
"dark": true
|
||||
},
|
||||
{
|
||||
"id": "fireside",
|
||||
"name": "Fireside",
|
||||
"repo": "bjarneo/omarchy-fireside-theme",
|
||||
"kind": "colors.toml (16-colour ANSI)",
|
||||
"dark": true
|
||||
},
|
||||
{
|
||||
"id": "firesky",
|
||||
"name": "Firesky",
|
||||
"repo": "bjarneo/omarchy-firesky-theme",
|
||||
"kind": "colors.toml (16-colour ANSI)",
|
||||
"dark": true
|
||||
},
|
||||
{
|
||||
"id": "flat-dracula",
|
||||
"name": "Flat Dracula",
|
||||
@@ -391,6 +517,13 @@
|
||||
"kind": "alacritty.toml",
|
||||
"dark": true
|
||||
},
|
||||
{
|
||||
"id": "flexoki-dark",
|
||||
"name": "Flexoki Dark",
|
||||
"repo": "euandeas/omarchy-flexoki-dark-theme",
|
||||
"kind": "colors.toml (16-colour ANSI)",
|
||||
"dark": true
|
||||
},
|
||||
{
|
||||
"id": "florida-man",
|
||||
"name": "Florida Man",
|
||||
@@ -412,6 +545,27 @@
|
||||
"kind": "alacritty.toml",
|
||||
"dark": true
|
||||
},
|
||||
{
|
||||
"id": "frost",
|
||||
"name": "Frost",
|
||||
"repo": "bjarneo/omarchy-frost-theme",
|
||||
"kind": "colors.toml (16-colour ANSI)",
|
||||
"dark": true
|
||||
},
|
||||
{
|
||||
"id": "futurism",
|
||||
"name": "Futurism",
|
||||
"repo": "bjarneo/omarchy-futurism-theme",
|
||||
"kind": "colors.toml (16-colour ANSI)",
|
||||
"dark": true
|
||||
},
|
||||
{
|
||||
"id": "ghost-pastel",
|
||||
"name": "Ghost Pastel",
|
||||
"repo": "row-huh/omarchy-ghost-pastel-theme",
|
||||
"kind": "colors.toml (16-colour ANSI)",
|
||||
"dark": true
|
||||
},
|
||||
{
|
||||
"id": "glory-antic",
|
||||
"name": "Glory Antic",
|
||||
@@ -475,6 +629,13 @@
|
||||
"kind": "alacritty.toml",
|
||||
"dark": false
|
||||
},
|
||||
{
|
||||
"id": "harbor-dark",
|
||||
"name": "Harbor Dark",
|
||||
"repo": "HANCORE-linux/omarchy-harbordark-theme",
|
||||
"kind": "colors.toml (16-colour ANSI)",
|
||||
"dark": true
|
||||
},
|
||||
{
|
||||
"id": "hex",
|
||||
"name": "Hex",
|
||||
@@ -496,6 +657,13 @@
|
||||
"kind": "alacritty.toml",
|
||||
"dark": true
|
||||
},
|
||||
{
|
||||
"id": "hollow-knight",
|
||||
"name": "Hollow Knight",
|
||||
"repo": "bjarneo/omarchy-hollow-knight-theme",
|
||||
"kind": "colors.toml (16-colour ANSI)",
|
||||
"dark": true
|
||||
},
|
||||
{
|
||||
"id": "infernium",
|
||||
"name": "Infernium",
|
||||
@@ -510,6 +678,20 @@
|
||||
"kind": "alacritty.toml",
|
||||
"dark": true
|
||||
},
|
||||
{
|
||||
"id": "inkypinky",
|
||||
"name": "Inkypinky",
|
||||
"repo": "HANCORE-linux/omarchy-inkypinky-theme",
|
||||
"kind": "colors.toml (16-colour ANSI)",
|
||||
"dark": true
|
||||
},
|
||||
{
|
||||
"id": "kanso",
|
||||
"name": "Kanso",
|
||||
"repo": "HANCORE-linux/omarchy-kanso-theme",
|
||||
"kind": "colors.toml (16-colour ANSI)",
|
||||
"dark": true
|
||||
},
|
||||
{
|
||||
"id": "killer-klowns",
|
||||
"name": "Killer Klowns",
|
||||
@@ -517,6 +699,20 @@
|
||||
"kind": "alacritty.toml",
|
||||
"dark": true
|
||||
},
|
||||
{
|
||||
"id": "kimiko",
|
||||
"name": "Kimiko",
|
||||
"repo": "krymzonn/omarchy-kimiko-theme",
|
||||
"kind": "colors.toml (16-colour ANSI)",
|
||||
"dark": true
|
||||
},
|
||||
{
|
||||
"id": "koyanagi",
|
||||
"name": "Koyanagi",
|
||||
"repo": "YutaKoyanagi10/omarchy-koyanagi-theme",
|
||||
"kind": "colors.toml (Omarchy schema)",
|
||||
"dark": true
|
||||
},
|
||||
{
|
||||
"id": "kurayami",
|
||||
"name": "Kurayami",
|
||||
@@ -650,6 +846,20 @@
|
||||
"kind": "alacritty.toml",
|
||||
"dark": true
|
||||
},
|
||||
{
|
||||
"id": "monolith-2",
|
||||
"name": "Monolith 2",
|
||||
"repo": "grvsnh/omarchy-monolith-theme",
|
||||
"kind": "colors.toml (16-colour ANSI)",
|
||||
"dark": true
|
||||
},
|
||||
{
|
||||
"id": "moodpeak",
|
||||
"name": "Moodpeak",
|
||||
"repo": "HANCORE-linux/omarchy-moodpeak-theme",
|
||||
"kind": "colors.toml (16-colour ANSI)",
|
||||
"dark": true
|
||||
},
|
||||
{
|
||||
"id": "nagai-poolside",
|
||||
"name": "Nagai Poolside",
|
||||
@@ -692,6 +902,13 @@
|
||||
"kind": "alacritty.toml",
|
||||
"dark": true
|
||||
},
|
||||
{
|
||||
"id": "nes",
|
||||
"name": "Nes",
|
||||
"repo": "bjarneo/omarchy-nes-theme",
|
||||
"kind": "colors.toml (16-colour ANSI)",
|
||||
"dark": true
|
||||
},
|
||||
{
|
||||
"id": "nyc",
|
||||
"name": "Nyc",
|
||||
@@ -699,6 +916,13 @@
|
||||
"kind": "alacritty.toml",
|
||||
"dark": true
|
||||
},
|
||||
{
|
||||
"id": "one-dark-pro",
|
||||
"name": "One Dark Pro",
|
||||
"repo": "sc0ttman/omarchy-one-dark-pro",
|
||||
"kind": "colors.toml (Omarchy schema)",
|
||||
"dark": true
|
||||
},
|
||||
{
|
||||
"id": "oxford",
|
||||
"name": "Oxford",
|
||||
@@ -720,6 +944,13 @@
|
||||
"kind": "alacritty.toml",
|
||||
"dark": true
|
||||
},
|
||||
{
|
||||
"id": "pina",
|
||||
"name": "Pina",
|
||||
"repo": "bjarneo/omarchy-pina-theme",
|
||||
"kind": "colors.toml (16-colour ANSI)",
|
||||
"dark": true
|
||||
},
|
||||
{
|
||||
"id": "pink-blood",
|
||||
"name": "Pink Blood",
|
||||
@@ -727,6 +958,13 @@
|
||||
"kind": "alacritty.toml",
|
||||
"dark": true
|
||||
},
|
||||
{
|
||||
"id": "pmndrs",
|
||||
"name": "Pmndrs",
|
||||
"repo": "leweyse/omarchy-pmndrs-theme",
|
||||
"kind": "colors.toml (16-colour ANSI)",
|
||||
"dark": true
|
||||
},
|
||||
{
|
||||
"id": "pulsar",
|
||||
"name": "Pulsar",
|
||||
@@ -776,6 +1014,13 @@
|
||||
"kind": "alacritty.toml",
|
||||
"dark": true
|
||||
},
|
||||
{
|
||||
"id": "reverie",
|
||||
"name": "Reverie",
|
||||
"repo": "bjarneo/omarchy-reverie-theme",
|
||||
"kind": "colors.toml (16-colour ANSI)",
|
||||
"dark": true
|
||||
},
|
||||
{
|
||||
"id": "robco",
|
||||
"name": "Robco",
|
||||
@@ -790,6 +1035,13 @@
|
||||
"kind": "alacritty.toml",
|
||||
"dark": true
|
||||
},
|
||||
{
|
||||
"id": "rose-pine-dark",
|
||||
"name": "Rose Pine Dark",
|
||||
"repo": "guilhermetk/omarchy-rose-pine-dark",
|
||||
"kind": "colors.toml (16-colour ANSI)",
|
||||
"dark": true
|
||||
},
|
||||
{
|
||||
"id": "roseofdune",
|
||||
"name": "Roseofdune",
|
||||
@@ -811,6 +1063,48 @@
|
||||
"kind": "alacritty.toml",
|
||||
"dark": true
|
||||
},
|
||||
{
|
||||
"id": "saga",
|
||||
"name": "Saga",
|
||||
"repo": "HANCORE-linux/omarchy-saga-theme",
|
||||
"kind": "colors.toml (16-colour ANSI)",
|
||||
"dark": true
|
||||
},
|
||||
{
|
||||
"id": "sakura",
|
||||
"name": "Sakura",
|
||||
"repo": "bjarneo/omarchy-sakura-theme",
|
||||
"kind": "colors.toml (16-colour ANSI)",
|
||||
"dark": true
|
||||
},
|
||||
{
|
||||
"id": "sapphire",
|
||||
"name": "Sapphire",
|
||||
"repo": "HANCORE-linux/omarchy-sapphire-theme",
|
||||
"kind": "colors.toml (16-colour ANSI)",
|
||||
"dark": true
|
||||
},
|
||||
{
|
||||
"id": "serenity",
|
||||
"name": "Serenity",
|
||||
"repo": "bjarneo/omarchy-serenity-theme",
|
||||
"kind": "colors.toml (16-colour ANSI)",
|
||||
"dark": true
|
||||
},
|
||||
{
|
||||
"id": "shadesofjade",
|
||||
"name": "Shadesofjade",
|
||||
"repo": "HANCORE-linux/omarchy-shadesofjade-theme",
|
||||
"kind": "colors.toml (16-colour ANSI)",
|
||||
"dark": true
|
||||
},
|
||||
{
|
||||
"id": "snow",
|
||||
"name": "Snow",
|
||||
"repo": "bjarneo/omarchy-snow-theme",
|
||||
"kind": "colors.toml (16-colour ANSI)",
|
||||
"dark": false
|
||||
},
|
||||
{
|
||||
"id": "snow-black",
|
||||
"name": "Snow Black",
|
||||
@@ -860,6 +1154,13 @@
|
||||
"kind": "alacritty.toml",
|
||||
"dark": true
|
||||
},
|
||||
{
|
||||
"id": "sunkissed",
|
||||
"name": "Sunkissed",
|
||||
"repo": "loeclos/omarchy-sunkissed-theme",
|
||||
"kind": "alacritty.toml",
|
||||
"dark": true
|
||||
},
|
||||
{
|
||||
"id": "sunset",
|
||||
"name": "Sunset",
|
||||
@@ -1021,6 +1322,13 @@
|
||||
"kind": "alacritty.toml",
|
||||
"dark": false
|
||||
},
|
||||
{
|
||||
"id": "x-1632",
|
||||
"name": "X 1632",
|
||||
"repo": "OldJobobo/omarchy-x-1632-theme",
|
||||
"kind": "colors.toml (16-colour ANSI)",
|
||||
"dark": true
|
||||
},
|
||||
{
|
||||
"id": "yuugure",
|
||||
"name": "Yuugure",
|
||||
|
||||
@@ -38,21 +38,28 @@ export type Palette = {
|
||||
brightMagenta: string;
|
||||
};
|
||||
|
||||
/** A deliberately small TOML reader: this file is flat `key = "value"` and nothing else. */
|
||||
function readToml(path: string): Record<string, string> {
|
||||
/**
|
||||
* A deliberately small TOML reader: this file is flat `key = "value"` and nothing else.
|
||||
*
|
||||
* Exported (not just used by `loadPalette` below) because a community theme can ship this exact shape
|
||||
* too — see `port-community-themes.ts`, which reads it from a fetched string rather than a file path.
|
||||
*/
|
||||
export function parseTomlText(text: string): Record<string, string> {
|
||||
const out: Record<string, string> = {};
|
||||
for (const line of readFileSync(path, 'utf8').split('\n')) {
|
||||
for (const line of text.split('\n')) {
|
||||
const m = line.match(/^\s*([a-z_0-9]+)\s*=\s*"([^"]*)"/i);
|
||||
if (m) out[m[1]!] = m[2]!;
|
||||
// basecamp/omarchy's own files are already lowercase hex; a community `colors.toml` isn't guaranteed
|
||||
// to be, so normalize here rather than leaving the two sources visibly inconsistent.
|
||||
if (m) out[m[1]!] = m[2]!.toLowerCase();
|
||||
}
|
||||
return out;
|
||||
}
|
||||
|
||||
export function loadPalette(tomlPath: string): Palette {
|
||||
const t = readToml(tomlPath);
|
||||
/** The 24-key contract, given an already-parsed record rather than a path — see `parseTomlText`. */
|
||||
export function paletteFromRecord(t: Record<string, string>, label: string): Palette {
|
||||
const need = (key: string): string => {
|
||||
const v = t[key];
|
||||
if (!v) throw new Error(`${tomlPath}: missing "${key}"`);
|
||||
if (!v) throw new Error(`${label}: missing "${key}"`);
|
||||
return v;
|
||||
};
|
||||
|
||||
@@ -84,3 +91,7 @@ export function loadPalette(tomlPath: string): Palette {
|
||||
brightMagenta: need('bright_magenta'),
|
||||
};
|
||||
}
|
||||
|
||||
export function loadPalette(tomlPath: string): Palette {
|
||||
return paletteFromRecord(parseTomlText(readFileSync(tomlPath, 'utf8')), tomlPath);
|
||||
}
|
||||
|
||||
@@ -50,12 +50,15 @@
|
||||
@import './themes/all-hallows-eve.css';
|
||||
@import './themes/amberbyte.css';
|
||||
@import './themes/amekoji.css';
|
||||
@import './themes/andromeda.css';
|
||||
@import './themes/anonymous.css';
|
||||
@import './themes/apocalypse.css';
|
||||
@import './themes/arc-blueberry.css';
|
||||
@import './themes/archriot.css';
|
||||
@import './themes/archwave.css';
|
||||
@import './themes/artzen.css';
|
||||
@import './themes/ash.css';
|
||||
@import './themes/astrodark.css';
|
||||
@import './themes/atari.css';
|
||||
@import './themes/atelier.css';
|
||||
@import './themes/aura.css';
|
||||
@@ -70,15 +73,23 @@
|
||||
@import './themes/bauhaus.css';
|
||||
@import './themes/beachvan.css';
|
||||
@import './themes/beta.css';
|
||||
@import './themes/biscuit-de-mar-dark.css';
|
||||
@import './themes/black-arch.css';
|
||||
@import './themes/black-gold.css';
|
||||
@import './themes/black-money.css';
|
||||
@import './themes/blackturq.css';
|
||||
@import './themes/blueridge.css';
|
||||
@import './themes/brutalism.css';
|
||||
@import './themes/caroline-skyline.css';
|
||||
@import './themes/catppuccin-mocha.css';
|
||||
@import './themes/cattpuccin-glass.css';
|
||||
@import './themes/city-783.css';
|
||||
@import './themes/copper-night.css';
|
||||
@import './themes/corporate.css';
|
||||
@import './themes/cpunk.css';
|
||||
@import './themes/crimson.css';
|
||||
@import './themes/crimson-gold.css';
|
||||
@import './themes/cyberpunk-2.css';
|
||||
@import './themes/dark-xp.css';
|
||||
@import './themes/dayfox.css';
|
||||
@import './themes/dead-space.css';
|
||||
@@ -86,21 +97,32 @@
|
||||
@import './themes/delete.css';
|
||||
@import './themes/delorean.css';
|
||||
@import './themes/demon.css';
|
||||
@import './themes/desert-gleam.css';
|
||||
@import './themes/desert-twilight.css';
|
||||
@import './themes/dotrb.css';
|
||||
@import './themes/drac.css';
|
||||
@import './themes/dracula.css';
|
||||
@import './themes/dragon.css';
|
||||
@import './themes/dreamwave.css';
|
||||
@import './themes/elysian.css';
|
||||
@import './themes/ember-n-ash.css';
|
||||
@import './themes/eva-unit-01.css';
|
||||
@import './themes/event-horizon.css';
|
||||
@import './themes/everblush.css';
|
||||
@import './themes/evergarden.css';
|
||||
@import './themes/farline.css';
|
||||
@import './themes/felix.css';
|
||||
@import './themes/fiery-ocean.css';
|
||||
@import './themes/fireside.css';
|
||||
@import './themes/firesky.css';
|
||||
@import './themes/flat-dracula.css';
|
||||
@import './themes/flexoki-dark.css';
|
||||
@import './themes/florida-man.css';
|
||||
@import './themes/fluid-glass.css';
|
||||
@import './themes/forest-green.css';
|
||||
@import './themes/frost.css';
|
||||
@import './themes/futurism.css';
|
||||
@import './themes/ghost-pastel.css';
|
||||
@import './themes/glory-antic.css';
|
||||
@import './themes/gold-rush.css';
|
||||
@import './themes/gotham-city.css';
|
||||
@@ -110,12 +132,18 @@
|
||||
@import './themes/gruber-tsoding.css';
|
||||
@import './themes/grudark.css';
|
||||
@import './themes/harbor.css';
|
||||
@import './themes/harbor-dark.css';
|
||||
@import './themes/hex.css';
|
||||
@import './themes/himalaya.css';
|
||||
@import './themes/hinterlands.css';
|
||||
@import './themes/hollow-knight.css';
|
||||
@import './themes/infernium.css';
|
||||
@import './themes/infernium-dark.css';
|
||||
@import './themes/inkypinky.css';
|
||||
@import './themes/kanso.css';
|
||||
@import './themes/killer-klowns.css';
|
||||
@import './themes/kimiko.css';
|
||||
@import './themes/koyanagi.css';
|
||||
@import './themes/kurayami.css';
|
||||
@import './themes/lain.css';
|
||||
@import './themes/lairetam.css';
|
||||
@@ -135,17 +163,23 @@
|
||||
@import './themes/monokai.css';
|
||||
@import './themes/monokai-dark.css';
|
||||
@import './themes/monolith.css';
|
||||
@import './themes/monolith-2.css';
|
||||
@import './themes/moodpeak.css';
|
||||
@import './themes/nagai-poolside.css';
|
||||
@import './themes/nagai-twilight.css';
|
||||
@import './themes/nebulite.css';
|
||||
@import './themes/neo-sploosh.css';
|
||||
@import './themes/neon-street.css';
|
||||
@import './themes/neovoid.css';
|
||||
@import './themes/nes.css';
|
||||
@import './themes/nyc.css';
|
||||
@import './themes/one-dark-pro.css';
|
||||
@import './themes/oxford.css';
|
||||
@import './themes/oxocarbon-dark.css';
|
||||
@import './themes/pandora.css';
|
||||
@import './themes/pina.css';
|
||||
@import './themes/pink-blood.css';
|
||||
@import './themes/pmndrs.css';
|
||||
@import './themes/pulsar.css';
|
||||
@import './themes/purple-moon.css';
|
||||
@import './themes/purplewave.css';
|
||||
@@ -153,11 +187,19 @@
|
||||
@import './themes/rdddcs.css';
|
||||
@import './themes/red-monarch.css';
|
||||
@import './themes/retropc.css';
|
||||
@import './themes/reverie.css';
|
||||
@import './themes/robco.css';
|
||||
@import './themes/robco-mojave.css';
|
||||
@import './themes/rose-pine-dark.css';
|
||||
@import './themes/roseofdune.css';
|
||||
@import './themes/royal.css';
|
||||
@import './themes/rustleaf.css';
|
||||
@import './themes/saga.css';
|
||||
@import './themes/sakura.css';
|
||||
@import './themes/sapphire.css';
|
||||
@import './themes/serenity.css';
|
||||
@import './themes/shadesofjade.css';
|
||||
@import './themes/snow.css';
|
||||
@import './themes/snow-black.css';
|
||||
@import './themes/space-bound.css';
|
||||
@import './themes/space-monkey.css';
|
||||
@@ -165,6 +207,7 @@
|
||||
@import './themes/spectra.css';
|
||||
@import './themes/stellar.css';
|
||||
@import './themes/stillmoon.css';
|
||||
@import './themes/sunkissed.css';
|
||||
@import './themes/sunset.css';
|
||||
@import './themes/synthetica.css';
|
||||
@import './themes/synthwave-84.css';
|
||||
@@ -188,6 +231,7 @@
|
||||
@import './themes/wasteland.css';
|
||||
@import './themes/waveform-dark.css';
|
||||
@import './themes/white-gold.css';
|
||||
@import './themes/x-1632.css';
|
||||
@import './themes/yuugure.css';
|
||||
|
||||
@import './chrome.css';
|
||||
|
||||
@@ -0,0 +1,97 @@
|
||||
/*
|
||||
Andromeda — 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/signaldirective/andromeda (colors.toml (16-colour ANSI)), read by scripts/port-community-themes.ts. Values
|
||||
went through deriveOmarchyPalette (scripts/themes/from-ansi.ts) because the source has no Omarchy 4
|
||||
colors.toml — 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='andromeda'] {
|
||||
--background: #131519;
|
||||
--foreground: #e5e5e5;
|
||||
--card: #23262e;
|
||||
--card-foreground: #e5e5e5;
|
||||
--popover: #23262e;
|
||||
--popover-foreground: #e5e5e5;
|
||||
--muted: #32353d;
|
||||
--muted-foreground: #abacae;
|
||||
--accent: #32353d;
|
||||
--accent-foreground: #e5e5e5;
|
||||
--primary: #00e8c6;
|
||||
--primary-foreground: #131519;
|
||||
--secondary: #32353d;
|
||||
--secondary-foreground: #e5e5e5;
|
||||
--cta: #00e8c6;
|
||||
--cta-foreground: #131519;
|
||||
--ctahover: #1febcd;
|
||||
--success: #00e8c6;
|
||||
--success-foreground: #131519;
|
||||
--warning: #ffe66d;
|
||||
--warning-foreground: #131519;
|
||||
--destructive: #f92672;
|
||||
--destructive-foreground: #131519;
|
||||
--info: #7cb7ff;
|
||||
--info-foreground: #131519;
|
||||
--busy: #fc8670;
|
||||
--busy-foreground: #131519;
|
||||
--busy-ink: #fc8670;
|
||||
--border: #494c52;
|
||||
--input: #494c52;
|
||||
--ring: #00e8c6;
|
||||
--radius: 0.625rem;
|
||||
--chart-primary: #00e8c6;
|
||||
--chart-secondary: #c74ded;
|
||||
--status-success: #00e8c6;
|
||||
--status-warning: #ffe66d;
|
||||
--status-in-progress: #7cb7ff;
|
||||
--page-bg: #131519;
|
||||
--page-bg-src: '';
|
||||
--panel-bg: rgb(35 38 46 / 0.72);
|
||||
--panel-border: rgb(73 76 82 / 0.9);
|
||||
--panel-border-bare: rgb(73 76 82 / 0.55);
|
||||
--panel-raised-bg: rgb(35 38 46 / 0.95);
|
||||
--panel-raised-border: rgb(73 76 82 / 1);
|
||||
--panel-accent: #00e8c6;
|
||||
--panel-header-bg: rgb(50 53 61 / 0.6);
|
||||
--panel-header-fg: #e5e5e5;
|
||||
--panel-radius: 0.75rem;
|
||||
--panel-blur: 12px;
|
||||
--card-bg: #23262e;
|
||||
--glass-bg: rgb(35 38 46 / 0.55);
|
||||
--glass-border: rgb(73 76 82 / 0.7);
|
||||
--dock-bg: rgb(35 38 46 / 0.7);
|
||||
--dock-border: rgb(73 76 82 / 0.8);
|
||||
--dock-tooltip-bg: #32353d;
|
||||
--header-bg: rgb(35 38 46 / 0.8);
|
||||
--header-border: rgb(73 76 82 / 0.9);
|
||||
--header-fg: #e5e5e5;
|
||||
--header-blur: 12px;
|
||||
--pixel-grid-color: rgb(122 124 128 / 0.07);
|
||||
--card-grid-color: rgb(122 124 128 / 0.05);
|
||||
--panel-grid-color: rgb(122 124 128 / 0.06);
|
||||
--scrollbar-thumb: rgb(102 102 102 / 0.6);
|
||||
--scrollbar-thumb-hover: rgb(102 102 102 / 0.85);
|
||||
--scrollbar-thin-thumb: rgb(102 102 102 / 0.45);
|
||||
--scrollbar-thin-thumb-hover: rgb(102 102 102 / 0.7);
|
||||
--brand: #00e8c6;
|
||||
--brand-foreground: #131519;
|
||||
--brand-primary: #00e8c6;
|
||||
--brand-accent: #96e072;
|
||||
--brand-warm: #fc8670;
|
||||
--brand-deep: #131519;
|
||||
--brand-muted: #666666;
|
||||
--ink: #e5e5e5;
|
||||
--surface-warm: #23262e;
|
||||
--naturegreen: #00e8c6;
|
||||
--naturegreen-foreground: #131519;
|
||||
--duck-dark: #e5e5e5;
|
||||
--duck-teal: #96e072;
|
||||
--duck-yellow: #ffe66d;
|
||||
--duck-orange: #fc8670;
|
||||
--duck-forest: #00e8c6;
|
||||
--duck-beige: #363940;
|
||||
--logo-src: '/officer-logo.svg';
|
||||
}
|
||||
@@ -0,0 +1,97 @@
|
||||
/*
|
||||
Ash — 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/bjarneo/omarchy-ash-theme (colors.toml (16-colour ANSI)), read by scripts/port-community-themes.ts. Values
|
||||
went through deriveOmarchyPalette (scripts/themes/from-ansi.ts) because the source has no Omarchy 4
|
||||
colors.toml — 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='ash'] {
|
||||
--background: #0a0a0a;
|
||||
--foreground: #e0e0e0;
|
||||
--card: #121212;
|
||||
--card-foreground: #e0e0e0;
|
||||
--popover: #121212;
|
||||
--popover-foreground: #e0e0e0;
|
||||
--muted: #232323;
|
||||
--muted-foreground: #a2a2a2;
|
||||
--accent: #232323;
|
||||
--accent-foreground: #e0e0e0;
|
||||
--primary: #9e9e9e;
|
||||
--primary-foreground: #0a0a0a;
|
||||
--secondary: #232323;
|
||||
--secondary-foreground: #e0e0e0;
|
||||
--cta: #9e9e9e;
|
||||
--cta-foreground: #0a0a0a;
|
||||
--ctahover: #aaaaaa;
|
||||
--success: #767676;
|
||||
--success-foreground: #040404;
|
||||
--warning: #9e9e9e;
|
||||
--warning-foreground: #0a0a0a;
|
||||
--destructive: #8a8a8a;
|
||||
--destructive-foreground: #0a0a0a;
|
||||
--info: #626262;
|
||||
--info-foreground: #e0e0e0;
|
||||
--busy: #949494;
|
||||
--busy-foreground: #0a0a0a;
|
||||
--busy-ink: #949494;
|
||||
--border: #3a3a3a;
|
||||
--input: #3a3a3a;
|
||||
--ring: #9e9e9e;
|
||||
--radius: 0.625rem;
|
||||
--chart-primary: #9e9e9e;
|
||||
--chart-secondary: #8a8a8a;
|
||||
--status-success: #767676;
|
||||
--status-warning: #9e9e9e;
|
||||
--status-in-progress: #626262;
|
||||
--page-bg: #0a0a0a;
|
||||
--page-bg-src: '';
|
||||
--panel-bg: rgb(18 18 18 / 0.72);
|
||||
--panel-border: rgb(58 58 58 / 0.9);
|
||||
--panel-border-bare: rgb(58 58 58 / 0.55);
|
||||
--panel-raised-bg: rgb(18 18 18 / 0.95);
|
||||
--panel-raised-border: rgb(58 58 58 / 1);
|
||||
--panel-accent: #9e9e9e;
|
||||
--panel-header-bg: rgb(35 35 35 / 0.6);
|
||||
--panel-header-fg: #e0e0e0;
|
||||
--panel-radius: 0.75rem;
|
||||
--panel-blur: 12px;
|
||||
--card-bg: #121212;
|
||||
--glass-bg: rgb(18 18 18 / 0.55);
|
||||
--glass-border: rgb(58 58 58 / 0.7);
|
||||
--dock-bg: rgb(18 18 18 / 0.7);
|
||||
--dock-border: rgb(58 58 58 / 0.8);
|
||||
--dock-tooltip-bg: #232323;
|
||||
--header-bg: rgb(18 18 18 / 0.8);
|
||||
--header-border: rgb(58 58 58 / 0.9);
|
||||
--header-fg: #e0e0e0;
|
||||
--header-blur: 12px;
|
||||
--pixel-grid-color: rgb(111 111 111 / 0.07);
|
||||
--card-grid-color: rgb(111 111 111 / 0.05);
|
||||
--panel-grid-color: rgb(111 111 111 / 0.06);
|
||||
--scrollbar-thumb: rgb(138 138 138 / 0.6);
|
||||
--scrollbar-thumb-hover: rgb(138 138 138 / 0.85);
|
||||
--scrollbar-thin-thumb: rgb(138 138 138 / 0.45);
|
||||
--scrollbar-thin-thumb-hover: rgb(138 138 138 / 0.7);
|
||||
--brand: #9e9e9e;
|
||||
--brand-foreground: #0a0a0a;
|
||||
--brand-primary: #9e9e9e;
|
||||
--brand-accent: #767676;
|
||||
--brand-warm: #949494;
|
||||
--brand-deep: #0a0a0a;
|
||||
--brand-muted: #8a8a8a;
|
||||
--ink: #e0e0e0;
|
||||
--surface-warm: #121212;
|
||||
--naturegreen: #767676;
|
||||
--naturegreen-foreground: #040404;
|
||||
--duck-dark: #e0e0e0;
|
||||
--duck-teal: #767676;
|
||||
--duck-yellow: #9e9e9e;
|
||||
--duck-orange: #949494;
|
||||
--duck-forest: #767676;
|
||||
--duck-beige: #272727;
|
||||
--logo-src: '/officer-logo.svg';
|
||||
}
|
||||
@@ -0,0 +1,97 @@
|
||||
/*
|
||||
Astrodark — ported from a community Omarchy theme, not from basecamp/omarchy's own set.
|
||||
|
||||
Dark theme (dark) — the source repo's own colors.toml says so directly.
|
||||
|
||||
Source: https://github.com/JamsMendez/omarchy-astrodark-theme (colors.toml (Omarchy schema)), read by scripts/port-community-themes.ts. Values
|
||||
came straight from the repo's own colors.toml — the same schema and reader the official 22 themes
|
||||
use, so nothing here is reconstructed. 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='astrodark'] {
|
||||
--background: #0b0c0f;
|
||||
--foreground: #9b9fa9;
|
||||
--card: #1a1d23;
|
||||
--card-foreground: #9b9fa9;
|
||||
--popover: #1a1d23;
|
||||
--popover-foreground: #9b9fa9;
|
||||
--muted: #26343f;
|
||||
--muted-foreground: #b8bcc6;
|
||||
--accent: #26343f;
|
||||
--accent-foreground: #9b9fa9;
|
||||
--primary: #5eb7ff;
|
||||
--primary-foreground: #0b0c0f;
|
||||
--secondary: #26343f;
|
||||
--secondary-foreground: #9b9fa9;
|
||||
--cta: #5eb7ff;
|
||||
--cta-foreground: #0b0c0f;
|
||||
--ctahover: #71c0ff;
|
||||
--success: #87c05f;
|
||||
--success-foreground: #0b0c0f;
|
||||
--warning: #dfab25;
|
||||
--warning-foreground: #0b0c0f;
|
||||
--destructive: #ff838b;
|
||||
--destructive-foreground: #0b0c0f;
|
||||
--info: #5eb7ff;
|
||||
--info-foreground: #0b0c0f;
|
||||
--busy: #e8925a;
|
||||
--busy-foreground: #0b0c0f;
|
||||
--busy-ink: #e8925a;
|
||||
--border: #464a51;
|
||||
--input: #464a51;
|
||||
--ring: #5eb7ff;
|
||||
--radius: 0.625rem;
|
||||
--chart-primary: #5eb7ff;
|
||||
--chart-secondary: #dd97f1;
|
||||
--status-success: #87c05f;
|
||||
--status-warning: #dfab25;
|
||||
--status-in-progress: #5eb7ff;
|
||||
--page-bg: #0b0c0f;
|
||||
--page-bg-src: '';
|
||||
--panel-bg: rgb(26 29 35 / 0.72);
|
||||
--panel-border: rgb(70 74 81 / 0.9);
|
||||
--panel-border-bare: rgb(70 74 81 / 0.55);
|
||||
--panel-raised-bg: rgb(26 29 35 / 0.95);
|
||||
--panel-raised-border: rgb(70 74 81 / 1);
|
||||
--panel-accent: #5eb7ff;
|
||||
--panel-header-bg: rgb(38 52 63 / 0.6);
|
||||
--panel-header-fg: #9b9fa9;
|
||||
--panel-radius: 0.75rem;
|
||||
--panel-blur: 12px;
|
||||
--card-bg: #1a1d23;
|
||||
--glass-bg: rgb(26 29 35 / 0.55);
|
||||
--glass-border: rgb(70 74 81 / 0.7);
|
||||
--dock-bg: rgb(26 29 35 / 0.7);
|
||||
--dock-border: rgb(70 74 81 / 0.8);
|
||||
--dock-tooltip-bg: #26343f;
|
||||
--header-bg: rgb(26 29 35 / 0.8);
|
||||
--header-border: rgb(70 74 81 / 0.9);
|
||||
--header-fg: #9b9fa9;
|
||||
--header-blur: 12px;
|
||||
--pixel-grid-color: rgb(107 111 121 / 0.07);
|
||||
--card-grid-color: rgb(107 111 121 / 0.05);
|
||||
--panel-grid-color: rgb(107 111 121 / 0.06);
|
||||
--scrollbar-thumb: rgb(52 54 58 / 0.6);
|
||||
--scrollbar-thumb-hover: rgb(52 54 58 / 0.85);
|
||||
--scrollbar-thin-thumb: rgb(52 54 58 / 0.45);
|
||||
--scrollbar-thin-thumb-hover: rgb(52 54 58 / 0.7);
|
||||
--brand: #5eb7ff;
|
||||
--brand-foreground: #0b0c0f;
|
||||
--brand-primary: #5eb7ff;
|
||||
--brand-accent: #4ac2b8;
|
||||
--brand-warm: #e8925a;
|
||||
--brand-deep: #0b0c0f;
|
||||
--brand-muted: #34363a;
|
||||
--ink: #9b9fa9;
|
||||
--surface-warm: #1a1d23;
|
||||
--naturegreen: #87c05f;
|
||||
--naturegreen-foreground: #0b0c0f;
|
||||
--duck-dark: #9b9fa9;
|
||||
--duck-teal: #4ac2b8;
|
||||
--duck-yellow: #dfab25;
|
||||
--duck-orange: #e8925a;
|
||||
--duck-forest: #87c05f;
|
||||
--duck-beige: #272a30;
|
||||
--logo-src: '/officer-logo.svg';
|
||||
}
|
||||
@@ -0,0 +1,97 @@
|
||||
/*
|
||||
Biscuit DE Mar Dark — ported from a community Omarchy theme, not from basecamp/omarchy's own set.
|
||||
|
||||
Dark theme (dark) — the source repo's own colors.toml says so directly.
|
||||
|
||||
Source: https://github.com/OldJobobo/omarchy-biscuit-de-mar-dark-theme (colors.toml (Omarchy schema)), read by scripts/port-community-themes.ts. Values
|
||||
came straight from the repo's own colors.toml — the same schema and reader the official 22 themes
|
||||
use, so nothing here is reconstructed. 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='biscuit-de-mar-dark'] {
|
||||
--background: #1a1515;
|
||||
--foreground: #dcc9bc;
|
||||
--card: #1a1515;
|
||||
--card-foreground: #dcc9bc;
|
||||
--popover: #1a1515;
|
||||
--popover-foreground: #dcc9bc;
|
||||
--muted: #2d2424;
|
||||
--muted-foreground: #ffe9c7;
|
||||
--accent: #2d2424;
|
||||
--accent-foreground: #dcc9bc;
|
||||
--primary: #ae3f82;
|
||||
--primary-foreground: #ffe9c7;
|
||||
--secondary: #2d2424;
|
||||
--secondary-foreground: #dcc9bc;
|
||||
--cta: #ae3f82;
|
||||
--cta-foreground: #ffe9c7;
|
||||
--ctahover: #b85691;
|
||||
--success: #768f80;
|
||||
--success-foreground: #1a1515;
|
||||
--warning: #959a6b;
|
||||
--warning-foreground: #1a1515;
|
||||
--destructive: #f07342;
|
||||
--destructive-foreground: #1a1515;
|
||||
--info: #614f76;
|
||||
--info-foreground: #ffe9c7;
|
||||
--busy: #e39c45;
|
||||
--busy-foreground: #1a1515;
|
||||
--busy-ink: #e39c45;
|
||||
--border: #5a5047;
|
||||
--input: #5a5047;
|
||||
--ring: #ae3f82;
|
||||
--radius: 0.625rem;
|
||||
--chart-primary: #ae3f82;
|
||||
--chart-secondary: #7b3d79;
|
||||
--status-success: #768f80;
|
||||
--status-warning: #959a6b;
|
||||
--status-in-progress: #614f76;
|
||||
--page-bg: #1a1515;
|
||||
--page-bg-src: '';
|
||||
--panel-bg: rgb(26 21 21 / 0.72);
|
||||
--panel-border: rgb(90 80 71 / 0.9);
|
||||
--panel-border-bare: rgb(90 80 71 / 0.55);
|
||||
--panel-raised-bg: rgb(26 21 21 / 0.95);
|
||||
--panel-raised-border: rgb(90 80 71 / 1);
|
||||
--panel-accent: #ae3f82;
|
||||
--panel-header-bg: rgb(45 36 36 / 0.6);
|
||||
--panel-header-fg: #dcc9bc;
|
||||
--panel-radius: 0.75rem;
|
||||
--panel-blur: 12px;
|
||||
--card-bg: #1a1515;
|
||||
--glass-bg: rgb(26 21 21 / 0.55);
|
||||
--glass-border: rgb(90 80 71 / 0.7);
|
||||
--dock-bg: rgb(26 21 21 / 0.7);
|
||||
--dock-border: rgb(90 80 71 / 0.8);
|
||||
--dock-tooltip-bg: #2d2424;
|
||||
--header-bg: rgb(26 21 21 / 0.8);
|
||||
--header-border: rgb(90 80 71 / 0.9);
|
||||
--header-fg: #dcc9bc;
|
||||
--header-blur: 12px;
|
||||
--pixel-grid-color: rgb(156 129 129 / 0.07);
|
||||
--card-grid-color: rgb(156 129 129 / 0.05);
|
||||
--panel-grid-color: rgb(156 129 129 / 0.06);
|
||||
--scrollbar-thumb: rgb(114 90 90 / 0.6);
|
||||
--scrollbar-thumb-hover: rgb(114 90 90 / 0.85);
|
||||
--scrollbar-thin-thumb: rgb(114 90 90 / 0.45);
|
||||
--scrollbar-thin-thumb-hover: rgb(114 90 90 / 0.7);
|
||||
--brand: #ae3f82;
|
||||
--brand-foreground: #ffe9c7;
|
||||
--brand-primary: #ae3f82;
|
||||
--brand-accent: #756d94;
|
||||
--brand-warm: #e39c45;
|
||||
--brand-deep: #1a1515;
|
||||
--brand-muted: #725a5a;
|
||||
--ink: #dcc9bc;
|
||||
--surface-warm: #1a1515;
|
||||
--naturegreen: #768f80;
|
||||
--naturegreen-foreground: #1a1515;
|
||||
--duck-dark: #dcc9bc;
|
||||
--duck-teal: #756d94;
|
||||
--duck-yellow: #959a6b;
|
||||
--duck-orange: #e39c45;
|
||||
--duck-forest: #768f80;
|
||||
--duck-beige: #2d2726;
|
||||
--logo-src: '/officer-logo.svg';
|
||||
}
|
||||
@@ -0,0 +1,97 @@
|
||||
/*
|
||||
Black Gold — 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/HANCORE-linux/omarchy-blackgold-theme (colors.toml (16-colour ANSI)), read by scripts/port-community-themes.ts. Values
|
||||
went through deriveOmarchyPalette (scripts/themes/from-ansi.ts) because the source has no Omarchy 4
|
||||
colors.toml — 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='black-gold'] {
|
||||
--background: #070707;
|
||||
--foreground: #ebdbb2;
|
||||
--card: #0d0d0d;
|
||||
--card-foreground: #ebdbb2;
|
||||
--popover: #0d0d0d;
|
||||
--popover-foreground: #ebdbb2;
|
||||
--muted: #1e1e1e;
|
||||
--muted-foreground: #a89d81;
|
||||
--accent: #1e1e1e;
|
||||
--accent-foreground: #ebdbb2;
|
||||
--primary: #7a6a2c;
|
||||
--primary-foreground: #f4ebd5;
|
||||
--secondary: #1e1e1e;
|
||||
--secondary-foreground: #ebdbb2;
|
||||
--cta: #7a6a2c;
|
||||
--cta-foreground: #f4ebd5;
|
||||
--ctahover: #8a7c45;
|
||||
--success: #a3850e;
|
||||
--success-foreground: #070707;
|
||||
--warning: #4d574e;
|
||||
--warning-foreground: #ebdbb2;
|
||||
--destructive: #d35f5f;
|
||||
--destructive-foreground: #070707;
|
||||
--info: #6e6a58;
|
||||
--info-foreground: #f4ead3;
|
||||
--busy: #905b57;
|
||||
--busy-foreground: #f2e8cd;
|
||||
--busy-ink: #9b6b68;
|
||||
--border: #38352d;
|
||||
--input: #38352d;
|
||||
--ring: #7a6a2c;
|
||||
--radius: 0.625rem;
|
||||
--chart-primary: #7a6a2c;
|
||||
--chart-secondary: #bfa75d;
|
||||
--status-success: #a3850e;
|
||||
--status-warning: #4d574e;
|
||||
--status-in-progress: #6e6a58;
|
||||
--page-bg: #070707;
|
||||
--page-bg-src: '';
|
||||
--panel-bg: rgb(13 13 13 / 0.72);
|
||||
--panel-border: rgb(56 53 45 / 0.9);
|
||||
--panel-border-bare: rgb(56 53 45 / 0.55);
|
||||
--panel-raised-bg: rgb(13 13 13 / 0.95);
|
||||
--panel-raised-border: rgb(56 53 45 / 1);
|
||||
--panel-accent: #7a6a2c;
|
||||
--panel-header-bg: rgb(30 30 30 / 0.6);
|
||||
--panel-header-fg: #ebdbb2;
|
||||
--panel-radius: 0.75rem;
|
||||
--panel-blur: 12px;
|
||||
--card-bg: #0d0d0d;
|
||||
--glass-bg: rgb(13 13 13 / 0.55);
|
||||
--glass-border: rgb(56 53 45 / 0.7);
|
||||
--dock-bg: rgb(13 13 13 / 0.7);
|
||||
--dock-border: rgb(56 53 45 / 0.8);
|
||||
--dock-tooltip-bg: #1e1e1e;
|
||||
--header-bg: rgb(13 13 13 / 0.8);
|
||||
--header-border: rgb(56 53 45 / 0.9);
|
||||
--header-fg: #ebdbb2;
|
||||
--header-blur: 12px;
|
||||
--pixel-grid-color: rgb(113 106 87 / 0.07);
|
||||
--card-grid-color: rgb(113 106 87 / 0.05);
|
||||
--panel-grid-color: rgb(113 106 87 / 0.06);
|
||||
--scrollbar-thumb: rgb(48 53 49 / 0.6);
|
||||
--scrollbar-thumb-hover: rgb(48 53 49 / 0.85);
|
||||
--scrollbar-thin-thumb: rgb(48 53 49 / 0.45);
|
||||
--scrollbar-thin-thumb-hover: rgb(48 53 49 / 0.7);
|
||||
--brand: #7a6a2c;
|
||||
--brand-foreground: #f4ebd5;
|
||||
--brand-primary: #7a6a2c;
|
||||
--brand-accent: #7a6a2c;
|
||||
--brand-warm: #905b57;
|
||||
--brand-deep: #070707;
|
||||
--brand-muted: #303531;
|
||||
--ink: #ebdbb2;
|
||||
--surface-warm: #0d0d0d;
|
||||
--naturegreen: #a3850e;
|
||||
--naturegreen-foreground: #070707;
|
||||
--duck-dark: #ebdbb2;
|
||||
--duck-teal: #7a6a2c;
|
||||
--duck-yellow: #4d574e;
|
||||
--duck-orange: #905b57;
|
||||
--duck-forest: #a3850e;
|
||||
--duck-beige: #23221e;
|
||||
--logo-src: '/officer-logo.svg';
|
||||
}
|
||||
@@ -0,0 +1,97 @@
|
||||
/*
|
||||
Black Money — 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/HANCORE-linux/omarchy-blackmoney-theme (colors.toml (16-colour ANSI)), read by scripts/port-community-themes.ts. Values
|
||||
went through deriveOmarchyPalette (scripts/themes/from-ansi.ts) because the source has no Omarchy 4
|
||||
colors.toml — 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='black-money'] {
|
||||
--background: #070707;
|
||||
--foreground: #d8d4b4;
|
||||
--card: #0c0c0c;
|
||||
--card-foreground: #d8d4b4;
|
||||
--popover: #0c0c0c;
|
||||
--popover-foreground: #d8d4b4;
|
||||
--muted: #1d1d1d;
|
||||
--muted-foreground: #9b9882;
|
||||
--accent: #1d1d1d;
|
||||
--accent-foreground: #d8d4b4;
|
||||
--primary: #d8d4b4;
|
||||
--primary-foreground: #070707;
|
||||
--secondary: #1d1d1d;
|
||||
--secondary-foreground: #d8d4b4;
|
||||
--cta: #d8d4b4;
|
||||
--cta-foreground: #070707;
|
||||
--ctahover: #ddd9bd;
|
||||
--success: #2a593f;
|
||||
--success-foreground: #d8d4b4;
|
||||
--warning: #525b54;
|
||||
--warning-foreground: #d8d4b4;
|
||||
--destructive: #dd5670;
|
||||
--destructive-foreground: #070707;
|
||||
--info: #d8d4b4;
|
||||
--info-foreground: #070707;
|
||||
--busy: #985962;
|
||||
--busy-foreground: #ececec;
|
||||
--busy-ink: #a26a72;
|
||||
--border: #34332d;
|
||||
--input: #34332d;
|
||||
--ring: #d8d4b4;
|
||||
--radius: 0.625rem;
|
||||
--chart-primary: #d8d4b4;
|
||||
--chart-secondary: #689e80;
|
||||
--status-success: #2a593f;
|
||||
--status-warning: #525b54;
|
||||
--status-in-progress: #d8d4b4;
|
||||
--page-bg: #070707;
|
||||
--page-bg-src: '';
|
||||
--panel-bg: rgb(12 12 12 / 0.72);
|
||||
--panel-border: rgb(52 51 45 / 0.9);
|
||||
--panel-border-bare: rgb(52 51 45 / 0.55);
|
||||
--panel-raised-bg: rgb(12 12 12 / 0.95);
|
||||
--panel-raised-border: rgb(52 51 45 / 1);
|
||||
--panel-accent: #d8d4b4;
|
||||
--panel-header-bg: rgb(29 29 29 / 0.6);
|
||||
--panel-header-fg: #d8d4b4;
|
||||
--panel-radius: 0.75rem;
|
||||
--panel-blur: 12px;
|
||||
--card-bg: #0c0c0c;
|
||||
--glass-bg: rgb(12 12 12 / 0.55);
|
||||
--glass-border: rgb(52 51 45 / 0.7);
|
||||
--dock-bg: rgb(12 12 12 / 0.7);
|
||||
--dock-border: rgb(52 51 45 / 0.8);
|
||||
--dock-tooltip-bg: #1d1d1d;
|
||||
--header-bg: rgb(12 12 12 / 0.8);
|
||||
--header-border: rgb(52 51 45 / 0.9);
|
||||
--header-fg: #d8d4b4;
|
||||
--header-blur: 12px;
|
||||
--pixel-grid-color: rgb(104 102 88 / 0.07);
|
||||
--card-grid-color: rgb(104 102 88 / 0.05);
|
||||
--panel-grid-color: rgb(104 102 88 / 0.06);
|
||||
--scrollbar-thumb: rgb(78 89 74 / 0.6);
|
||||
--scrollbar-thumb-hover: rgb(78 89 74 / 0.85);
|
||||
--scrollbar-thin-thumb: rgb(78 89 74 / 0.45);
|
||||
--scrollbar-thin-thumb-hover: rgb(78 89 74 / 0.7);
|
||||
--brand: #d8d4b4;
|
||||
--brand-foreground: #070707;
|
||||
--brand-primary: #d8d4b4;
|
||||
--brand-accent: #88c6a3;
|
||||
--brand-warm: #985962;
|
||||
--brand-deep: #070707;
|
||||
--brand-muted: #4e594a;
|
||||
--ink: #d8d4b4;
|
||||
--surface-warm: #0c0c0c;
|
||||
--naturegreen: #2a593f;
|
||||
--naturegreen-foreground: #d8d4b4;
|
||||
--duck-dark: #d8d4b4;
|
||||
--duck-teal: #88c6a3;
|
||||
--duck-yellow: #525b54;
|
||||
--duck-orange: #985962;
|
||||
--duck-forest: #2a593f;
|
||||
--duck-beige: #20201d;
|
||||
--logo-src: '/officer-logo.svg';
|
||||
}
|
||||
@@ -0,0 +1,97 @@
|
||||
/*
|
||||
Blackturq — 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/HANCORE-linux/omarchy-blackturq-theme (colors.toml (16-colour ANSI)), read by scripts/port-community-themes.ts. Values
|
||||
went through deriveOmarchyPalette (scripts/themes/from-ansi.ts) because the source has no Omarchy 4
|
||||
colors.toml — 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='blackturq'] {
|
||||
--background: #060606;
|
||||
--foreground: #c8dcdc;
|
||||
--card: #0a0a0a;
|
||||
--card-foreground: #c8dcdc;
|
||||
--popover: #0a0a0a;
|
||||
--popover-foreground: #c8dcdc;
|
||||
--muted: #1b1b1b;
|
||||
--muted-foreground: #8f9d9d;
|
||||
--accent: #1b1b1b;
|
||||
--accent-foreground: #c8dcdc;
|
||||
--primary: #adf0e9;
|
||||
--primary-foreground: #060606;
|
||||
--secondary: #1b1b1b;
|
||||
--secondary-foreground: #c8dcdc;
|
||||
--cta: #adf0e9;
|
||||
--cta-foreground: #060606;
|
||||
--ctahover: #b7f2ec;
|
||||
--success: #8fecd5;
|
||||
--success-foreground: #060606;
|
||||
--warning: #a9d1d7;
|
||||
--warning-foreground: #060606;
|
||||
--destructive: #d35f5f;
|
||||
--destructive-foreground: #060606;
|
||||
--info: #adf0e9;
|
||||
--info-foreground: #060606;
|
||||
--busy: #be989b;
|
||||
--busy-foreground: #060606;
|
||||
--busy-ink: #be989b;
|
||||
--border: #2f3333;
|
||||
--input: #2f3333;
|
||||
--ring: #adf0e9;
|
||||
--radius: 0.625rem;
|
||||
--chart-primary: #adf0e9;
|
||||
--chart-secondary: #485362;
|
||||
--status-success: #8fecd5;
|
||||
--status-warning: #a9d1d7;
|
||||
--status-in-progress: #adf0e9;
|
||||
--page-bg: #060606;
|
||||
--page-bg-src: '';
|
||||
--panel-bg: rgb(10 10 10 / 0.72);
|
||||
--panel-border: rgb(47 51 51 / 0.9);
|
||||
--panel-border-bare: rgb(47 51 51 / 0.55);
|
||||
--panel-raised-bg: rgb(10 10 10 / 0.95);
|
||||
--panel-raised-border: rgb(47 51 51 / 1);
|
||||
--panel-accent: #adf0e9;
|
||||
--panel-header-bg: rgb(27 27 27 / 0.6);
|
||||
--panel-header-fg: #c8dcdc;
|
||||
--panel-radius: 0.75rem;
|
||||
--panel-blur: 12px;
|
||||
--card-bg: #0a0a0a;
|
||||
--glass-bg: rgb(10 10 10 / 0.55);
|
||||
--glass-border: rgb(47 51 51 / 0.7);
|
||||
--dock-bg: rgb(10 10 10 / 0.7);
|
||||
--dock-border: rgb(47 51 51 / 0.8);
|
||||
--dock-tooltip-bg: #1b1b1b;
|
||||
--header-bg: rgb(10 10 10 / 0.8);
|
||||
--header-border: rgb(47 51 51 / 0.9);
|
||||
--header-fg: #c8dcdc;
|
||||
--header-blur: 12px;
|
||||
--pixel-grid-color: rgb(95 104 104 / 0.07);
|
||||
--card-grid-color: rgb(95 104 104 / 0.05);
|
||||
--panel-grid-color: rgb(95 104 104 / 0.06);
|
||||
--scrollbar-thumb: rgb(50 47 59 / 0.6);
|
||||
--scrollbar-thumb-hover: rgb(50 47 59 / 0.85);
|
||||
--scrollbar-thin-thumb: rgb(50 47 59 / 0.45);
|
||||
--scrollbar-thin-thumb-hover: rgb(50 47 59 / 0.7);
|
||||
--brand: #adf0e9;
|
||||
--brand-foreground: #060606;
|
||||
--brand-primary: #adf0e9;
|
||||
--brand-accent: #5a676b;
|
||||
--brand-warm: #be989b;
|
||||
--brand-deep: #060606;
|
||||
--brand-muted: #322f3b;
|
||||
--ink: #c8dcdc;
|
||||
--surface-warm: #0a0a0a;
|
||||
--naturegreen: #8fecd5;
|
||||
--naturegreen-foreground: #060606;
|
||||
--duck-dark: #c8dcdc;
|
||||
--duck-teal: #5a676b;
|
||||
--duck-yellow: #a9d1d7;
|
||||
--duck-orange: #be989b;
|
||||
--duck-forest: #8fecd5;
|
||||
--duck-beige: #1d1f1f;
|
||||
--logo-src: '/officer-logo.svg';
|
||||
}
|
||||
@@ -0,0 +1,97 @@
|
||||
/*
|
||||
Cattpuccin Glass — 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/Luquatic/omarchy-catppuccin-glass (colors.toml (16-colour ANSI)), read by scripts/port-community-themes.ts. Values
|
||||
went through deriveOmarchyPalette (scripts/themes/from-ansi.ts) because the source has no Omarchy 4
|
||||
colors.toml — 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='cattpuccin-glass'] {
|
||||
--background: #0e0f11;
|
||||
--foreground: #cdd6f4;
|
||||
--card: #1a1b1e;
|
||||
--card-foreground: #cdd6f4;
|
||||
--popover: #1a1b1e;
|
||||
--popover-foreground: #cdd6f4;
|
||||
--muted: #2a2b2e;
|
||||
--muted-foreground: #979eb4;
|
||||
--accent: #2a2b2e;
|
||||
--accent-foreground: #cdd6f4;
|
||||
--primary: #94e2d5;
|
||||
--primary-foreground: #0e0f11;
|
||||
--secondary: #2a2b2e;
|
||||
--secondary-foreground: #cdd6f4;
|
||||
--cta: #94e2d5;
|
||||
--cta-foreground: #0e0f11;
|
||||
--ctahover: #a1e5da;
|
||||
--success: #a6e3a1;
|
||||
--success-foreground: #0e0f11;
|
||||
--warning: #f9e2af;
|
||||
--warning-foreground: #0e0f11;
|
||||
--destructive: #f38ba8;
|
||||
--destructive-foreground: #0e0f11;
|
||||
--info: #89b4fa;
|
||||
--info-foreground: #0e0f11;
|
||||
--busy: #f6b7ac;
|
||||
--busy-foreground: #0e0f11;
|
||||
--busy-ink: #f6b7ac;
|
||||
--border: #3d4048;
|
||||
--input: #3d4048;
|
||||
--ring: #94e2d5;
|
||||
--radius: 0.625rem;
|
||||
--chart-primary: #94e2d5;
|
||||
--chart-secondary: #f5c2e7;
|
||||
--status-success: #a6e3a1;
|
||||
--status-warning: #f9e2af;
|
||||
--status-in-progress: #89b4fa;
|
||||
--page-bg: #0e0f11;
|
||||
--page-bg-src: '';
|
||||
--panel-bg: rgb(26 27 30 / 0.72);
|
||||
--panel-border: rgb(61 64 72 / 0.9);
|
||||
--panel-border-bare: rgb(61 64 72 / 0.55);
|
||||
--panel-raised-bg: rgb(26 27 30 / 0.95);
|
||||
--panel-raised-border: rgb(61 64 72 / 1);
|
||||
--panel-accent: #94e2d5;
|
||||
--panel-header-bg: rgb(42 43 46 / 0.6);
|
||||
--panel-header-fg: #cdd6f4;
|
||||
--panel-radius: 0.75rem;
|
||||
--panel-blur: 12px;
|
||||
--card-bg: #1a1b1e;
|
||||
--glass-bg: rgb(26 27 30 / 0.55);
|
||||
--glass-border: rgb(61 64 72 / 0.7);
|
||||
--dock-bg: rgb(26 27 30 / 0.7);
|
||||
--dock-border: rgb(61 64 72 / 0.8);
|
||||
--dock-tooltip-bg: #2a2b2e;
|
||||
--header-bg: rgb(26 27 30 / 0.8);
|
||||
--header-border: rgb(61 64 72 / 0.9);
|
||||
--header-fg: #cdd6f4;
|
||||
--header-blur: 12px;
|
||||
--pixel-grid-color: rgb(107 111 126 / 0.07);
|
||||
--card-grid-color: rgb(107 111 126 / 0.05);
|
||||
--panel-grid-color: rgb(107 111 126 / 0.06);
|
||||
--scrollbar-thumb: rgb(88 91 112 / 0.6);
|
||||
--scrollbar-thumb-hover: rgb(88 91 112 / 0.85);
|
||||
--scrollbar-thin-thumb: rgb(88 91 112 / 0.45);
|
||||
--scrollbar-thin-thumb-hover: rgb(88 91 112 / 0.7);
|
||||
--brand: #94e2d5;
|
||||
--brand-foreground: #0e0f11;
|
||||
--brand-primary: #94e2d5;
|
||||
--brand-accent: #94e2d5;
|
||||
--brand-warm: #f6b7ac;
|
||||
--brand-deep: #0e0f11;
|
||||
--brand-muted: #585b70;
|
||||
--ink: #cdd6f4;
|
||||
--surface-warm: #1a1b1e;
|
||||
--naturegreen: #a6e3a1;
|
||||
--naturegreen-foreground: #0e0f11;
|
||||
--duck-dark: #cdd6f4;
|
||||
--duck-teal: #94e2d5;
|
||||
--duck-yellow: #f9e2af;
|
||||
--duck-orange: #f6b7ac;
|
||||
--duck-forest: #a6e3a1;
|
||||
--duck-beige: #2c2e33;
|
||||
--logo-src: '/officer-logo.svg';
|
||||
}
|
||||
@@ -0,0 +1,97 @@
|
||||
/*
|
||||
Corporate — ported from a community Omarchy theme, not from basecamp/omarchy's own set.
|
||||
|
||||
Light theme (light), by luminance of its own background — the source repo carries no mode flag of its own to read.
|
||||
|
||||
Source: https://github.com/defer/omarchy-corporate-theme (colors.toml (16-colour ANSI)), read by scripts/port-community-themes.ts. Values
|
||||
went through deriveOmarchyPalette (scripts/themes/from-ansi.ts) because the source has no Omarchy 4
|
||||
colors.toml — 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='corporate'] {
|
||||
--background: #eeeeee;
|
||||
--foreground: #444444;
|
||||
--card: #e6e6e6;
|
||||
--card-foreground: #444444;
|
||||
--popover: #e6e6e6;
|
||||
--popover-foreground: #444444;
|
||||
--muted: #e0e0e0;
|
||||
--muted-foreground: #626262;
|
||||
--accent: #e0e0e0;
|
||||
--accent-foreground: #444444;
|
||||
--primary: #005f87;
|
||||
--primary-foreground: #d6d6d6;
|
||||
--secondary: #e0e0e0;
|
||||
--secondary-foreground: #444444;
|
||||
--cta: #005f87;
|
||||
--cta-foreground: #d6d6d6;
|
||||
--ctahover: #005477;
|
||||
--success: #008700;
|
||||
--success-foreground: #fafafa;
|
||||
--warning: #5f8700;
|
||||
--warning-foreground: #0b0b0b;
|
||||
--destructive: #af0000;
|
||||
--destructive-foreground: #d6d6d6;
|
||||
--info: #0087af;
|
||||
--info-foreground: #101010;
|
||||
--busy: #874400;
|
||||
--busy-foreground: #d6d6d6;
|
||||
--busy-ink: #874400;
|
||||
--border: #d3d3d3;
|
||||
--input: #cecece;
|
||||
--ring: #005f87;
|
||||
--radius: 0.625rem;
|
||||
--chart-primary: #005f87;
|
||||
--chart-secondary: #878787;
|
||||
--status-success: #008700;
|
||||
--status-warning: #5f8700;
|
||||
--status-in-progress: #0087af;
|
||||
--page-bg: #eeeeee;
|
||||
--page-bg-src: '';
|
||||
--panel-bg: rgb(230 230 230 / 0.72);
|
||||
--panel-border: rgb(211 211 211 / 0.9);
|
||||
--panel-border-bare: rgb(211 211 211 / 0.55);
|
||||
--panel-raised-bg: rgb(230 230 230 / 0.95);
|
||||
--panel-raised-border: rgb(211 211 211 / 1);
|
||||
--panel-accent: #005f87;
|
||||
--panel-header-bg: rgb(224 224 224 / 0.6);
|
||||
--panel-header-fg: #444444;
|
||||
--panel-radius: 0.75rem;
|
||||
--panel-blur: 12px;
|
||||
--card-bg: #e6e6e6;
|
||||
--glass-bg: rgb(230 230 230 / 0.55);
|
||||
--glass-border: rgb(211 211 211 / 0.7);
|
||||
--dock-bg: rgb(230 230 230 / 0.7);
|
||||
--dock-border: rgb(211 211 211 / 0.8);
|
||||
--dock-tooltip-bg: #e0e0e0;
|
||||
--header-bg: rgb(230 230 230 / 0.8);
|
||||
--header-border: rgb(211 211 211 / 0.9);
|
||||
--header-fg: #444444;
|
||||
--header-blur: 12px;
|
||||
--pixel-grid-color: rgb(130 130 130 / 0.07);
|
||||
--card-grid-color: rgb(130 130 130 / 0.05);
|
||||
--panel-grid-color: rgb(130 130 130 / 0.06);
|
||||
--scrollbar-thumb: rgb(188 188 188 / 0.6);
|
||||
--scrollbar-thumb-hover: rgb(188 188 188 / 0.85);
|
||||
--scrollbar-thin-thumb: rgb(188 188 188 / 0.45);
|
||||
--scrollbar-thin-thumb-hover: rgb(188 188 188 / 0.7);
|
||||
--brand: #005f87;
|
||||
--brand-foreground: #d6d6d6;
|
||||
--brand-primary: #005f87;
|
||||
--brand-accent: #005f87;
|
||||
--brand-warm: #874400;
|
||||
--brand-deep: #e0e0e0;
|
||||
--brand-muted: #bcbcbc;
|
||||
--ink: #444444;
|
||||
--surface-warm: #e6e6e6;
|
||||
--naturegreen: #008700;
|
||||
--naturegreen-foreground: #fafafa;
|
||||
--duck-dark: #444444;
|
||||
--duck-teal: #005f87;
|
||||
--duck-yellow: #5f8700;
|
||||
--duck-orange: #874400;
|
||||
--duck-forest: #008700;
|
||||
--duck-beige: #d6d6d6;
|
||||
--logo-src: '/officer-logo.svg';
|
||||
}
|
||||
@@ -0,0 +1,97 @@
|
||||
/*
|
||||
Crimson Gold — ported from a community Omarchy theme, not from basecamp/omarchy's own set.
|
||||
|
||||
Dark theme (dark) — the source repo's own colors.toml says so directly.
|
||||
|
||||
Source: https://github.com/knappkevin/omarchy-crimson-gold-theme (colors.toml (Omarchy schema)), read by scripts/port-community-themes.ts. Values
|
||||
came straight from the repo's own colors.toml — the same schema and reader the official 22 themes
|
||||
use, so nothing here is reconstructed. 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='crimson-gold'] {
|
||||
--background: #080505;
|
||||
--foreground: #dbb42c;
|
||||
--card: #1a0808;
|
||||
--card-foreground: #dbb42c;
|
||||
--popover: #1a0808;
|
||||
--popover-foreground: #dbb42c;
|
||||
--muted: #411010;
|
||||
--muted-foreground: #bebebe;
|
||||
--accent: #411010;
|
||||
--accent-foreground: #dbb42c;
|
||||
--primary: #9f831c;
|
||||
--primary-foreground: #080505;
|
||||
--secondary: #411010;
|
||||
--secondary-foreground: #dbb42c;
|
||||
--cta: #9f831c;
|
||||
--cta-foreground: #080505;
|
||||
--ctahover: #ab9237;
|
||||
--success: #ffc107;
|
||||
--success-foreground: #080505;
|
||||
--warning: #b91c1c;
|
||||
--warning-foreground: #eaeaea;
|
||||
--destructive: #ee3333;
|
||||
--destructive-foreground: #080505;
|
||||
--info: #e68e0d;
|
||||
--info-foreground: #080505;
|
||||
--busy: #eac027;
|
||||
--busy-foreground: #080505;
|
||||
--busy-ink: #eac027;
|
||||
--border: #483b3b;
|
||||
--input: #483b3b;
|
||||
--ring: #9f831c;
|
||||
--radius: 0.625rem;
|
||||
--chart-primary: #9f831c;
|
||||
--chart-secondary: #d35f5f;
|
||||
--status-success: #ffc107;
|
||||
--status-warning: #b91c1c;
|
||||
--status-in-progress: #e68e0d;
|
||||
--page-bg: #080505;
|
||||
--page-bg-src: '';
|
||||
--panel-bg: rgb(26 8 8 / 0.72);
|
||||
--panel-border: rgb(72 59 59 / 0.9);
|
||||
--panel-border-bare: rgb(72 59 59 / 0.55);
|
||||
--panel-raised-bg: rgb(26 8 8 / 0.95);
|
||||
--panel-raised-border: rgb(72 59 59 / 1);
|
||||
--panel-accent: #9f831c;
|
||||
--panel-header-bg: rgb(65 16 16 / 0.6);
|
||||
--panel-header-fg: #dbb42c;
|
||||
--panel-radius: 0.75rem;
|
||||
--panel-blur: 12px;
|
||||
--card-bg: #1a0808;
|
||||
--glass-bg: rgb(26 8 8 / 0.55);
|
||||
--glass-border: rgb(72 59 59 / 0.7);
|
||||
--dock-bg: rgb(26 8 8 / 0.7);
|
||||
--dock-border: rgb(72 59 59 / 0.8);
|
||||
--dock-tooltip-bg: #411010;
|
||||
--header-bg: rgb(26 8 8 / 0.8);
|
||||
--header-border: rgb(72 59 59 / 0.9);
|
||||
--header-fg: #dbb42c;
|
||||
--header-blur: 12px;
|
||||
--pixel-grid-color: rgb(96 96 96 / 0.07);
|
||||
--card-grid-color: rgb(96 96 96 / 0.05);
|
||||
--panel-grid-color: rgb(96 96 96 / 0.06);
|
||||
--scrollbar-thumb: rgb(170 170 170 / 0.6);
|
||||
--scrollbar-thumb-hover: rgb(170 170 170 / 0.85);
|
||||
--scrollbar-thin-thumb: rgb(170 170 170 / 0.45);
|
||||
--scrollbar-thin-thumb-hover: rgb(170 170 170 / 0.7);
|
||||
--brand: #9f831c;
|
||||
--brand-foreground: #080505;
|
||||
--brand-primary: #9f831c;
|
||||
--brand-accent: #ee0000;
|
||||
--brand-warm: #eac027;
|
||||
--brand-deep: #080505;
|
||||
--brand-muted: #aaaaaa;
|
||||
--ink: #dbb42c;
|
||||
--surface-warm: #1a0808;
|
||||
--naturegreen: #ffc107;
|
||||
--naturegreen-foreground: #080505;
|
||||
--duck-dark: #dbb42c;
|
||||
--duck-teal: #ee0000;
|
||||
--duck-yellow: #b91c1c;
|
||||
--duck-orange: #eac027;
|
||||
--duck-forest: #ffc107;
|
||||
--duck-beige: #2d190c;
|
||||
--logo-src: '/officer-logo.svg';
|
||||
}
|
||||
@@ -0,0 +1,97 @@
|
||||
/*
|
||||
Cyberpunk 2 — 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/SeanAnd/omarchy-cyberpunk-theme (colors.toml (16-colour ANSI)), read by scripts/port-community-themes.ts. Values
|
||||
went through deriveOmarchyPalette (scripts/themes/from-ansi.ts) because the source has no Omarchy 4
|
||||
colors.toml — 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='cyberpunk-2'] {
|
||||
--background: #120000;
|
||||
--foreground: #ff4040;
|
||||
--card: #200000;
|
||||
--card-foreground: #ff4040;
|
||||
--popover: #200000;
|
||||
--popover-foreground: #ff4040;
|
||||
--muted: #301212;
|
||||
--muted-foreground: #cd6262;
|
||||
--accent: #301212;
|
||||
--accent-foreground: #ff4040;
|
||||
--primary: #b5e4f4;
|
||||
--primary-foreground: #120000;
|
||||
--secondary: #301212;
|
||||
--secondary-foreground: #ff4040;
|
||||
--cta: #b5e4f4;
|
||||
--cta-foreground: #120000;
|
||||
--ctahover: #bee7f5;
|
||||
--success: #27a75c;
|
||||
--success-foreground: #120000;
|
||||
--warning: #ff3c3c;
|
||||
--warning-foreground: #120000;
|
||||
--destructive: #ff1100;
|
||||
--destructive-foreground: #120000;
|
||||
--info: #26bdfd;
|
||||
--info-foreground: #120000;
|
||||
--busy: #ff271e;
|
||||
--busy-foreground: #120000;
|
||||
--busy-ink: #ff271e;
|
||||
--border: #4c0d0d;
|
||||
--input: #501313;
|
||||
--ring: #b5e4f4;
|
||||
--radius: 0.625rem;
|
||||
--chart-primary: #b5e4f4;
|
||||
--chart-secondary: #ffcf3d;
|
||||
--status-success: #27a75c;
|
||||
--status-warning: #ff3c3c;
|
||||
--status-in-progress: #26bdfd;
|
||||
--page-bg: #120000;
|
||||
--page-bg-src: '';
|
||||
--panel-bg: rgb(32 0 0 / 0.72);
|
||||
--panel-border: rgb(76 13 13 / 0.9);
|
||||
--panel-border-bare: rgb(76 13 13 / 0.55);
|
||||
--panel-raised-bg: rgb(32 0 0 / 0.95);
|
||||
--panel-raised-border: rgb(76 13 13 / 1);
|
||||
--panel-accent: #b5e4f4;
|
||||
--panel-header-bg: rgb(48 18 18 / 0.6);
|
||||
--panel-header-fg: #ff4040;
|
||||
--panel-radius: 0.75rem;
|
||||
--panel-blur: 12px;
|
||||
--card-bg: #200000;
|
||||
--glass-bg: rgb(32 0 0 / 0.55);
|
||||
--glass-border: rgb(76 13 13 / 0.7);
|
||||
--dock-bg: rgb(32 0 0 / 0.7);
|
||||
--dock-border: rgb(76 13 13 / 0.8);
|
||||
--dock-tooltip-bg: #301212;
|
||||
--header-bg: rgb(32 0 0 / 0.8);
|
||||
--header-border: rgb(76 13 13 / 0.9);
|
||||
--header-fg: #ff4040;
|
||||
--header-blur: 12px;
|
||||
--pixel-grid-color: rgb(154 69 69 / 0.07);
|
||||
--card-grid-color: rgb(154 69 69 / 0.05);
|
||||
--panel-grid-color: rgb(154 69 69 / 0.06);
|
||||
--scrollbar-thumb: rgb(92 88 85 / 0.6);
|
||||
--scrollbar-thumb-hover: rgb(92 88 85 / 0.85);
|
||||
--scrollbar-thin-thumb: rgb(92 88 85 / 0.45);
|
||||
--scrollbar-thin-thumb-hover: rgb(92 88 85 / 0.7);
|
||||
--brand: #b5e4f4;
|
||||
--brand-foreground: #120000;
|
||||
--brand-primary: #b5e4f4;
|
||||
--brand-accent: #b5e4f4;
|
||||
--brand-warm: #ff271e;
|
||||
--brand-deep: #120000;
|
||||
--brand-muted: #5c5855;
|
||||
--ink: #ff4040;
|
||||
--surface-warm: #200000;
|
||||
--naturegreen: #27a75c;
|
||||
--naturegreen-foreground: #120000;
|
||||
--duck-dark: #ff4040;
|
||||
--duck-teal: #b5e4f4;
|
||||
--duck-yellow: #ff3c3c;
|
||||
--duck-orange: #ff271e;
|
||||
--duck-forest: #27a75c;
|
||||
--duck-beige: #360606;
|
||||
--logo-src: '/officer-logo.svg';
|
||||
}
|
||||
@@ -0,0 +1,97 @@
|
||||
/*
|
||||
Desert Gleam — ported from a community Omarchy theme, not from basecamp/omarchy's own set.
|
||||
|
||||
Light theme (light), by luminance of its own background — the source repo carries no mode flag of its own to read.
|
||||
|
||||
Source: https://github.com/avis3nna/desert-gleam (colors.toml (16-colour ANSI)), read by scripts/port-community-themes.ts. Values
|
||||
went through deriveOmarchyPalette (scripts/themes/from-ansi.ts) because the source has no Omarchy 4
|
||||
colors.toml — 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='desert-gleam'] {
|
||||
--background: #faf7f3;
|
||||
--foreground: #3a3644;
|
||||
--card: #f1eeea;
|
||||
--card-foreground: #3a3644;
|
||||
--popover: #f1eeea;
|
||||
--popover-foreground: #3a3644;
|
||||
--muted: #ebe8e4;
|
||||
--muted-foreground: #68656d;
|
||||
--accent: #ebe8e4;
|
||||
--accent-foreground: #3a3644;
|
||||
--primary: #7a6d9e;
|
||||
--primary-foreground: #fbfbfb;
|
||||
--secondary: #ebe8e4;
|
||||
--secondary-foreground: #3a3644;
|
||||
--cta: #7a6d9e;
|
||||
--cta-foreground: #fbfbfb;
|
||||
--ctahover: #6b608b;
|
||||
--success: #7a9977;
|
||||
--success-foreground: #2c2933;
|
||||
--warning: #c68d53;
|
||||
--warning-foreground: #332f3c;
|
||||
--destructive: #b36667;
|
||||
--destructive-foreground: #111110;
|
||||
--info: #7a6d9e;
|
||||
--info-foreground: #fbfbfb;
|
||||
--busy: #bd7a5d;
|
||||
--busy-foreground: #24222b;
|
||||
--busy-ink: #97624a;
|
||||
--border: #dbd8d6;
|
||||
--input: #d6d3d1;
|
||||
--ring: #7a6d9e;
|
||||
--radius: 0.625rem;
|
||||
--chart-primary: #7a6d9e;
|
||||
--chart-secondary: #d4886a;
|
||||
--status-success: #7a9977;
|
||||
--status-warning: #c68d53;
|
||||
--status-in-progress: #7a6d9e;
|
||||
--page-bg: #faf7f3;
|
||||
--page-bg-src: '';
|
||||
--panel-bg: rgb(241 238 234 / 0.72);
|
||||
--panel-border: rgb(219 216 214 / 0.9);
|
||||
--panel-border-bare: rgb(219 216 214 / 0.55);
|
||||
--panel-raised-bg: rgb(241 238 234 / 0.95);
|
||||
--panel-raised-border: rgb(219 216 214 / 1);
|
||||
--panel-accent: #7a6d9e;
|
||||
--panel-header-bg: rgb(235 232 228 / 0.6);
|
||||
--panel-header-fg: #3a3644;
|
||||
--panel-radius: 0.75rem;
|
||||
--panel-blur: 12px;
|
||||
--card-bg: #f1eeea;
|
||||
--glass-bg: rgb(241 238 234 / 0.55);
|
||||
--glass-border: rgb(219 216 214 / 0.7);
|
||||
--dock-bg: rgb(241 238 234 / 0.7);
|
||||
--dock-border: rgb(219 216 214 / 0.8);
|
||||
--dock-tooltip-bg: #ebe8e4;
|
||||
--header-bg: rgb(241 238 234 / 0.8);
|
||||
--header-border: rgb(219 216 214 / 0.9);
|
||||
--header-fg: #3a3644;
|
||||
--header-blur: 12px;
|
||||
--pixel-grid-color: rgb(139 136 139 / 0.07);
|
||||
--card-grid-color: rgb(139 136 139 / 0.05);
|
||||
--panel-grid-color: rgb(139 136 139 / 0.06);
|
||||
--scrollbar-thumb: rgb(216 203 192 / 0.6);
|
||||
--scrollbar-thumb-hover: rgb(216 203 192 / 0.85);
|
||||
--scrollbar-thin-thumb: rgb(216 203 192 / 0.45);
|
||||
--scrollbar-thin-thumb-hover: rgb(216 203 192 / 0.7);
|
||||
--brand: #7a6d9e;
|
||||
--brand-foreground: #fbfbfb;
|
||||
--brand-primary: #7a6d9e;
|
||||
--brand-accent: #5f8d7c;
|
||||
--brand-warm: #bd7a5d;
|
||||
--brand-deep: #ebe8e4;
|
||||
--brand-muted: #d8cbc0;
|
||||
--ink: #3a3644;
|
||||
--surface-warm: #f1eeea;
|
||||
--naturegreen: #7a9977;
|
||||
--naturegreen-foreground: #2c2933;
|
||||
--duck-dark: #3a3644;
|
||||
--duck-teal: #5f8d7c;
|
||||
--duck-yellow: #c68d53;
|
||||
--duck-orange: #bd7a5d;
|
||||
--duck-forest: #7a9977;
|
||||
--duck-beige: #dfdcd9;
|
||||
--logo-src: '/officer-logo.svg';
|
||||
}
|
||||
@@ -0,0 +1,97 @@
|
||||
/*
|
||||
Desert Twilight — 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/avis3nna/desert-twilight (colors.toml (16-colour ANSI)), read by scripts/port-community-themes.ts. Values
|
||||
went through deriveOmarchyPalette (scripts/themes/from-ansi.ts) because the source has no Omarchy 4
|
||||
colors.toml — 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='desert-twilight'] {
|
||||
--background: #0e0e13;
|
||||
--foreground: #f0f0f2;
|
||||
--card: #1a1922;
|
||||
--card-foreground: #f0f0f2;
|
||||
--popover: #1a1922;
|
||||
--popover-foreground: #f0f0f2;
|
||||
--muted: #2a2931;
|
||||
--muted-foreground: #b0b0b4;
|
||||
--accent: #2a2931;
|
||||
--accent-foreground: #f0f0f2;
|
||||
--primary: #94d4c4;
|
||||
--primary-foreground: #0e0e13;
|
||||
--secondary: #2a2931;
|
||||
--secondary-foreground: #f0f0f2;
|
||||
--cta: #94d4c4;
|
||||
--cta-foreground: #0e0e13;
|
||||
--ctahover: #a1d9cb;
|
||||
--success: #5fb3ac;
|
||||
--success-foreground: #0e0e13;
|
||||
--warning: #d4a255;
|
||||
--warning-foreground: #0e0e13;
|
||||
--destructive: #d16b6b;
|
||||
--destructive-foreground: #0e0e13;
|
||||
--info: #a89dd1;
|
||||
--info-foreground: #0e0e13;
|
||||
--busy: #d38760;
|
||||
--busy-foreground: #0e0e13;
|
||||
--busy-ink: #d38760;
|
||||
--border: #44434b;
|
||||
--input: #44434b;
|
||||
--ring: #94d4c4;
|
||||
--radius: 0.625rem;
|
||||
--chart-primary: #94d4c4;
|
||||
--chart-secondary: #e8845c;
|
||||
--status-success: #5fb3ac;
|
||||
--status-warning: #d4a255;
|
||||
--status-in-progress: #a89dd1;
|
||||
--page-bg: #0e0e13;
|
||||
--page-bg-src: '';
|
||||
--panel-bg: rgb(26 25 34 / 0.72);
|
||||
--panel-border: rgb(68 67 75 / 0.9);
|
||||
--panel-border-bare: rgb(68 67 75 / 0.55);
|
||||
--panel-raised-bg: rgb(26 25 34 / 0.95);
|
||||
--panel-raised-border: rgb(68 67 75 / 1);
|
||||
--panel-accent: #94d4c4;
|
||||
--panel-header-bg: rgb(42 41 49 / 0.6);
|
||||
--panel-header-fg: #f0f0f2;
|
||||
--panel-radius: 0.75rem;
|
||||
--panel-blur: 12px;
|
||||
--card-bg: #1a1922;
|
||||
--glass-bg: rgb(26 25 34 / 0.55);
|
||||
--glass-border: rgb(68 67 75 / 0.7);
|
||||
--dock-bg: rgb(26 25 34 / 0.7);
|
||||
--dock-border: rgb(68 67 75 / 0.8);
|
||||
--dock-tooltip-bg: #2a2931;
|
||||
--header-bg: rgb(26 25 34 / 0.8);
|
||||
--header-border: rgb(68 67 75 / 0.9);
|
||||
--header-fg: #f0f0f2;
|
||||
--header-blur: 12px;
|
||||
--pixel-grid-color: rgb(122 122 128 / 0.07);
|
||||
--card-grid-color: rgb(122 122 128 / 0.05);
|
||||
--panel-grid-color: rgb(122 122 128 / 0.06);
|
||||
--scrollbar-thumb: rgb(58 57 77 / 0.6);
|
||||
--scrollbar-thumb-hover: rgb(58 57 77 / 0.85);
|
||||
--scrollbar-thin-thumb: rgb(58 57 77 / 0.45);
|
||||
--scrollbar-thin-thumb-hover: rgb(58 57 77 / 0.7);
|
||||
--brand: #94d4c4;
|
||||
--brand-foreground: #0e0e13;
|
||||
--brand-primary: #94d4c4;
|
||||
--brand-accent: #7dbba3;
|
||||
--brand-warm: #d38760;
|
||||
--brand-deep: #0e0e13;
|
||||
--brand-muted: #3a394d;
|
||||
--ink: #f0f0f2;
|
||||
--surface-warm: #1a1922;
|
||||
--naturegreen: #5fb3ac;
|
||||
--naturegreen-foreground: #0e0e13;
|
||||
--duck-dark: #f0f0f2;
|
||||
--duck-teal: #7dbba3;
|
||||
--duck-yellow: #d4a255;
|
||||
--duck-orange: #d38760;
|
||||
--duck-forest: #5fb3ac;
|
||||
--duck-beige: #2f2f37;
|
||||
--logo-src: '/officer-logo.svg';
|
||||
}
|
||||
@@ -0,0 +1,97 @@
|
||||
/*
|
||||
Elysian — 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/bjarneo/omarchy-elysian-theme (colors.toml (16-colour ANSI)), read by scripts/port-community-themes.ts. Values
|
||||
went through deriveOmarchyPalette (scripts/themes/from-ansi.ts) because the source has no Omarchy 4
|
||||
colors.toml — 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='elysian'] {
|
||||
--background: #010201;
|
||||
--foreground: #fdfffd;
|
||||
--card: #010401;
|
||||
--card-foreground: #fdfffd;
|
||||
--popover: #010401;
|
||||
--popover-foreground: #fdfffd;
|
||||
--muted: #131613;
|
||||
--muted-foreground: #b1b4b1;
|
||||
--accent: #131613;
|
||||
--accent-foreground: #fdfffd;
|
||||
--primary: #e3f5f6;
|
||||
--primary-foreground: #010201;
|
||||
--secondary: #131613;
|
||||
--secondary-foreground: #fdfffd;
|
||||
--cta: #e3f5f6;
|
||||
--cta-foreground: #010201;
|
||||
--ctahover: #e6f6f7;
|
||||
--success: #70cf6c;
|
||||
--success-foreground: #010201;
|
||||
--warning: #dfec63;
|
||||
--warning-foreground: #010201;
|
||||
--destructive: #bf5a7c;
|
||||
--destructive-foreground: #010201;
|
||||
--info: #62e2a4;
|
||||
--info-foreground: #010201;
|
||||
--busy: #cfa370;
|
||||
--busy-foreground: #010201;
|
||||
--busy-ink: #cfa370;
|
||||
--border: #323532;
|
||||
--input: #323532;
|
||||
--ring: #e3f5f6;
|
||||
--radius: 0.625rem;
|
||||
--chart-primary: #e3f5f6;
|
||||
--chart-secondary: #e0eb7a;
|
||||
--status-success: #70cf6c;
|
||||
--status-warning: #dfec63;
|
||||
--status-in-progress: #62e2a4;
|
||||
--page-bg: #010201;
|
||||
--page-bg-src: '';
|
||||
--panel-bg: rgb(1 4 1 / 0.72);
|
||||
--panel-border: rgb(50 53 50 / 0.9);
|
||||
--panel-border-bare: rgb(50 53 50 / 0.55);
|
||||
--panel-raised-bg: rgb(1 4 1 / 0.95);
|
||||
--panel-raised-border: rgb(50 53 50 / 1);
|
||||
--panel-accent: #e3f5f6;
|
||||
--panel-header-bg: rgb(19 22 19 / 0.6);
|
||||
--panel-header-fg: #fdfffd;
|
||||
--panel-radius: 0.75rem;
|
||||
--panel-blur: 12px;
|
||||
--card-bg: #010401;
|
||||
--glass-bg: rgb(1 4 1 / 0.55);
|
||||
--glass-border: rgb(50 53 50 / 0.7);
|
||||
--dock-bg: rgb(1 4 1 / 0.7);
|
||||
--dock-border: rgb(50 53 50 / 0.8);
|
||||
--dock-tooltip-bg: #131613;
|
||||
--header-bg: rgb(1 4 1 / 0.8);
|
||||
--header-border: rgb(50 53 50 / 0.9);
|
||||
--header-fg: #fdfffd;
|
||||
--header-blur: 12px;
|
||||
--pixel-grid-color: rgb(114 117 114 / 0.07);
|
||||
--card-grid-color: rgb(114 117 114 / 0.05);
|
||||
--panel-grid-color: rgb(114 117 114 / 0.06);
|
||||
--scrollbar-thumb: rgb(81 138 81 / 0.6);
|
||||
--scrollbar-thumb-hover: rgb(81 138 81 / 0.85);
|
||||
--scrollbar-thin-thumb: rgb(81 138 81 / 0.45);
|
||||
--scrollbar-thin-thumb-hover: rgb(81 138 81 / 0.7);
|
||||
--brand: #e3f5f6;
|
||||
--brand-foreground: #010201;
|
||||
--brand-primary: #e3f5f6;
|
||||
--brand-accent: #9ed8dd;
|
||||
--brand-warm: #cfa370;
|
||||
--brand-deep: #010201;
|
||||
--brand-muted: #518a51;
|
||||
--ink: #fdfffd;
|
||||
--surface-warm: #010401;
|
||||
--naturegreen: #70cf6c;
|
||||
--naturegreen-foreground: #010201;
|
||||
--duck-dark: #fdfffd;
|
||||
--duck-teal: #9ed8dd;
|
||||
--duck-yellow: #dfec63;
|
||||
--duck-orange: #cfa370;
|
||||
--duck-forest: #70cf6c;
|
||||
--duck-beige: #1a1d1a;
|
||||
--logo-src: '/officer-logo.svg';
|
||||
}
|
||||
@@ -9,9 +9,9 @@
|
||||
[data-theme='ethereal'] {
|
||||
--background: #030610;
|
||||
--foreground: #ffcead;
|
||||
--card: #060B1E;
|
||||
--card: #060b1e;
|
||||
--card-foreground: #ffcead;
|
||||
--popover: #060B1E;
|
||||
--popover: #060b1e;
|
||||
--popover-foreground: #ffcead;
|
||||
--muted: #131a3a;
|
||||
--muted-foreground: #c9b8a6;
|
||||
@@ -26,9 +26,9 @@
|
||||
--ctahover: #8d91de;
|
||||
--success: #92a593;
|
||||
--success-foreground: #030610;
|
||||
--warning: #E9BB4F;
|
||||
--warning: #e9bb4f;
|
||||
--warning-foreground: #030610;
|
||||
--destructive: #ED5B5A;
|
||||
--destructive: #ed5b5a;
|
||||
--destructive-foreground: #030610;
|
||||
--info: #7d82d9;
|
||||
--info-foreground: #030610;
|
||||
@@ -42,7 +42,7 @@
|
||||
--chart-primary: #7d82d9;
|
||||
--chart-secondary: #c89dc1;
|
||||
--status-success: #92a593;
|
||||
--status-warning: #E9BB4F;
|
||||
--status-warning: #e9bb4f;
|
||||
--status-in-progress: #7d82d9;
|
||||
--page-bg: #030610;
|
||||
--page-bg-src: '';
|
||||
@@ -56,7 +56,7 @@
|
||||
--panel-header-fg: #ffcead;
|
||||
--panel-radius: 0.75rem;
|
||||
--panel-blur: 12px;
|
||||
--card-bg: #060B1E;
|
||||
--card-bg: #060b1e;
|
||||
--glass-bg: rgb(6 11 30 / 0.55);
|
||||
--glass-border: rgb(61 59 68 / 0.7);
|
||||
--dock-bg: rgb(6 11 30 / 0.7);
|
||||
@@ -81,12 +81,12 @@
|
||||
--brand-deep: #030610;
|
||||
--brand-muted: #6d7db6;
|
||||
--ink: #ffcead;
|
||||
--surface-warm: #060B1E;
|
||||
--surface-warm: #060b1e;
|
||||
--naturegreen: #92a593;
|
||||
--naturegreen-foreground: #030610;
|
||||
--duck-dark: #ffcead;
|
||||
--duck-teal: #a3bfd1;
|
||||
--duck-yellow: #E9BB4F;
|
||||
--duck-yellow: #e9bb4f;
|
||||
--duck-orange: #eb8b54;
|
||||
--duck-forest: #92a593;
|
||||
--duck-beige: #1f1f2c;
|
||||
|
||||
@@ -0,0 +1,97 @@
|
||||
/*
|
||||
Evergarden — 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/celsobenedetti/omarchy-evergarden (colors.toml (16-colour ANSI)), read by scripts/port-community-themes.ts. Values
|
||||
went through deriveOmarchyPalette (scripts/themes/from-ansi.ts) because the source has no Omarchy 4
|
||||
colors.toml — 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='evergarden'] {
|
||||
--background: #131719;
|
||||
--foreground: #adc9bc;
|
||||
--card: #232a2e;
|
||||
--card-foreground: #adc9bc;
|
||||
--popover: #232a2e;
|
||||
--popover-foreground: #adc9bc;
|
||||
--muted: #32393d;
|
||||
--muted-foreground: #93a69f;
|
||||
--accent: #32393d;
|
||||
--accent-foreground: #adc9bc;
|
||||
--primary: #b3e6db;
|
||||
--primary-foreground: #131719;
|
||||
--secondary: #32393d;
|
||||
--secondary-foreground: #adc9bc;
|
||||
--cta: #b3e6db;
|
||||
--cta-foreground: #131719;
|
||||
--ctahover: #bce9df;
|
||||
--success: #cbe3b3;
|
||||
--success-foreground: #131719;
|
||||
--warning: #f5d098;
|
||||
--warning-foreground: #131719;
|
||||
--destructive: #f57f82;
|
||||
--destructive-foreground: #131719;
|
||||
--info: #839e9a;
|
||||
--info-foreground: #131719;
|
||||
--busy: #f5a88d;
|
||||
--busy-foreground: #131719;
|
||||
--busy-ink: #f5a88d;
|
||||
--border: #3e494a;
|
||||
--input: #3e494a;
|
||||
--ring: #b3e6db;
|
||||
--radius: 0.625rem;
|
||||
--chart-primary: #b3e6db;
|
||||
--chart-secondary: #b3e6db;
|
||||
--status-success: #cbe3b3;
|
||||
--status-warning: #f5d098;
|
||||
--status-in-progress: #839e9a;
|
||||
--page-bg: #131719;
|
||||
--page-bg-src: '';
|
||||
--panel-bg: rgb(35 42 46 / 0.72);
|
||||
--panel-border: rgb(62 73 74 / 0.9);
|
||||
--panel-border-bare: rgb(62 73 74 / 0.55);
|
||||
--panel-raised-bg: rgb(35 42 46 / 0.95);
|
||||
--panel-raised-border: rgb(62 73 74 / 1);
|
||||
--panel-accent: #b3e6db;
|
||||
--panel-header-bg: rgb(50 57 61 / 0.6);
|
||||
--panel-header-fg: #adc9bc;
|
||||
--panel-radius: 0.75rem;
|
||||
--panel-blur: 12px;
|
||||
--card-bg: #232a2e;
|
||||
--glass-bg: rgb(35 42 46 / 0.55);
|
||||
--glass-border: rgb(62 73 74 / 0.7);
|
||||
--dock-bg: rgb(35 42 46 / 0.7);
|
||||
--dock-border: rgb(62 73 74 / 0.8);
|
||||
--dock-tooltip-bg: #32393d;
|
||||
--header-bg: rgb(35 42 46 / 0.8);
|
||||
--header-border: rgb(62 73 74 / 0.9);
|
||||
--header-fg: #adc9bc;
|
||||
--header-blur: 12px;
|
||||
--pixel-grid-color: rgb(101 118 114 / 0.07);
|
||||
--card-grid-color: rgb(101 118 114 / 0.05);
|
||||
--panel-grid-color: rgb(101 118 114 / 0.06);
|
||||
--scrollbar-thumb: rgb(173 201 188 / 0.6);
|
||||
--scrollbar-thumb-hover: rgb(173 201 188 / 0.85);
|
||||
--scrollbar-thin-thumb: rgb(173 201 188 / 0.45);
|
||||
--scrollbar-thin-thumb-hover: rgb(173 201 188 / 0.7);
|
||||
--brand: #b3e6db;
|
||||
--brand-foreground: #131719;
|
||||
--brand-primary: #b3e6db;
|
||||
--brand-accent: #b3e6db;
|
||||
--brand-warm: #f5a88d;
|
||||
--brand-deep: #131719;
|
||||
--brand-muted: #adc9bc;
|
||||
--ink: #adc9bc;
|
||||
--surface-warm: #232a2e;
|
||||
--naturegreen: #cbe3b3;
|
||||
--naturegreen-foreground: #131719;
|
||||
--duck-dark: #adc9bc;
|
||||
--duck-teal: #b3e6db;
|
||||
--duck-yellow: #f5d098;
|
||||
--duck-orange: #f5a88d;
|
||||
--duck-forest: #cbe3b3;
|
||||
--duck-beige: #313a3c;
|
||||
--logo-src: '/officer-logo.svg';
|
||||
}
|
||||
@@ -0,0 +1,97 @@
|
||||
/*
|
||||
Fiery Ocean — 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/bjarneo/omarchy-fiery-ocean-theme (colors.toml (16-colour ANSI)), read by scripts/port-community-themes.ts. Values
|
||||
went through deriveOmarchyPalette (scripts/themes/from-ansi.ts) because the source has no Omarchy 4
|
||||
colors.toml — 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='fiery-ocean'] {
|
||||
--background: #00121a;
|
||||
--foreground: #fdf0d5;
|
||||
--card: #002130;
|
||||
--card-foreground: #fdf0d5;
|
||||
--popover: #002130;
|
||||
--popover-foreground: #fdf0d5;
|
||||
--muted: #12313e;
|
||||
--muted-foreground: #b1b2a4;
|
||||
--accent: #12313e;
|
||||
--accent-foreground: #fdf0d5;
|
||||
--primary: #8be9fd;
|
||||
--primary-foreground: #00121a;
|
||||
--secondary: #12313e;
|
||||
--secondary-foreground: #fdf0d5;
|
||||
--cta: #8be9fd;
|
||||
--cta-foreground: #00121a;
|
||||
--ctahover: #99ecfd;
|
||||
--success: #2a9d8f;
|
||||
--success-foreground: #00121a;
|
||||
--warning: #fca311;
|
||||
--warning-foreground: #00121a;
|
||||
--destructive: #e63946;
|
||||
--destructive-foreground: #00121a;
|
||||
--info: #669bbc;
|
||||
--info-foreground: #00121a;
|
||||
--busy: #f16e2c;
|
||||
--busy-foreground: #00121a;
|
||||
--busy-ink: #f16e2c;
|
||||
--border: #324a50;
|
||||
--input: #324a50;
|
||||
--ring: #8be9fd;
|
||||
--radius: 0.625rem;
|
||||
--chart-primary: #8be9fd;
|
||||
--chart-secondary: #e63946;
|
||||
--status-success: #2a9d8f;
|
||||
--status-warning: #fca311;
|
||||
--status-in-progress: #669bbc;
|
||||
--page-bg: #00121a;
|
||||
--page-bg-src: '';
|
||||
--panel-bg: rgb(0 33 48 / 0.72);
|
||||
--panel-border: rgb(50 74 80 / 0.9);
|
||||
--panel-border-bare: rgb(50 74 80 / 0.55);
|
||||
--panel-raised-bg: rgb(0 33 48 / 0.95);
|
||||
--panel-raised-border: rgb(50 74 80 / 1);
|
||||
--panel-accent: #8be9fd;
|
||||
--panel-header-bg: rgb(18 49 62 / 0.6);
|
||||
--panel-header-fg: #fdf0d5;
|
||||
--panel-radius: 0.75rem;
|
||||
--panel-blur: 12px;
|
||||
--card-bg: #002130;
|
||||
--glass-bg: rgb(0 33 48 / 0.55);
|
||||
--glass-border: rgb(50 74 80 / 0.7);
|
||||
--dock-bg: rgb(0 33 48 / 0.7);
|
||||
--dock-border: rgb(50 74 80 / 0.8);
|
||||
--dock-tooltip-bg: #12313e;
|
||||
--header-bg: rgb(0 33 48 / 0.8);
|
||||
--header-border: rgb(50 74 80 / 0.9);
|
||||
--header-fg: #fdf0d5;
|
||||
--header-blur: 12px;
|
||||
--pixel-grid-color: rgb(114 126 122 / 0.07);
|
||||
--card-grid-color: rgb(114 126 122 / 0.05);
|
||||
--panel-grid-color: rgb(114 126 122 / 0.06);
|
||||
--scrollbar-thumb: rgb(80 104 116 / 0.6);
|
||||
--scrollbar-thumb-hover: rgb(80 104 116 / 0.85);
|
||||
--scrollbar-thin-thumb: rgb(80 104 116 / 0.45);
|
||||
--scrollbar-thin-thumb-hover: rgb(80 104 116 / 0.7);
|
||||
--brand: #8be9fd;
|
||||
--brand-foreground: #00121a;
|
||||
--brand-primary: #8be9fd;
|
||||
--brand-accent: #90e0ef;
|
||||
--brand-warm: #f16e2c;
|
||||
--brand-deep: #00121a;
|
||||
--brand-muted: #506874;
|
||||
--ink: #fdf0d5;
|
||||
--surface-warm: #002130;
|
||||
--naturegreen: #2a9d8f;
|
||||
--naturegreen-foreground: #00121a;
|
||||
--duck-dark: #fdf0d5;
|
||||
--duck-teal: #90e0ef;
|
||||
--duck-yellow: #fca311;
|
||||
--duck-orange: #f16e2c;
|
||||
--duck-forest: #2a9d8f;
|
||||
--duck-beige: #193641;
|
||||
--logo-src: '/officer-logo.svg';
|
||||
}
|
||||
@@ -0,0 +1,97 @@
|
||||
/*
|
||||
Fireside — 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/bjarneo/omarchy-fireside-theme (colors.toml (16-colour ANSI)), read by scripts/port-community-themes.ts. Values
|
||||
went through deriveOmarchyPalette (scripts/themes/from-ansi.ts) because the source has no Omarchy 4
|
||||
colors.toml — 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='fireside'] {
|
||||
--background: #060a12;
|
||||
--foreground: #f0f2f5;
|
||||
--card: #0a1220;
|
||||
--card-foreground: #f0f2f5;
|
||||
--popover: #0a1220;
|
||||
--popover-foreground: #f0f2f5;
|
||||
--muted: #1b2330;
|
||||
--muted-foreground: #abafb5;
|
||||
--accent: #1b2330;
|
||||
--accent-foreground: #f0f2f5;
|
||||
--primary: #e3ddda;
|
||||
--primary-foreground: #060a12;
|
||||
--secondary: #1b2330;
|
||||
--secondary-foreground: #f0f2f5;
|
||||
--cta: #e3ddda;
|
||||
--cta-foreground: #060a12;
|
||||
--ctahover: #e6e1de;
|
||||
--success: #889889;
|
||||
--success-foreground: #060a12;
|
||||
--warning: #b8b5a2;
|
||||
--warning-foreground: #060a12;
|
||||
--destructive: #e06b58;
|
||||
--destructive-foreground: #060a12;
|
||||
--info: #b8b8b6;
|
||||
--info-foreground: #060a12;
|
||||
--busy: #cc907d;
|
||||
--busy-foreground: #060a12;
|
||||
--busy-ink: #cc907d;
|
||||
--border: #373e4a;
|
||||
--input: #373e4a;
|
||||
--ring: #e3ddda;
|
||||
--radius: 0.625rem;
|
||||
--chart-primary: #e3ddda;
|
||||
--chart-secondary: #e48b7a;
|
||||
--status-success: #889889;
|
||||
--status-warning: #b8b5a2;
|
||||
--status-in-progress: #b8b8b6;
|
||||
--page-bg: #060a12;
|
||||
--page-bg-src: '';
|
||||
--panel-bg: rgb(10 18 32 / 0.72);
|
||||
--panel-border: rgb(55 62 74 / 0.9);
|
||||
--panel-border-bare: rgb(55 62 74 / 0.55);
|
||||
--panel-raised-bg: rgb(10 18 32 / 0.95);
|
||||
--panel-raised-border: rgb(55 62 74 / 1);
|
||||
--panel-accent: #e3ddda;
|
||||
--panel-header-bg: rgb(27 35 48 / 0.6);
|
||||
--panel-header-fg: #f0f2f5;
|
||||
--panel-radius: 0.75rem;
|
||||
--panel-blur: 12px;
|
||||
--card-bg: #0a1220;
|
||||
--glass-bg: rgb(10 18 32 / 0.55);
|
||||
--glass-border: rgb(55 62 74 / 0.7);
|
||||
--dock-bg: rgb(10 18 32 / 0.7);
|
||||
--dock-border: rgb(55 62 74 / 0.8);
|
||||
--dock-tooltip-bg: #1b2330;
|
||||
--header-bg: rgb(10 18 32 / 0.8);
|
||||
--header-border: rgb(55 62 74 / 0.9);
|
||||
--header-fg: #f0f2f5;
|
||||
--header-blur: 12px;
|
||||
--pixel-grid-color: rgb(113 119 128 / 0.07);
|
||||
--card-grid-color: rgb(113 119 128 / 0.05);
|
||||
--panel-grid-color: rgb(113 119 128 / 0.06);
|
||||
--scrollbar-thumb: rgb(85 92 101 / 0.6);
|
||||
--scrollbar-thumb-hover: rgb(85 92 101 / 0.85);
|
||||
--scrollbar-thin-thumb: rgb(85 92 101 / 0.45);
|
||||
--scrollbar-thin-thumb-hover: rgb(85 92 101 / 0.7);
|
||||
--brand: #e3ddda;
|
||||
--brand-foreground: #060a12;
|
||||
--brand-primary: #e3ddda;
|
||||
--brand-accent: #d0cac7;
|
||||
--brand-warm: #cc907d;
|
||||
--brand-deep: #060a12;
|
||||
--brand-muted: #555c65;
|
||||
--ink: #f0f2f5;
|
||||
--surface-warm: #0a1220;
|
||||
--naturegreen: #889889;
|
||||
--naturegreen-foreground: #060a12;
|
||||
--duck-dark: #f0f2f5;
|
||||
--duck-teal: #d0cac7;
|
||||
--duck-yellow: #b8b5a2;
|
||||
--duck-orange: #cc907d;
|
||||
--duck-forest: #889889;
|
||||
--duck-beige: #212835;
|
||||
--logo-src: '/officer-logo.svg';
|
||||
}
|
||||
@@ -0,0 +1,97 @@
|
||||
/*
|
||||
Firesky — 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/bjarneo/omarchy-firesky-theme (colors.toml (16-colour ANSI)), read by scripts/port-community-themes.ts. Values
|
||||
went through deriveOmarchyPalette (scripts/themes/from-ansi.ts) because the source has no Omarchy 4
|
||||
colors.toml — 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='firesky'] {
|
||||
--background: #080808;
|
||||
--foreground: #e0d8d0;
|
||||
--card: #0f0f0f;
|
||||
--card-foreground: #e0d8d0;
|
||||
--popover: #0f0f0f;
|
||||
--popover-foreground: #e0d8d0;
|
||||
--muted: #202020;
|
||||
--muted-foreground: #a19c96;
|
||||
--accent: #202020;
|
||||
--accent-foreground: #e0d8d0;
|
||||
--primary: #70e0dd;
|
||||
--primary-foreground: #080808;
|
||||
--secondary: #202020;
|
||||
--secondary-foreground: #e0d8d0;
|
||||
--cta: #70e0dd;
|
||||
--cta-foreground: #080808;
|
||||
--ctahover: #81e4e1;
|
||||
--success: #1a6b6e;
|
||||
--success-foreground: #e2dad2;
|
||||
--warning: #e68040;
|
||||
--warning-foreground: #080808;
|
||||
--destructive: #e6441a;
|
||||
--destructive-foreground: #080808;
|
||||
--info: #2a7a80;
|
||||
--info-foreground: #f3f3f3;
|
||||
--busy: #e6622d;
|
||||
--busy-foreground: #080808;
|
||||
--busy-ink: #e6622d;
|
||||
--border: #383635;
|
||||
--input: #383635;
|
||||
--ring: #70e0dd;
|
||||
--radius: 0.625rem;
|
||||
--chart-primary: #70e0dd;
|
||||
--chart-secondary: #c4753d;
|
||||
--status-success: #1a6b6e;
|
||||
--status-warning: #e68040;
|
||||
--status-in-progress: #2a7a80;
|
||||
--page-bg: #080808;
|
||||
--page-bg-src: '';
|
||||
--panel-bg: rgb(15 15 15 / 0.72);
|
||||
--panel-border: rgb(56 54 53 / 0.9);
|
||||
--panel-border-bare: rgb(56 54 53 / 0.55);
|
||||
--panel-raised-bg: rgb(15 15 15 / 0.95);
|
||||
--panel-raised-border: rgb(56 54 53 / 1);
|
||||
--panel-accent: #70e0dd;
|
||||
--panel-header-bg: rgb(32 32 32 / 0.6);
|
||||
--panel-header-fg: #e0d8d0;
|
||||
--panel-radius: 0.75rem;
|
||||
--panel-blur: 12px;
|
||||
--card-bg: #0f0f0f;
|
||||
--glass-bg: rgb(15 15 15 / 0.55);
|
||||
--glass-border: rgb(56 54 53 / 0.7);
|
||||
--dock-bg: rgb(15 15 15 / 0.7);
|
||||
--dock-border: rgb(56 54 53 / 0.8);
|
||||
--dock-tooltip-bg: #202020;
|
||||
--header-bg: rgb(15 15 15 / 0.8);
|
||||
--header-border: rgb(56 54 53 / 0.9);
|
||||
--header-fg: #e0d8d0;
|
||||
--header-blur: 12px;
|
||||
--pixel-grid-color: rgb(109 105 102 / 0.07);
|
||||
--card-grid-color: rgb(109 105 102 / 0.05);
|
||||
--panel-grid-color: rgb(109 105 102 / 0.06);
|
||||
--scrollbar-thumb: rgb(77 107 107 / 0.6);
|
||||
--scrollbar-thumb-hover: rgb(77 107 107 / 0.85);
|
||||
--scrollbar-thin-thumb: rgb(77 107 107 / 0.45);
|
||||
--scrollbar-thin-thumb-hover: rgb(77 107 107 / 0.7);
|
||||
--brand: #70e0dd;
|
||||
--brand-foreground: #080808;
|
||||
--brand-primary: #70e0dd;
|
||||
--brand-accent: #40b8b4;
|
||||
--brand-warm: #e6622d;
|
||||
--brand-deep: #080808;
|
||||
--brand-muted: #4d6b6b;
|
||||
--ink: #e0d8d0;
|
||||
--surface-warm: #0f0f0f;
|
||||
--naturegreen: #1a6b6e;
|
||||
--naturegreen-foreground: #e2dad2;
|
||||
--duck-dark: #e0d8d0;
|
||||
--duck-teal: #40b8b4;
|
||||
--duck-yellow: #e68040;
|
||||
--duck-orange: #e6622d;
|
||||
--duck-forest: #1a6b6e;
|
||||
--duck-beige: #242322;
|
||||
--logo-src: '/officer-logo.svg';
|
||||
}
|
||||
@@ -0,0 +1,97 @@
|
||||
/*
|
||||
Flexoki 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/euandeas/omarchy-flexoki-dark-theme (colors.toml (16-colour ANSI)), read by scripts/port-community-themes.ts. Values
|
||||
went through deriveOmarchyPalette (scripts/themes/from-ansi.ts) because the source has no Omarchy 4
|
||||
colors.toml — 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='flexoki-dark'] {
|
||||
--background: #090808;
|
||||
--foreground: #cecdc3;
|
||||
--card: #100f0f;
|
||||
--card-foreground: #cecdc3;
|
||||
--popover: #100f0f;
|
||||
--popover-foreground: #cecdc3;
|
||||
--muted: #212020;
|
||||
--muted-foreground: #95948d;
|
||||
--accent: #212020;
|
||||
--accent-foreground: #cecdc3;
|
||||
--primary: #3aa99f;
|
||||
--primary-foreground: #090808;
|
||||
--secondary: #212020;
|
||||
--secondary-foreground: #cecdc3;
|
||||
--cta: #3aa99f;
|
||||
--cta-foreground: #090808;
|
||||
--ctahover: #52b3ab;
|
||||
--success: #66800b;
|
||||
--success-foreground: #060505;
|
||||
--warning: #ad8301;
|
||||
--warning-foreground: #090808;
|
||||
--destructive: #af3029;
|
||||
--destructive-foreground: #dadad2;
|
||||
--info: #205ea6;
|
||||
--info-foreground: #d8d7cf;
|
||||
--busy: #ae5a15;
|
||||
--busy-foreground: #f9f9f9;
|
||||
--busy-ink: #b46627;
|
||||
--border: #353432;
|
||||
--input: #353432;
|
||||
--ring: #3aa99f;
|
||||
--radius: 0.625rem;
|
||||
--chart-primary: #3aa99f;
|
||||
--chart-secondary: #a02f6f;
|
||||
--status-success: #66800b;
|
||||
--status-warning: #ad8301;
|
||||
--status-in-progress: #205ea6;
|
||||
--page-bg: #090808;
|
||||
--page-bg-src: '';
|
||||
--panel-bg: rgb(16 15 15 / 0.72);
|
||||
--panel-border: rgb(53 52 50 / 0.9);
|
||||
--panel-border-bare: rgb(53 52 50 / 0.55);
|
||||
--panel-raised-bg: rgb(16 15 15 / 0.95);
|
||||
--panel-raised-border: rgb(53 52 50 / 1);
|
||||
--panel-accent: #3aa99f;
|
||||
--panel-header-bg: rgb(33 32 32 / 0.6);
|
||||
--panel-header-fg: #cecdc3;
|
||||
--panel-radius: 0.75rem;
|
||||
--panel-blur: 12px;
|
||||
--card-bg: #100f0f;
|
||||
--glass-bg: rgb(16 15 15 / 0.55);
|
||||
--glass-border: rgb(53 52 50 / 0.7);
|
||||
--dock-bg: rgb(16 15 15 / 0.7);
|
||||
--dock-border: rgb(53 52 50 / 0.8);
|
||||
--dock-tooltip-bg: #212020;
|
||||
--header-bg: rgb(16 15 15 / 0.8);
|
||||
--header-border: rgb(53 52 50 / 0.9);
|
||||
--header-fg: #cecdc3;
|
||||
--header-blur: 12px;
|
||||
--pixel-grid-color: rgb(101 100 96 / 0.07);
|
||||
--card-grid-color: rgb(101 100 96 / 0.05);
|
||||
--panel-grid-color: rgb(101 100 96 / 0.06);
|
||||
--scrollbar-thumb: rgb(111 110 105 / 0.6);
|
||||
--scrollbar-thumb-hover: rgb(111 110 105 / 0.85);
|
||||
--scrollbar-thin-thumb: rgb(111 110 105 / 0.45);
|
||||
--scrollbar-thin-thumb-hover: rgb(111 110 105 / 0.7);
|
||||
--brand: #3aa99f;
|
||||
--brand-foreground: #090808;
|
||||
--brand-primary: #3aa99f;
|
||||
--brand-accent: #24837b;
|
||||
--brand-warm: #ae5a15;
|
||||
--brand-deep: #090808;
|
||||
--brand-muted: #6f6e69;
|
||||
--ink: #cecdc3;
|
||||
--surface-warm: #100f0f;
|
||||
--naturegreen: #66800b;
|
||||
--naturegreen-foreground: #060505;
|
||||
--duck-dark: #cecdc3;
|
||||
--duck-teal: #24837b;
|
||||
--duck-yellow: #ad8301;
|
||||
--duck-orange: #ae5a15;
|
||||
--duck-forest: #66800b;
|
||||
--duck-beige: #232221;
|
||||
--logo-src: '/officer-logo.svg';
|
||||
}
|
||||
@@ -7,56 +7,56 @@
|
||||
Source: basecamp/omarchy themes/flexoki-light/colors.toml (mode: light)
|
||||
*/
|
||||
[data-theme='flexoki-light'] {
|
||||
--background: #FFFCF0;
|
||||
--foreground: #100F0F;
|
||||
--card: #E6E4D9;
|
||||
--card-foreground: #100F0F;
|
||||
--popover: #E6E4D9;
|
||||
--popover-foreground: #100F0F;
|
||||
--background: #fffcf0;
|
||||
--foreground: #100f0f;
|
||||
--card: #e6e4d9;
|
||||
--card-foreground: #100f0f;
|
||||
--popover: #e6e4d9;
|
||||
--popover-foreground: #100f0f;
|
||||
--muted: #f2efe4;
|
||||
--muted-foreground: #403E3C;
|
||||
--muted-foreground: #403e3c;
|
||||
--accent: #f2efe4;
|
||||
--accent-foreground: #100F0F;
|
||||
--primary: #205EA6;
|
||||
--accent-foreground: #100f0f;
|
||||
--primary: #205ea6;
|
||||
--primary-foreground: #e5e2d8;
|
||||
--secondary: #f2efe4;
|
||||
--secondary-foreground: #100F0F;
|
||||
--cta: #205EA6;
|
||||
--secondary-foreground: #100f0f;
|
||||
--cta: #205ea6;
|
||||
--cta-foreground: #e5e2d8;
|
||||
--ctahover: #1c5392;
|
||||
--success: #879A39;
|
||||
--success-foreground: #100F0F;
|
||||
--warning: #D0A215;
|
||||
--warning-foreground: #100F0F;
|
||||
--destructive: #D14D41;
|
||||
--success: #879a39;
|
||||
--success-foreground: #100f0f;
|
||||
--warning: #d0a215;
|
||||
--warning-foreground: #100f0f;
|
||||
--destructive: #d14d41;
|
||||
--destructive-foreground: #0d0c0c;
|
||||
--info: #205EA6;
|
||||
--info: #205ea6;
|
||||
--info-foreground: #e5e2d8;
|
||||
--busy: #d0772b;
|
||||
--busy-foreground: #100F0F;
|
||||
--busy-foreground: #100f0f;
|
||||
--busy-ink: #ac6223;
|
||||
--border: #cbc9c0;
|
||||
--input: #cbc9c0;
|
||||
--ring: #205EA6;
|
||||
--ring: #205ea6;
|
||||
--radius: 0.625rem;
|
||||
--chart-primary: #205EA6;
|
||||
--chart-secondary: #CE5D97;
|
||||
--status-success: #879A39;
|
||||
--status-warning: #D0A215;
|
||||
--status-in-progress: #205EA6;
|
||||
--page-bg: #FFFCF0;
|
||||
--chart-primary: #205ea6;
|
||||
--chart-secondary: #ce5d97;
|
||||
--status-success: #879a39;
|
||||
--status-warning: #d0a215;
|
||||
--status-in-progress: #205ea6;
|
||||
--page-bg: #fffcf0;
|
||||
--page-bg-src: '';
|
||||
--panel-bg: rgb(230 228 217 / 0.72);
|
||||
--panel-border: rgb(203 201 192 / 0.9);
|
||||
--panel-border-bare: rgb(203 201 192 / 0.55);
|
||||
--panel-raised-bg: rgb(230 228 217 / 0.95);
|
||||
--panel-raised-border: rgb(203 201 192 / 1);
|
||||
--panel-accent: #205EA6;
|
||||
--panel-accent: #205ea6;
|
||||
--panel-header-bg: rgb(242 239 228 / 0.6);
|
||||
--panel-header-fg: #100F0F;
|
||||
--panel-header-fg: #100f0f;
|
||||
--panel-radius: 0.75rem;
|
||||
--panel-blur: 12px;
|
||||
--card-bg: #E6E4D9;
|
||||
--card-bg: #e6e4d9;
|
||||
--glass-bg: rgb(230 228 217 / 0.55);
|
||||
--glass-border: rgb(203 201 192 / 0.7);
|
||||
--dock-bg: rgb(230 228 217 / 0.7);
|
||||
@@ -64,7 +64,7 @@
|
||||
--dock-tooltip-bg: #f2efe4;
|
||||
--header-bg: rgb(230 228 217 / 0.8);
|
||||
--header-border: rgb(203 201 192 / 0.9);
|
||||
--header-fg: #100F0F;
|
||||
--header-fg: #100f0f;
|
||||
--header-blur: 12px;
|
||||
--pixel-grid-color: rgb(132 130 125 / 0.07);
|
||||
--card-grid-color: rgb(132 130 125 / 0.05);
|
||||
@@ -73,22 +73,22 @@
|
||||
--scrollbar-thumb-hover: rgb(183 181 172 / 0.85);
|
||||
--scrollbar-thin-thumb: rgb(183 181 172 / 0.45);
|
||||
--scrollbar-thin-thumb-hover: rgb(183 181 172 / 0.7);
|
||||
--brand: #205EA6;
|
||||
--brand: #205ea6;
|
||||
--brand-foreground: #e5e2d8;
|
||||
--brand-primary: #205EA6;
|
||||
--brand-accent: #3AA99F;
|
||||
--brand-primary: #205ea6;
|
||||
--brand-accent: #3aa99f;
|
||||
--brand-warm: #d0772b;
|
||||
--brand-deep: #f2efe4;
|
||||
--brand-muted: #B7B5AC;
|
||||
--ink: #100F0F;
|
||||
--surface-warm: #E6E4D9;
|
||||
--naturegreen: #879A39;
|
||||
--naturegreen-foreground: #100F0F;
|
||||
--duck-dark: #100F0F;
|
||||
--duck-teal: #3AA99F;
|
||||
--duck-yellow: #D0A215;
|
||||
--brand-muted: #b7b5ac;
|
||||
--ink: #100f0f;
|
||||
--surface-warm: #e6e4d9;
|
||||
--naturegreen: #879a39;
|
||||
--naturegreen-foreground: #100f0f;
|
||||
--duck-dark: #100f0f;
|
||||
--duck-teal: #3aa99f;
|
||||
--duck-yellow: #d0a215;
|
||||
--duck-orange: #d0772b;
|
||||
--duck-forest: #879A39;
|
||||
--duck-forest: #879a39;
|
||||
--duck-beige: #d1cfc5;
|
||||
--logo-src: '/officer-logo.svg';
|
||||
}
|
||||
|
||||
@@ -0,0 +1,97 @@
|
||||
/*
|
||||
Frost — 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/bjarneo/omarchy-frost-theme (colors.toml (16-colour ANSI)), read by scripts/port-community-themes.ts. Values
|
||||
went through deriveOmarchyPalette (scripts/themes/from-ansi.ts) because the source has no Omarchy 4
|
||||
colors.toml — 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='frost'] {
|
||||
--background: #06080f;
|
||||
--foreground: #d4d5d9;
|
||||
--card: #0a0f1c;
|
||||
--card-foreground: #d4d5d9;
|
||||
--popover: #0a0f1c;
|
||||
--popover-foreground: #d4d5d9;
|
||||
--muted: #1b202c;
|
||||
--muted-foreground: #979aa0;
|
||||
--accent: #1b202c;
|
||||
--accent-foreground: #d4d5d9;
|
||||
--primary: #b8c7d0;
|
||||
--primary-foreground: #06080f;
|
||||
--secondary: #1b202c;
|
||||
--secondary-foreground: #d4d5d9;
|
||||
--cta: #b8c7d0;
|
||||
--cta-foreground: #06080f;
|
||||
--ctahover: #c1ced6;
|
||||
--success: #95a8b8;
|
||||
--success-foreground: #06080f;
|
||||
--warning: #9fadb8;
|
||||
--warning-foreground: #06080f;
|
||||
--destructive: #869aac;
|
||||
--destructive-foreground: #06080f;
|
||||
--info: #9bb0c2;
|
||||
--info-foreground: #06080f;
|
||||
--busy: #93a4b2;
|
||||
--busy-foreground: #06080f;
|
||||
--busy-ink: #93a4b2;
|
||||
--border: #313641;
|
||||
--input: #313641;
|
||||
--ring: #b8c7d0;
|
||||
--radius: 0.625rem;
|
||||
--chart-primary: #b8c7d0;
|
||||
--chart-secondary: #a8b9c6;
|
||||
--status-success: #95a8b8;
|
||||
--status-warning: #9fadb8;
|
||||
--status-in-progress: #9bb0c2;
|
||||
--page-bg: #06080f;
|
||||
--page-bg-src: '';
|
||||
--panel-bg: rgb(10 15 28 / 0.72);
|
||||
--panel-border: rgb(49 54 65 / 0.9);
|
||||
--panel-border-bare: rgb(49 54 65 / 0.55);
|
||||
--panel-raised-bg: rgb(10 15 28 / 0.95);
|
||||
--panel-raised-border: rgb(49 54 65 / 1);
|
||||
--panel-accent: #b8c7d0;
|
||||
--panel-header-bg: rgb(27 32 44 / 0.6);
|
||||
--panel-header-fg: #d4d5d9;
|
||||
--panel-radius: 0.75rem;
|
||||
--panel-blur: 12px;
|
||||
--card-bg: #0a0f1c;
|
||||
--glass-bg: rgb(10 15 28 / 0.55);
|
||||
--glass-border: rgb(49 54 65 / 0.7);
|
||||
--dock-bg: rgb(10 15 28 / 0.7);
|
||||
--dock-border: rgb(49 54 65 / 0.8);
|
||||
--dock-tooltip-bg: #1b202c;
|
||||
--header-bg: rgb(10 15 28 / 0.8);
|
||||
--header-border: rgb(49 54 65 / 0.9);
|
||||
--header-fg: #d4d5d9;
|
||||
--header-blur: 12px;
|
||||
--pixel-grid-color: rgb(101 104 113 / 0.07);
|
||||
--card-grid-color: rgb(101 104 113 / 0.05);
|
||||
--panel-grid-color: rgb(101 104 113 / 0.06);
|
||||
--scrollbar-thumb: rgb(95 99 116 / 0.6);
|
||||
--scrollbar-thumb-hover: rgb(95 99 116 / 0.85);
|
||||
--scrollbar-thin-thumb: rgb(95 99 116 / 0.45);
|
||||
--scrollbar-thin-thumb-hover: rgb(95 99 116 / 0.7);
|
||||
--brand: #b8c7d0;
|
||||
--brand-foreground: #06080f;
|
||||
--brand-primary: #b8c7d0;
|
||||
--brand-accent: #b8c7d0;
|
||||
--brand-warm: #93a4b2;
|
||||
--brand-deep: #06080f;
|
||||
--brand-muted: #5f6374;
|
||||
--ink: #d4d5d9;
|
||||
--surface-warm: #0a0f1c;
|
||||
--naturegreen: #95a8b8;
|
||||
--naturegreen-foreground: #06080f;
|
||||
--duck-dark: #d4d5d9;
|
||||
--duck-teal: #b8c7d0;
|
||||
--duck-yellow: #9fadb8;
|
||||
--duck-orange: #93a4b2;
|
||||
--duck-forest: #95a8b8;
|
||||
--duck-beige: #1e232f;
|
||||
--logo-src: '/officer-logo.svg';
|
||||
}
|
||||
@@ -0,0 +1,97 @@
|
||||
/*
|
||||
Futurism — 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/bjarneo/omarchy-futurism-theme (colors.toml (16-colour ANSI)), read by scripts/port-community-themes.ts. Values
|
||||
went through deriveOmarchyPalette (scripts/themes/from-ansi.ts) because the source has no Omarchy 4
|
||||
colors.toml — 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='futurism'] {
|
||||
--background: #060b16;
|
||||
--foreground: #f0f8ff;
|
||||
--card: #0a1428;
|
||||
--card-foreground: #f0f8ff;
|
||||
--popover: #0a1428;
|
||||
--popover-foreground: #f0f8ff;
|
||||
--muted: #1b2437;
|
||||
--muted-foreground: #abb4bf;
|
||||
--accent: #1b2437;
|
||||
--accent-foreground: #f0f8ff;
|
||||
--primary: #f0f8ff;
|
||||
--primary-foreground: #060b16;
|
||||
--secondary: #1b2437;
|
||||
--secondary-foreground: #f0f8ff;
|
||||
--cta: #f0f8ff;
|
||||
--cta-foreground: #060b16;
|
||||
--ctahover: #f2f9ff;
|
||||
--success: #00bfff;
|
||||
--success-foreground: #060b16;
|
||||
--warning: #5076b2;
|
||||
--warning-foreground: #ffffff;
|
||||
--destructive: #ff40a3;
|
||||
--destructive-foreground: #060b16;
|
||||
--info: #f0f8ff;
|
||||
--info-foreground: #060b16;
|
||||
--busy: #a85bab;
|
||||
--busy-foreground: #050913;
|
||||
--busy-ink: #aa5fad;
|
||||
--border: #374152;
|
||||
--input: #374152;
|
||||
--ring: #f0f8ff;
|
||||
--radius: 0.625rem;
|
||||
--chart-primary: #f0f8ff;
|
||||
--chart-secondary: #ff40a3;
|
||||
--status-success: #00bfff;
|
||||
--status-warning: #5076b2;
|
||||
--status-in-progress: #f0f8ff;
|
||||
--page-bg: #060b16;
|
||||
--page-bg-src: '';
|
||||
--panel-bg: rgb(10 20 40 / 0.72);
|
||||
--panel-border: rgb(55 65 82 / 0.9);
|
||||
--panel-border-bare: rgb(55 65 82 / 0.55);
|
||||
--panel-raised-bg: rgb(10 20 40 / 0.95);
|
||||
--panel-raised-border: rgb(55 65 82 / 1);
|
||||
--panel-accent: #f0f8ff;
|
||||
--panel-header-bg: rgb(27 36 55 / 0.6);
|
||||
--panel-header-fg: #f0f8ff;
|
||||
--panel-radius: 0.75rem;
|
||||
--panel-blur: 12px;
|
||||
--card-bg: #0a1428;
|
||||
--glass-bg: rgb(10 20 40 / 0.55);
|
||||
--glass-border: rgb(55 65 82 / 0.7);
|
||||
--dock-bg: rgb(10 20 40 / 0.7);
|
||||
--dock-border: rgb(55 65 82 / 0.8);
|
||||
--dock-tooltip-bg: #1b2437;
|
||||
--header-bg: rgb(10 20 40 / 0.8);
|
||||
--header-border: rgb(55 65 82 / 0.9);
|
||||
--header-fg: #f0f8ff;
|
||||
--header-blur: 12px;
|
||||
--pixel-grid-color: rgb(113 123 137 / 0.07);
|
||||
--card-grid-color: rgb(113 123 137 / 0.05);
|
||||
--panel-grid-color: rgb(113 123 137 / 0.06);
|
||||
--scrollbar-thumb: rgb(240 248 255 / 0.6);
|
||||
--scrollbar-thumb-hover: rgb(240 248 255 / 0.85);
|
||||
--scrollbar-thin-thumb: rgb(240 248 255 / 0.45);
|
||||
--scrollbar-thin-thumb-hover: rgb(240 248 255 / 0.7);
|
||||
--brand: #f0f8ff;
|
||||
--brand-foreground: #060b16;
|
||||
--brand-primary: #f0f8ff;
|
||||
--brand-accent: #f0f8ff;
|
||||
--brand-warm: #a85bab;
|
||||
--brand-deep: #060b16;
|
||||
--brand-muted: #f0f8ff;
|
||||
--ink: #f0f8ff;
|
||||
--surface-warm: #0a1428;
|
||||
--naturegreen: #00bfff;
|
||||
--naturegreen-foreground: #060b16;
|
||||
--duck-dark: #f0f8ff;
|
||||
--duck-teal: #f0f8ff;
|
||||
--duck-yellow: #5076b2;
|
||||
--duck-orange: #a85bab;
|
||||
--duck-forest: #00bfff;
|
||||
--duck-beige: #212b3e;
|
||||
--logo-src: '/officer-logo.svg';
|
||||
}
|
||||
@@ -0,0 +1,97 @@
|
||||
/*
|
||||
Ghost Pastel — 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/row-huh/omarchy-ghost-pastel-theme (colors.toml (16-colour ANSI)), read by scripts/port-community-themes.ts. Values
|
||||
went through deriveOmarchyPalette (scripts/themes/from-ansi.ts) because the source has no Omarchy 4
|
||||
colors.toml — 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='ghost-pastel'] {
|
||||
--background: #040303;
|
||||
--foreground: #ffffff;
|
||||
--card: #070506;
|
||||
--card-foreground: #ffffff;
|
||||
--popover: #070506;
|
||||
--popover-foreground: #ffffff;
|
||||
--muted: #181717;
|
||||
--muted-foreground: #b5b4b4;
|
||||
--accent: #181717;
|
||||
--accent-foreground: #ffffff;
|
||||
--primary: #e4e6fb;
|
||||
--primary-foreground: #040303;
|
||||
--secondary: #181717;
|
||||
--secondary-foreground: #ffffff;
|
||||
--cta: #e4e6fb;
|
||||
--cta-foreground: #040303;
|
||||
--ctahover: #e7e9fb;
|
||||
--success: #648ed0;
|
||||
--success-foreground: #040303;
|
||||
--warning: #e095b5;
|
||||
--warning-foreground: #040303;
|
||||
--destructive: #b37580;
|
||||
--destructive-foreground: #040303;
|
||||
--info: #979fec;
|
||||
--info-foreground: #040303;
|
||||
--busy: #ca859b;
|
||||
--busy-foreground: #040303;
|
||||
--busy-ink: #ca859b;
|
||||
--border: #383637;
|
||||
--input: #383637;
|
||||
--ring: #e4e6fb;
|
||||
--radius: 0.625rem;
|
||||
--chart-primary: #e4e6fb;
|
||||
--chart-secondary: #cd9dcf;
|
||||
--status-success: #648ed0;
|
||||
--status-warning: #e095b5;
|
||||
--status-in-progress: #979fec;
|
||||
--page-bg: #040303;
|
||||
--page-bg-src: '';
|
||||
--panel-bg: rgb(7 5 6 / 0.72);
|
||||
--panel-border: rgb(56 54 55 / 0.9);
|
||||
--panel-border-bare: rgb(56 54 55 / 0.55);
|
||||
--panel-raised-bg: rgb(7 5 6 / 0.95);
|
||||
--panel-raised-border: rgb(56 54 55 / 1);
|
||||
--panel-accent: #e4e6fb;
|
||||
--panel-header-bg: rgb(24 23 23 / 0.6);
|
||||
--panel-header-fg: #ffffff;
|
||||
--panel-radius: 0.75rem;
|
||||
--panel-blur: 12px;
|
||||
--card-bg: #070506;
|
||||
--glass-bg: rgb(7 5 6 / 0.55);
|
||||
--glass-border: rgb(56 54 55 / 0.7);
|
||||
--dock-bg: rgb(7 5 6 / 0.7);
|
||||
--dock-border: rgb(56 54 55 / 0.8);
|
||||
--dock-tooltip-bg: #181717;
|
||||
--header-bg: rgb(7 5 6 / 0.8);
|
||||
--header-border: rgb(56 54 55 / 0.9);
|
||||
--header-fg: #ffffff;
|
||||
--header-blur: 12px;
|
||||
--pixel-grid-color: rgb(119 118 118 / 0.07);
|
||||
--card-grid-color: rgb(119 118 118 / 0.05);
|
||||
--panel-grid-color: rgb(119 118 118 / 0.06);
|
||||
--scrollbar-thumb: rgb(131 111 121 / 0.6);
|
||||
--scrollbar-thumb-hover: rgb(131 111 121 / 0.85);
|
||||
--scrollbar-thin-thumb: rgb(131 111 121 / 0.45);
|
||||
--scrollbar-thin-thumb-hover: rgb(131 111 121 / 0.7);
|
||||
--brand: #e4e6fb;
|
||||
--brand-foreground: #040303;
|
||||
--brand-primary: #e4e6fb;
|
||||
--brand-accent: #7c93dd;
|
||||
--brand-warm: #ca859b;
|
||||
--brand-deep: #040303;
|
||||
--brand-muted: #836f79;
|
||||
--ink: #ffffff;
|
||||
--surface-warm: #070506;
|
||||
--naturegreen: #648ed0;
|
||||
--naturegreen-foreground: #040303;
|
||||
--duck-dark: #ffffff;
|
||||
--duck-teal: #7c93dd;
|
||||
--duck-yellow: #e095b5;
|
||||
--duck-orange: #ca859b;
|
||||
--duck-forest: #648ed0;
|
||||
--duck-beige: #201e1f;
|
||||
--logo-src: '/officer-logo.svg';
|
||||
}
|
||||
@@ -9,19 +9,19 @@
|
||||
[data-theme='hackerman'] {
|
||||
--background: #06060c;
|
||||
--foreground: #ddf7ff;
|
||||
--card: #0B0C16;
|
||||
--card: #0b0c16;
|
||||
--card-foreground: #ddf7ff;
|
||||
--popover: #0B0C16;
|
||||
--popover: #0b0c16;
|
||||
--popover-foreground: #ddf7ff;
|
||||
--muted: #151828;
|
||||
--muted-foreground: #b5c5db;
|
||||
--accent: #151828;
|
||||
--accent-foreground: #ddf7ff;
|
||||
--primary: #82FB9C;
|
||||
--primary: #82fb9c;
|
||||
--primary-foreground: #06060c;
|
||||
--secondary: #151828;
|
||||
--secondary-foreground: #ddf7ff;
|
||||
--cta: #82FB9C;
|
||||
--cta: #82fb9c;
|
||||
--cta-foreground: #06060c;
|
||||
--ctahover: #91fba8;
|
||||
--success: #4fe88f;
|
||||
@@ -37,9 +37,9 @@
|
||||
--busy-ink: #50f7a3;
|
||||
--border: #3b404d;
|
||||
--input: #3b404d;
|
||||
--ring: #82FB9C;
|
||||
--ring: #82fb9c;
|
||||
--radius: 0.625rem;
|
||||
--chart-primary: #82FB9C;
|
||||
--chart-primary: #82fb9c;
|
||||
--chart-secondary: #86a7df;
|
||||
--status-success: #4fe88f;
|
||||
--status-warning: #50f7d4;
|
||||
@@ -51,12 +51,12 @@
|
||||
--panel-border-bare: rgb(59 64 77 / 0.55);
|
||||
--panel-raised-bg: rgb(11 12 22 / 0.95);
|
||||
--panel-raised-border: rgb(59 64 77 / 1);
|
||||
--panel-accent: #82FB9C;
|
||||
--panel-accent: #82fb9c;
|
||||
--panel-header-bg: rgb(21 24 40 / 0.6);
|
||||
--panel-header-fg: #ddf7ff;
|
||||
--panel-radius: 0.75rem;
|
||||
--panel-blur: 12px;
|
||||
--card-bg: #0B0C16;
|
||||
--card-bg: #0b0c16;
|
||||
--glass-bg: rgb(11 12 22 / 0.55);
|
||||
--glass-border: rgb(59 64 77 / 0.7);
|
||||
--dock-bg: rgb(11 12 22 / 0.7);
|
||||
@@ -73,15 +73,15 @@
|
||||
--scrollbar-thumb-hover: rgb(45 52 80 / 0.85);
|
||||
--scrollbar-thin-thumb: rgb(45 52 80 / 0.45);
|
||||
--scrollbar-thin-thumb-hover: rgb(45 52 80 / 0.7);
|
||||
--brand: #82FB9C;
|
||||
--brand: #82fb9c;
|
||||
--brand-foreground: #06060c;
|
||||
--brand-primary: #82FB9C;
|
||||
--brand-primary: #82fb9c;
|
||||
--brand-accent: #7cf8f7;
|
||||
--brand-warm: #50f7a3;
|
||||
--brand-deep: #06060c;
|
||||
--brand-muted: #2d3450;
|
||||
--ink: #ddf7ff;
|
||||
--surface-warm: #0B0C16;
|
||||
--surface-warm: #0b0c16;
|
||||
--naturegreen: #4fe88f;
|
||||
--naturegreen-foreground: #06060c;
|
||||
--duck-dark: #ddf7ff;
|
||||
|
||||
@@ -0,0 +1,97 @@
|
||||
/*
|
||||
Harbor 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/HANCORE-linux/omarchy-harbordark-theme (colors.toml (16-colour ANSI)), read by scripts/port-community-themes.ts. Values
|
||||
went through deriveOmarchyPalette (scripts/themes/from-ansi.ts) because the source has no Omarchy 4
|
||||
colors.toml — 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='harbor-dark'] {
|
||||
--background: #0f0f0f;
|
||||
--foreground: #efebdc;
|
||||
--card: #1b1b1b;
|
||||
--card-foreground: #efebdc;
|
||||
--popover: #1b1b1b;
|
||||
--popover-foreground: #efebdc;
|
||||
--muted: #2b2b2b;
|
||||
--muted-foreground: #afada2;
|
||||
--accent: #2b2b2b;
|
||||
--accent-foreground: #efebdc;
|
||||
--primary: #e58980;
|
||||
--primary-foreground: #0f0f0f;
|
||||
--secondary: #2b2b2b;
|
||||
--secondary-foreground: #efebdc;
|
||||
--cta: #e58980;
|
||||
--cta-foreground: #0f0f0f;
|
||||
--ctahover: #e8978f;
|
||||
--success: #e75a50;
|
||||
--success-foreground: #0f0f0f;
|
||||
--warning: #a99b7a;
|
||||
--warning-foreground: #0f0f0f;
|
||||
--destructive: #f44336;
|
||||
--destructive-foreground: #0f0f0f;
|
||||
--info: #e58980;
|
||||
--info-foreground: #0f0f0f;
|
||||
--busy: #cf6f58;
|
||||
--busy-foreground: #0f0f0f;
|
||||
--busy-ink: #cf6f58;
|
||||
--border: #444441;
|
||||
--input: #444441;
|
||||
--ring: #e58980;
|
||||
--radius: 0.625rem;
|
||||
--chart-primary: #e58980;
|
||||
--chart-secondary: #77838a;
|
||||
--status-success: #e75a50;
|
||||
--status-warning: #a99b7a;
|
||||
--status-in-progress: #e58980;
|
||||
--page-bg: #0f0f0f;
|
||||
--page-bg-src: '';
|
||||
--panel-bg: rgb(27 27 27 / 0.72);
|
||||
--panel-border: rgb(68 68 65 / 0.9);
|
||||
--panel-border-bare: rgb(68 68 65 / 0.55);
|
||||
--panel-raised-bg: rgb(27 27 27 / 0.95);
|
||||
--panel-raised-border: rgb(68 68 65 / 1);
|
||||
--panel-accent: #e58980;
|
||||
--panel-header-bg: rgb(43 43 43 / 0.6);
|
||||
--panel-header-fg: #efebdc;
|
||||
--panel-radius: 0.75rem;
|
||||
--panel-blur: 12px;
|
||||
--card-bg: #1b1b1b;
|
||||
--glass-bg: rgb(27 27 27 / 0.55);
|
||||
--glass-border: rgb(68 68 65 / 0.7);
|
||||
--dock-bg: rgb(27 27 27 / 0.7);
|
||||
--dock-border: rgb(68 68 65 / 0.8);
|
||||
--dock-tooltip-bg: #2b2b2b;
|
||||
--header-bg: rgb(27 27 27 / 0.8);
|
||||
--header-border: rgb(68 68 65 / 0.9);
|
||||
--header-fg: #efebdc;
|
||||
--header-blur: 12px;
|
||||
--pixel-grid-color: rgb(122 121 114 / 0.07);
|
||||
--card-grid-color: rgb(122 121 114 / 0.05);
|
||||
--panel-grid-color: rgb(122 121 114 / 0.06);
|
||||
--scrollbar-thumb: rgb(129 127 104 / 0.6);
|
||||
--scrollbar-thumb-hover: rgb(129 127 104 / 0.85);
|
||||
--scrollbar-thin-thumb: rgb(129 127 104 / 0.45);
|
||||
--scrollbar-thin-thumb-hover: rgb(129 127 104 / 0.7);
|
||||
--brand: #e58980;
|
||||
--brand-foreground: #0f0f0f;
|
||||
--brand-primary: #e58980;
|
||||
--brand-accent: #6d6d6d;
|
||||
--brand-warm: #cf6f58;
|
||||
--brand-deep: #0f0f0f;
|
||||
--brand-muted: #817f68;
|
||||
--ink: #efebdc;
|
||||
--surface-warm: #1b1b1b;
|
||||
--naturegreen: #e75a50;
|
||||
--naturegreen-foreground: #0f0f0f;
|
||||
--duck-dark: #efebdc;
|
||||
--duck-teal: #6d6d6d;
|
||||
--duck-yellow: #a99b7a;
|
||||
--duck-orange: #cf6f58;
|
||||
--duck-forest: #e75a50;
|
||||
--duck-beige: #30302e;
|
||||
--logo-src: '/officer-logo.svg';
|
||||
}
|
||||
@@ -0,0 +1,97 @@
|
||||
/*
|
||||
Hollow Knight — 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/bjarneo/omarchy-hollow-knight-theme (colors.toml (16-colour ANSI)), read by scripts/port-community-themes.ts. Values
|
||||
went through deriveOmarchyPalette (scripts/themes/from-ansi.ts) because the source has no Omarchy 4
|
||||
colors.toml — 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='hollow-knight'] {
|
||||
--background: #00181e;
|
||||
--foreground: #fbf1c7;
|
||||
--card: #002b36;
|
||||
--card-foreground: #fbf1c7;
|
||||
--popover: #002b36;
|
||||
--popover-foreground: #fbf1c7;
|
||||
--muted: #123a44;
|
||||
--muted-foreground: #b0b69c;
|
||||
--accent: #123a44;
|
||||
--accent-foreground: #fbf1c7;
|
||||
--primary: #3bcba5;
|
||||
--primary-foreground: #00181e;
|
||||
--secondary: #123a44;
|
||||
--secondary-foreground: #fbf1c7;
|
||||
--cta: #3bcba5;
|
||||
--cta-foreground: #00181e;
|
||||
--ctahover: #53d1b0;
|
||||
--success: #2a9d8f;
|
||||
--success-foreground: #00181e;
|
||||
--warning: #e9c46a;
|
||||
--warning-foreground: #00181e;
|
||||
--destructive: #e76f51;
|
||||
--destructive-foreground: #00181e;
|
||||
--info: #2a6f88;
|
||||
--info-foreground: #fbf1c7;
|
||||
--busy: #e89a5e;
|
||||
--busy-foreground: #00181e;
|
||||
--busy-ink: #e89a5e;
|
||||
--border: #315253;
|
||||
--input: #315253;
|
||||
--ring: #3bcba5;
|
||||
--radius: 0.625rem;
|
||||
--chart-primary: #3bcba5;
|
||||
--chart-secondary: #f4a261;
|
||||
--status-success: #2a9d8f;
|
||||
--status-warning: #e9c46a;
|
||||
--status-in-progress: #2a6f88;
|
||||
--page-bg: #00181e;
|
||||
--page-bg-src: '';
|
||||
--panel-bg: rgb(0 43 54 / 0.72);
|
||||
--panel-border: rgb(49 82 83 / 0.9);
|
||||
--panel-border-bare: rgb(49 82 83 / 0.55);
|
||||
--panel-raised-bg: rgb(0 43 54 / 0.95);
|
||||
--panel-raised-border: rgb(49 82 83 / 1);
|
||||
--panel-accent: #3bcba5;
|
||||
--panel-header-bg: rgb(18 58 68 / 0.6);
|
||||
--panel-header-fg: #fbf1c7;
|
||||
--panel-radius: 0.75rem;
|
||||
--panel-blur: 12px;
|
||||
--card-bg: #002b36;
|
||||
--glass-bg: rgb(0 43 54 / 0.55);
|
||||
--glass-border: rgb(49 82 83 / 0.7);
|
||||
--dock-bg: rgb(0 43 54 / 0.7);
|
||||
--dock-border: rgb(49 82 83 / 0.8);
|
||||
--dock-tooltip-bg: #123a44;
|
||||
--header-bg: rgb(0 43 54 / 0.8);
|
||||
--header-border: rgb(49 82 83 / 0.9);
|
||||
--header-fg: #fbf1c7;
|
||||
--header-blur: 12px;
|
||||
--pixel-grid-color: rgb(113 132 119 / 0.07);
|
||||
--card-grid-color: rgb(113 132 119 / 0.05);
|
||||
--panel-grid-color: rgb(113 132 119 / 0.06);
|
||||
--scrollbar-thumb: rgb(88 110 117 / 0.6);
|
||||
--scrollbar-thumb-hover: rgb(88 110 117 / 0.85);
|
||||
--scrollbar-thin-thumb: rgb(88 110 117 / 0.45);
|
||||
--scrollbar-thin-thumb-hover: rgb(88 110 117 / 0.7);
|
||||
--brand: #3bcba5;
|
||||
--brand-foreground: #00181e;
|
||||
--brand-primary: #3bcba5;
|
||||
--brand-accent: #2a9d8f;
|
||||
--brand-warm: #e89a5e;
|
||||
--brand-deep: #00181e;
|
||||
--brand-muted: #586e75;
|
||||
--ink: #fbf1c7;
|
||||
--surface-warm: #002b36;
|
||||
--naturegreen: #2a9d8f;
|
||||
--naturegreen-foreground: #00181e;
|
||||
--duck-dark: #fbf1c7;
|
||||
--duck-teal: #2a9d8f;
|
||||
--duck-yellow: #e9c46a;
|
||||
--duck-orange: #e89a5e;
|
||||
--duck-forest: #2a9d8f;
|
||||
--duck-beige: #193f45;
|
||||
--logo-src: '/officer-logo.svg';
|
||||
}
|
||||
@@ -0,0 +1,97 @@
|
||||
/*
|
||||
Inkypinky — 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/HANCORE-linux/omarchy-inkypinky-theme (colors.toml (16-colour ANSI)), read by scripts/port-community-themes.ts. Values
|
||||
went through deriveOmarchyPalette (scripts/themes/from-ansi.ts) because the source has no Omarchy 4
|
||||
colors.toml — 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='inkypinky'] {
|
||||
--background: #0a0a10;
|
||||
--foreground: #c8c8c8;
|
||||
--card: #13131d;
|
||||
--card-foreground: #c8c8c8;
|
||||
--popover: #13131d;
|
||||
--popover-foreground: #c8c8c8;
|
||||
--muted: #24242d;
|
||||
--muted-foreground: #929295;
|
||||
--accent: #24242d;
|
||||
--accent-foreground: #c8c8c8;
|
||||
--primary: #d2d7e3;
|
||||
--primary-foreground: #0a0a10;
|
||||
--secondary: #24242d;
|
||||
--secondary-foreground: #c8c8c8;
|
||||
--cta: #d2d7e3;
|
||||
--cta-foreground: #0a0a10;
|
||||
--ctahover: #d7dce6;
|
||||
--success: #a6b2c7;
|
||||
--success-foreground: #0a0a10;
|
||||
--warning: #d18ba2;
|
||||
--warning-foreground: #0a0a10;
|
||||
--destructive: #ea90a8;
|
||||
--destructive-foreground: #0a0a10;
|
||||
--info: #7c7ca8;
|
||||
--info-foreground: #0a0a10;
|
||||
--busy: #de8ea5;
|
||||
--busy-foreground: #0a0a10;
|
||||
--busy-ink: #de8ea5;
|
||||
--border: #37373f;
|
||||
--input: #37373f;
|
||||
--ring: #d2d7e3;
|
||||
--radius: 0.625rem;
|
||||
--chart-primary: #d2d7e3;
|
||||
--chart-secondary: #9f859f;
|
||||
--status-success: #a6b2c7;
|
||||
--status-warning: #d18ba2;
|
||||
--status-in-progress: #7c7ca8;
|
||||
--page-bg: #0a0a10;
|
||||
--page-bg-src: '';
|
||||
--panel-bg: rgb(19 19 29 / 0.72);
|
||||
--panel-border: rgb(55 55 63 / 0.9);
|
||||
--panel-border-bare: rgb(55 55 63 / 0.55);
|
||||
--panel-raised-bg: rgb(19 19 29 / 0.95);
|
||||
--panel-raised-border: rgb(55 55 63 / 1);
|
||||
--panel-accent: #d2d7e3;
|
||||
--panel-header-bg: rgb(36 36 45 / 0.6);
|
||||
--panel-header-fg: #c8c8c8;
|
||||
--panel-radius: 0.75rem;
|
||||
--panel-blur: 12px;
|
||||
--card-bg: #13131d;
|
||||
--glass-bg: rgb(19 19 29 / 0.55);
|
||||
--glass-border: rgb(55 55 63 / 0.7);
|
||||
--dock-bg: rgb(19 19 29 / 0.7);
|
||||
--dock-border: rgb(55 55 63 / 0.8);
|
||||
--dock-tooltip-bg: #24242d;
|
||||
--header-bg: rgb(19 19 29 / 0.8);
|
||||
--header-border: rgb(55 55 63 / 0.9);
|
||||
--header-fg: #c8c8c8;
|
||||
--header-blur: 12px;
|
||||
--pixel-grid-color: rgb(100 100 106 / 0.07);
|
||||
--card-grid-color: rgb(100 100 106 / 0.05);
|
||||
--panel-grid-color: rgb(100 100 106 / 0.06);
|
||||
--scrollbar-thumb: rgb(67 67 83 / 0.6);
|
||||
--scrollbar-thumb-hover: rgb(67 67 83 / 0.85);
|
||||
--scrollbar-thin-thumb: rgb(67 67 83 / 0.45);
|
||||
--scrollbar-thin-thumb-hover: rgb(67 67 83 / 0.7);
|
||||
--brand: #d2d7e3;
|
||||
--brand-foreground: #0a0a10;
|
||||
--brand-primary: #d2d7e3;
|
||||
--brand-accent: #919ab7;
|
||||
--brand-warm: #de8ea5;
|
||||
--brand-deep: #0a0a10;
|
||||
--brand-muted: #434353;
|
||||
--ink: #c8c8c8;
|
||||
--surface-warm: #13131d;
|
||||
--naturegreen: #a6b2c7;
|
||||
--naturegreen-foreground: #0a0a10;
|
||||
--duck-dark: #c8c8c8;
|
||||
--duck-teal: #919ab7;
|
||||
--duck-yellow: #d18ba2;
|
||||
--duck-orange: #de8ea5;
|
||||
--duck-forest: #a6b2c7;
|
||||
--duck-beige: #25252e;
|
||||
--logo-src: '/officer-logo.svg';
|
||||
}
|
||||
@@ -79,7 +79,7 @@
|
||||
--brand-accent: #6a9589;
|
||||
--brand-warm: #c17158;
|
||||
--brand-deep: #111116;
|
||||
--brand-muted: #54546D;
|
||||
--brand-muted: #54546d;
|
||||
--ink: #dcd7ba;
|
||||
--surface-warm: #1f1f28;
|
||||
--naturegreen: #76946a;
|
||||
|
||||
@@ -0,0 +1,97 @@
|
||||
/*
|
||||
Kanso — 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/HANCORE-linux/omarchy-kanso-theme (colors.toml (16-colour ANSI)), read by scripts/port-community-themes.ts. Values
|
||||
went through deriveOmarchyPalette (scripts/themes/from-ansi.ts) because the source has no Omarchy 4
|
||||
colors.toml — 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='kanso'] {
|
||||
--background: #05080a;
|
||||
--foreground: #c5c9c7;
|
||||
--card: #090e13;
|
||||
--card-foreground: #c5c9c7;
|
||||
--popover: #090e13;
|
||||
--popover-foreground: #c5c9c7;
|
||||
--muted: #1a1f24;
|
||||
--muted-foreground: #8d9191;
|
||||
--accent: #1a1f24;
|
||||
--accent-foreground: #c5c9c7;
|
||||
--primary: #7fb4ca;
|
||||
--primary-foreground: #05080a;
|
||||
--secondary: #1a1f24;
|
||||
--secondary-foreground: #c5c9c7;
|
||||
--cta: #7fb4ca;
|
||||
--cta-foreground: #05080a;
|
||||
--ctahover: #8ebdd0;
|
||||
--success: #8a9a7b;
|
||||
--success-foreground: #05080a;
|
||||
--warning: #c4b28a;
|
||||
--warning-foreground: #05080a;
|
||||
--destructive: #c4746e;
|
||||
--destructive-foreground: #05080a;
|
||||
--info: #8ba4b0;
|
||||
--info-foreground: #05080a;
|
||||
--busy: #c4937c;
|
||||
--busy-foreground: #05080a;
|
||||
--busy-ink: #c4937c;
|
||||
--border: #2e3336;
|
||||
--input: #2e3336;
|
||||
--ring: #7fb4ca;
|
||||
--radius: 0.625rem;
|
||||
--chart-primary: #7fb4ca;
|
||||
--chart-secondary: #a292a3;
|
||||
--status-success: #8a9a7b;
|
||||
--status-warning: #c4b28a;
|
||||
--status-in-progress: #8ba4b0;
|
||||
--page-bg: #05080a;
|
||||
--page-bg-src: '';
|
||||
--panel-bg: rgb(9 14 19 / 0.72);
|
||||
--panel-border: rgb(46 51 54 / 0.9);
|
||||
--panel-border-bare: rgb(46 51 54 / 0.55);
|
||||
--panel-raised-bg: rgb(9 14 19 / 0.95);
|
||||
--panel-raised-border: rgb(46 51 54 / 1);
|
||||
--panel-accent: #7fb4ca;
|
||||
--panel-header-bg: rgb(26 31 36 / 0.6);
|
||||
--panel-header-fg: #c5c9c7;
|
||||
--panel-radius: 0.75rem;
|
||||
--panel-blur: 12px;
|
||||
--card-bg: #090e13;
|
||||
--glass-bg: rgb(9 14 19 / 0.55);
|
||||
--glass-border: rgb(46 51 54 / 0.7);
|
||||
--dock-bg: rgb(9 14 19 / 0.7);
|
||||
--dock-border: rgb(46 51 54 / 0.8);
|
||||
--dock-tooltip-bg: #1a1f24;
|
||||
--header-bg: rgb(9 14 19 / 0.8);
|
||||
--header-border: rgb(46 51 54 / 0.9);
|
||||
--header-fg: #c5c9c7;
|
||||
--header-blur: 12px;
|
||||
--pixel-grid-color: rgb(94 98 100 / 0.07);
|
||||
--card-grid-color: rgb(94 98 100 / 0.05);
|
||||
--panel-grid-color: rgb(94 98 100 / 0.06);
|
||||
--scrollbar-thumb: rgb(57 59 68 / 0.6);
|
||||
--scrollbar-thumb-hover: rgb(57 59 68 / 0.85);
|
||||
--scrollbar-thin-thumb: rgb(57 59 68 / 0.45);
|
||||
--scrollbar-thin-thumb-hover: rgb(57 59 68 / 0.7);
|
||||
--brand: #7fb4ca;
|
||||
--brand-foreground: #05080a;
|
||||
--brand-primary: #7fb4ca;
|
||||
--brand-accent: #8ea4a2;
|
||||
--brand-warm: #c4937c;
|
||||
--brand-deep: #05080a;
|
||||
--brand-muted: #393b44;
|
||||
--ink: #c5c9c7;
|
||||
--surface-warm: #090e13;
|
||||
--naturegreen: #8a9a7b;
|
||||
--naturegreen-foreground: #05080a;
|
||||
--duck-dark: #c5c9c7;
|
||||
--duck-teal: #8ea4a2;
|
||||
--duck-yellow: #c4b28a;
|
||||
--duck-orange: #c4937c;
|
||||
--duck-forest: #8a9a7b;
|
||||
--duck-beige: #1c2125;
|
||||
--logo-src: '/officer-logo.svg';
|
||||
}
|
||||
@@ -0,0 +1,97 @@
|
||||
/*
|
||||
Kimiko — 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/krymzonn/omarchy-kimiko-theme (colors.toml (16-colour ANSI)), read by scripts/port-community-themes.ts. Values
|
||||
went through deriveOmarchyPalette (scripts/themes/from-ansi.ts) because the source has no Omarchy 4
|
||||
colors.toml — 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='kimiko'] {
|
||||
--background: #101212;
|
||||
--foreground: #f8d1aa;
|
||||
--card: #1d2121;
|
||||
--card-foreground: #f8d1aa;
|
||||
--popover: #1d2121;
|
||||
--popover-foreground: #f8d1aa;
|
||||
--muted: #2d3131;
|
||||
--muted-foreground: #b69c81;
|
||||
--accent: #2d3131;
|
||||
--accent-foreground: #f8d1aa;
|
||||
--primary: #d1f8f8;
|
||||
--primary-foreground: #101212;
|
||||
--secondary: #2d3131;
|
||||
--secondary-foreground: #f8d1aa;
|
||||
--cta: #d1f8f8;
|
||||
--cta-foreground: #101212;
|
||||
--ctahover: #d7f9f9;
|
||||
--success: #5df85d;
|
||||
--success-foreground: #101212;
|
||||
--warning: #bad094;
|
||||
--warning-foreground: #101212;
|
||||
--destructive: #f8015d;
|
||||
--destructive-foreground: #101212;
|
||||
--info: #5f87af;
|
||||
--info-foreground: #101212;
|
||||
--busy: #d96979;
|
||||
--busy-foreground: #101212;
|
||||
--busy-ink: #d96979;
|
||||
--border: #48433c;
|
||||
--input: #48433c;
|
||||
--ring: #d1f8f8;
|
||||
--radius: 0.625rem;
|
||||
--chart-primary: #d1f8f8;
|
||||
--chart-secondary: #aa83f8;
|
||||
--status-success: #5df85d;
|
||||
--status-warning: #bad094;
|
||||
--status-in-progress: #5f87af;
|
||||
--page-bg: #101212;
|
||||
--page-bg-src: '';
|
||||
--panel-bg: rgb(29 33 33 / 0.72);
|
||||
--panel-border: rgb(72 67 60 / 0.9);
|
||||
--panel-border-bare: rgb(72 67 60 / 0.55);
|
||||
--panel-raised-bg: rgb(29 33 33 / 0.95);
|
||||
--panel-raised-border: rgb(72 67 60 / 1);
|
||||
--panel-accent: #d1f8f8;
|
||||
--panel-header-bg: rgb(45 49 49 / 0.6);
|
||||
--panel-header-fg: #f8d1aa;
|
||||
--panel-radius: 0.75rem;
|
||||
--panel-blur: 12px;
|
||||
--card-bg: #1d2121;
|
||||
--glass-bg: rgb(29 33 33 / 0.55);
|
||||
--glass-border: rgb(72 67 60 / 0.7);
|
||||
--dock-bg: rgb(29 33 33 / 0.7);
|
||||
--dock-border: rgb(72 67 60 / 0.8);
|
||||
--dock-tooltip-bg: #2d3131;
|
||||
--header-bg: rgb(29 33 33 / 0.8);
|
||||
--header-border: rgb(72 67 60 / 0.9);
|
||||
--header-fg: #f8d1aa;
|
||||
--header-blur: 12px;
|
||||
--pixel-grid-color: rgb(128 112 95 / 0.07);
|
||||
--card-grid-color: rgb(128 112 95 / 0.05);
|
||||
--panel-grid-color: rgb(128 112 95 / 0.06);
|
||||
--scrollbar-thumb: rgb(78 78 82 / 0.6);
|
||||
--scrollbar-thumb-hover: rgb(78 78 82 / 0.85);
|
||||
--scrollbar-thin-thumb: rgb(78 78 82 / 0.45);
|
||||
--scrollbar-thin-thumb-hover: rgb(78 78 82 / 0.7);
|
||||
--brand: #d1f8f8;
|
||||
--brand-foreground: #101212;
|
||||
--brand-primary: #d1f8f8;
|
||||
--brand-accent: #aad1d1;
|
||||
--brand-warm: #d96979;
|
||||
--brand-deep: #101212;
|
||||
--brand-muted: #4e4e52;
|
||||
--ink: #f8d1aa;
|
||||
--surface-warm: #1d2121;
|
||||
--naturegreen: #5df85d;
|
||||
--naturegreen-foreground: #101212;
|
||||
--duck-dark: #f8d1aa;
|
||||
--duck-teal: #aad1d1;
|
||||
--duck-yellow: #bad094;
|
||||
--duck-orange: #d96979;
|
||||
--duck-forest: #5df85d;
|
||||
--duck-beige: #33332f;
|
||||
--logo-src: '/officer-logo.svg';
|
||||
}
|
||||
@@ -0,0 +1,97 @@
|
||||
/*
|
||||
Koyanagi — ported from a community Omarchy theme, not from basecamp/omarchy's own set.
|
||||
|
||||
Dark theme (dark) — the source repo's own colors.toml says so directly.
|
||||
|
||||
Source: https://github.com/YutaKoyanagi10/omarchy-koyanagi-theme (colors.toml (Omarchy schema)), read by scripts/port-community-themes.ts. Values
|
||||
came straight from the repo's own colors.toml — the same schema and reader the official 22 themes
|
||||
use, so nothing here is reconstructed. 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='koyanagi'] {
|
||||
--background: #111113;
|
||||
--foreground: #f2f2f2;
|
||||
--card: #1c1c1e;
|
||||
--card-foreground: #f2f2f2;
|
||||
--popover: #1c1c1e;
|
||||
--popover-foreground: #f2f2f2;
|
||||
--muted: #2c2c2e;
|
||||
--muted-foreground: #cccccc;
|
||||
--accent: #2c2c2e;
|
||||
--accent-foreground: #f2f2f2;
|
||||
--primary: #ffdd80;
|
||||
--primary-foreground: #111113;
|
||||
--secondary: #2c2c2e;
|
||||
--secondary-foreground: #f2f2f2;
|
||||
--cta: #ffdd80;
|
||||
--cta-foreground: #111113;
|
||||
--ctahover: #ffe18f;
|
||||
--success: #f2f2f2;
|
||||
--success-foreground: #111113;
|
||||
--warning: #ffdd80;
|
||||
--warning-foreground: #111113;
|
||||
--destructive: #f2f2f2;
|
||||
--destructive-foreground: #111113;
|
||||
--info: #7a7a7a;
|
||||
--info-foreground: #0d0d0f;
|
||||
--busy: #ffe9b3;
|
||||
--busy-foreground: #111113;
|
||||
--busy-ink: #ffe9b3;
|
||||
--border: #4d4d4f;
|
||||
--input: #4d4d4f;
|
||||
--ring: #ffdd80;
|
||||
--radius: 0.625rem;
|
||||
--chart-primary: #ffdd80;
|
||||
--chart-secondary: #8a8a8a;
|
||||
--status-success: #f2f2f2;
|
||||
--status-warning: #ffdd80;
|
||||
--status-in-progress: #7a7a7a;
|
||||
--page-bg: #111113;
|
||||
--page-bg-src: '';
|
||||
--panel-bg: rgb(28 28 30 / 0.72);
|
||||
--panel-border: rgb(77 77 79 / 0.9);
|
||||
--panel-border-bare: rgb(77 77 79 / 0.55);
|
||||
--panel-raised-bg: rgb(28 28 30 / 0.95);
|
||||
--panel-raised-border: rgb(77 77 79 / 1);
|
||||
--panel-accent: #ffdd80;
|
||||
--panel-header-bg: rgb(44 44 46 / 0.6);
|
||||
--panel-header-fg: #f2f2f2;
|
||||
--panel-radius: 0.75rem;
|
||||
--panel-blur: 12px;
|
||||
--card-bg: #1c1c1e;
|
||||
--glass-bg: rgb(28 28 30 / 0.55);
|
||||
--glass-border: rgb(77 77 79 / 0.7);
|
||||
--dock-bg: rgb(28 28 30 / 0.7);
|
||||
--dock-border: rgb(77 77 79 / 0.8);
|
||||
--dock-tooltip-bg: #2c2c2e;
|
||||
--header-bg: rgb(28 28 30 / 0.8);
|
||||
--header-border: rgb(77 77 79 / 0.9);
|
||||
--header-fg: #f2f2f2;
|
||||
--header-blur: 12px;
|
||||
--pixel-grid-color: rgb(106 106 106 / 0.07);
|
||||
--card-grid-color: rgb(106 106 106 / 0.05);
|
||||
--panel-grid-color: rgb(106 106 106 / 0.06);
|
||||
--scrollbar-thumb: rgb(106 106 106 / 0.6);
|
||||
--scrollbar-thumb-hover: rgb(106 106 106 / 0.85);
|
||||
--scrollbar-thin-thumb: rgb(106 106 106 / 0.45);
|
||||
--scrollbar-thin-thumb-hover: rgb(106 106 106 / 0.7);
|
||||
--brand: #ffdd80;
|
||||
--brand-foreground: #111113;
|
||||
--brand-primary: #ffdd80;
|
||||
--brand-accent: #f2f2f2;
|
||||
--brand-warm: #ffe9b3;
|
||||
--brand-deep: #111113;
|
||||
--brand-muted: #6a6a6a;
|
||||
--ink: #f2f2f2;
|
||||
--surface-warm: #1c1c1e;
|
||||
--naturegreen: #f2f2f2;
|
||||
--naturegreen-foreground: #111113;
|
||||
--duck-dark: #f2f2f2;
|
||||
--duck-teal: #f2f2f2;
|
||||
--duck-yellow: #ffdd80;
|
||||
--duck-orange: #ffe9b3;
|
||||
--duck-forest: #f2f2f2;
|
||||
--duck-beige: #313133;
|
||||
--logo-src: '/officer-logo.svg';
|
||||
}
|
||||
@@ -8,31 +8,31 @@
|
||||
*/
|
||||
[data-theme='last-horizon'] {
|
||||
--background: #060606;
|
||||
--foreground: #FAFCFB;
|
||||
--foreground: #fafcfb;
|
||||
--card: #0c0b0c;
|
||||
--card-foreground: #FAFCFB;
|
||||
--card-foreground: #fafcfb;
|
||||
--popover: #0c0b0c;
|
||||
--popover-foreground: #FAFCFB;
|
||||
--popover-foreground: #fafcfb;
|
||||
--muted: #0c0b0c;
|
||||
--muted-foreground: #cfd3cd;
|
||||
--accent: #0c0b0c;
|
||||
--accent-foreground: #FAFCFB;
|
||||
--accent-foreground: #fafcfb;
|
||||
--primary: #b59790;
|
||||
--primary-foreground: #060606;
|
||||
--secondary: #0c0b0c;
|
||||
--secondary-foreground: #FAFCFB;
|
||||
--secondary-foreground: #fafcfb;
|
||||
--cta: #b59790;
|
||||
--cta-foreground: #060606;
|
||||
--ctahover: #bea39d;
|
||||
--success: #87a9b0;
|
||||
--success-foreground: #060606;
|
||||
--warning: #6B5E73;
|
||||
--warning: #6b5e73;
|
||||
--warning-foreground: #e3dedd;
|
||||
--destructive: #c38b7b;
|
||||
--destructive-foreground: #060606;
|
||||
--info: #b59790;
|
||||
--info-foreground: #060606;
|
||||
--busy: #6B5E73;
|
||||
--busy: #6b5e73;
|
||||
--busy-foreground: #e3dedd;
|
||||
--busy-ink: #817688;
|
||||
--border: #434342;
|
||||
@@ -42,7 +42,7 @@
|
||||
--chart-primary: #b59790;
|
||||
--chart-secondary: #c4d8e2;
|
||||
--status-success: #87a9b0;
|
||||
--status-warning: #6B5E73;
|
||||
--status-warning: #6b5e73;
|
||||
--status-in-progress: #b59790;
|
||||
--page-bg: #060606;
|
||||
--page-bg-src: '';
|
||||
@@ -53,7 +53,7 @@
|
||||
--panel-raised-border: rgb(67 67 66 / 1);
|
||||
--panel-accent: #b59790;
|
||||
--panel-header-bg: rgb(12 11 12 / 0.6);
|
||||
--panel-header-fg: #FAFCFB;
|
||||
--panel-header-fg: #fafcfb;
|
||||
--panel-radius: 0.75rem;
|
||||
--panel-blur: 12px;
|
||||
--card-bg: #0c0b0c;
|
||||
@@ -64,7 +64,7 @@
|
||||
--dock-tooltip-bg: #0c0b0c;
|
||||
--header-bg: rgb(12 11 12 / 0.8);
|
||||
--header-border: rgb(67 67 66 / 0.9);
|
||||
--header-fg: #FAFCFB;
|
||||
--header-fg: #fafcfb;
|
||||
--header-blur: 12px;
|
||||
--pixel-grid-color: rgb(101 91 94 / 0.07);
|
||||
--card-grid-color: rgb(101 91 94 / 0.05);
|
||||
@@ -77,17 +77,17 @@
|
||||
--brand-foreground: #060606;
|
||||
--brand-primary: #b59790;
|
||||
--brand-accent: #a5a0b6;
|
||||
--brand-warm: #6B5E73;
|
||||
--brand-warm: #6b5e73;
|
||||
--brand-deep: #060606;
|
||||
--brand-muted: #584e51;
|
||||
--ink: #FAFCFB;
|
||||
--ink: #fafcfb;
|
||||
--surface-warm: #0c0b0c;
|
||||
--naturegreen: #87a9b0;
|
||||
--naturegreen-foreground: #060606;
|
||||
--duck-dark: #FAFCFB;
|
||||
--duck-dark: #fafcfb;
|
||||
--duck-teal: #a5a0b6;
|
||||
--duck-yellow: #6B5E73;
|
||||
--duck-orange: #6B5E73;
|
||||
--duck-yellow: #6b5e73;
|
||||
--duck-orange: #6b5e73;
|
||||
--duck-forest: #87a9b0;
|
||||
--duck-beige: #242324;
|
||||
--logo-src: '/officer-logo.svg';
|
||||
|
||||
@@ -24,11 +24,11 @@
|
||||
--cta: #e68e0d;
|
||||
--cta-foreground: #090909;
|
||||
--ctahover: #e99c2a;
|
||||
--success: #FFC107;
|
||||
--success: #ffc107;
|
||||
--success-foreground: #090909;
|
||||
--warning: #b91c1c;
|
||||
--warning-foreground: #d8d8d8;
|
||||
--destructive: #D35F5F;
|
||||
--destructive: #d35f5f;
|
||||
--destructive-foreground: #090909;
|
||||
--info: #e68e0d;
|
||||
--info-foreground: #090909;
|
||||
@@ -40,8 +40,8 @@
|
||||
--ring: #e68e0d;
|
||||
--radius: 0.625rem;
|
||||
--chart-primary: #e68e0d;
|
||||
--chart-secondary: #D35F5F;
|
||||
--status-success: #FFC107;
|
||||
--chart-secondary: #d35f5f;
|
||||
--status-success: #ffc107;
|
||||
--status-warning: #b91c1c;
|
||||
--status-in-progress: #e68e0d;
|
||||
--page-bg: #090909;
|
||||
@@ -82,13 +82,13 @@
|
||||
--brand-muted: #333333;
|
||||
--ink: #bebebe;
|
||||
--surface-warm: #121212;
|
||||
--naturegreen: #FFC107;
|
||||
--naturegreen: #ffc107;
|
||||
--naturegreen-foreground: #090909;
|
||||
--duck-dark: #bebebe;
|
||||
--duck-teal: #bebebe;
|
||||
--duck-yellow: #b91c1c;
|
||||
--duck-orange: #c63d3d;
|
||||
--duck-forest: #FFC107;
|
||||
--duck-forest: #ffc107;
|
||||
--duck-beige: #232323;
|
||||
--logo-src: '/officer-logo.svg';
|
||||
}
|
||||
|
||||
@@ -0,0 +1,97 @@
|
||||
/*
|
||||
Monolith 2 — 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/grvsnh/omarchy-monolith-theme (colors.toml (16-colour ANSI)), read by scripts/port-community-themes.ts. Values
|
||||
went through deriveOmarchyPalette (scripts/themes/from-ansi.ts) because the source has no Omarchy 4
|
||||
colors.toml — 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='monolith-2'] {
|
||||
--background: #151718;
|
||||
--foreground: #eaeaea;
|
||||
--card: #262a2c;
|
||||
--card-foreground: #eaeaea;
|
||||
--popover: #262a2c;
|
||||
--popover-foreground: #eaeaea;
|
||||
--muted: #35393b;
|
||||
--muted-foreground: #afb0b1;
|
||||
--accent: #35393b;
|
||||
--accent-foreground: #eaeaea;
|
||||
--primary: #f5f5f5;
|
||||
--primary-foreground: #151718;
|
||||
--secondary: #35393b;
|
||||
--secondary-foreground: #eaeaea;
|
||||
--cta: #f5f5f5;
|
||||
--cta-foreground: #151718;
|
||||
--ctahover: #f6f6f6;
|
||||
--success: #bebebe;
|
||||
--success-foreground: #151718;
|
||||
--warning: #e0e0e0;
|
||||
--warning-foreground: #151718;
|
||||
--destructive: #6b6c6d;
|
||||
--destructive-foreground: #eeeeee;
|
||||
--info: #cfcfcf;
|
||||
--info-foreground: #151718;
|
||||
--busy: #a6a6a7;
|
||||
--busy-foreground: #151718;
|
||||
--busy-ink: #a6a6a7;
|
||||
--border: #4c5051;
|
||||
--input: #4c5051;
|
||||
--ring: #f5f5f5;
|
||||
--radius: 0.625rem;
|
||||
--chart-primary: #f5f5f5;
|
||||
--chart-secondary: #d6d6d6;
|
||||
--status-success: #bebebe;
|
||||
--status-warning: #e0e0e0;
|
||||
--status-in-progress: #cfcfcf;
|
||||
--page-bg: #151718;
|
||||
--page-bg-src: '';
|
||||
--panel-bg: rgb(38 42 44 / 0.72);
|
||||
--panel-border: rgb(76 80 81 / 0.9);
|
||||
--panel-border-bare: rgb(76 80 81 / 0.55);
|
||||
--panel-raised-bg: rgb(38 42 44 / 0.95);
|
||||
--panel-raised-border: rgb(76 80 81 / 1);
|
||||
--panel-accent: #f5f5f5;
|
||||
--panel-header-bg: rgb(53 57 59 / 0.6);
|
||||
--panel-header-fg: #eaeaea;
|
||||
--panel-radius: 0.75rem;
|
||||
--panel-blur: 12px;
|
||||
--card-bg: #262a2c;
|
||||
--glass-bg: rgb(38 42 44 / 0.55);
|
||||
--glass-border: rgb(76 80 81 / 0.7);
|
||||
--dock-bg: rgb(38 42 44 / 0.7);
|
||||
--dock-border: rgb(76 80 81 / 0.8);
|
||||
--dock-tooltip-bg: #35393b;
|
||||
--header-bg: rgb(38 42 44 / 0.8);
|
||||
--header-border: rgb(76 80 81 / 0.9);
|
||||
--header-fg: #eaeaea;
|
||||
--header-blur: 12px;
|
||||
--pixel-grid-color: rgb(126 128 130 / 0.07);
|
||||
--card-grid-color: rgb(126 128 130 / 0.05);
|
||||
--panel-grid-color: rgb(126 128 130 / 0.06);
|
||||
--scrollbar-thumb: rgb(116 119 120 / 0.6);
|
||||
--scrollbar-thumb-hover: rgb(116 119 120 / 0.85);
|
||||
--scrollbar-thin-thumb: rgb(116 119 120 / 0.45);
|
||||
--scrollbar-thin-thumb-hover: rgb(116 119 120 / 0.7);
|
||||
--brand: #f5f5f5;
|
||||
--brand-foreground: #151718;
|
||||
--brand-primary: #f5f5f5;
|
||||
--brand-accent: #e0e0e0;
|
||||
--brand-warm: #a6a6a7;
|
||||
--brand-deep: #151718;
|
||||
--brand-muted: #747778;
|
||||
--ink: #eaeaea;
|
||||
--surface-warm: #262a2c;
|
||||
--naturegreen: #bebebe;
|
||||
--naturegreen-foreground: #151718;
|
||||
--duck-dark: #eaeaea;
|
||||
--duck-teal: #e0e0e0;
|
||||
--duck-yellow: #e0e0e0;
|
||||
--duck-orange: #a6a6a7;
|
||||
--duck-forest: #bebebe;
|
||||
--duck-beige: #3a3d3f;
|
||||
--logo-src: '/officer-logo.svg';
|
||||
}
|
||||
@@ -0,0 +1,97 @@
|
||||
/*
|
||||
Moodpeak — 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/HANCORE-linux/omarchy-moodpeak-theme (colors.toml (16-colour ANSI)), read by scripts/port-community-themes.ts. Values
|
||||
went through deriveOmarchyPalette (scripts/themes/from-ansi.ts) because the source has no Omarchy 4
|
||||
colors.toml — 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='moodpeak'] {
|
||||
--background: #0d0f13;
|
||||
--foreground: #e0e6ed;
|
||||
--card: #181c22;
|
||||
--card-foreground: #e0e6ed;
|
||||
--popover: #181c22;
|
||||
--popover-foreground: #e0e6ed;
|
||||
--muted: #282c31;
|
||||
--muted-foreground: #a4a9b0;
|
||||
--accent: #282c31;
|
||||
--accent-foreground: #e0e6ed;
|
||||
--primary: #a5f5ff;
|
||||
--primary-foreground: #0d0f13;
|
||||
--secondary: #282c31;
|
||||
--secondary-foreground: #e0e6ed;
|
||||
--cta: #a5f5ff;
|
||||
--cta-foreground: #0d0f13;
|
||||
--ctahover: #b0f6ff;
|
||||
--success: #4ecdc4;
|
||||
--success-foreground: #0d0f13;
|
||||
--warning: #82eeff;
|
||||
--warning-foreground: #0d0f13;
|
||||
--destructive: #ff7b92;
|
||||
--destructive-foreground: #0d0f13;
|
||||
--info: #6a85ff;
|
||||
--info-foreground: #0d0f13;
|
||||
--busy: #c1b5c9;
|
||||
--busy-foreground: #0d0f13;
|
||||
--busy-ink: #c1b5c9;
|
||||
--border: #3f434a;
|
||||
--input: #3f434a;
|
||||
--ring: #a5f5ff;
|
||||
--radius: 0.625rem;
|
||||
--chart-primary: #a5f5ff;
|
||||
--chart-secondary: #b388eb;
|
||||
--status-success: #4ecdc4;
|
||||
--status-warning: #82eeff;
|
||||
--status-in-progress: #6a85ff;
|
||||
--page-bg: #0d0f13;
|
||||
--page-bg-src: '';
|
||||
--panel-bg: rgb(24 28 34 / 0.72);
|
||||
--panel-border: rgb(63 67 74 / 0.9);
|
||||
--panel-border-bare: rgb(63 67 74 / 0.55);
|
||||
--panel-raised-bg: rgb(24 28 34 / 0.95);
|
||||
--panel-raised-border: rgb(63 67 74 / 1);
|
||||
--panel-accent: #a5f5ff;
|
||||
--panel-header-bg: rgb(40 44 49 / 0.6);
|
||||
--panel-header-fg: #e0e6ed;
|
||||
--panel-radius: 0.75rem;
|
||||
--panel-blur: 12px;
|
||||
--card-bg: #181c22;
|
||||
--glass-bg: rgb(24 28 34 / 0.55);
|
||||
--glass-border: rgb(63 67 74 / 0.7);
|
||||
--dock-bg: rgb(24 28 34 / 0.7);
|
||||
--dock-border: rgb(63 67 74 / 0.8);
|
||||
--dock-tooltip-bg: #282c31;
|
||||
--header-bg: rgb(24 28 34 / 0.8);
|
||||
--header-border: rgb(63 67 74 / 0.9);
|
||||
--header-fg: #e0e6ed;
|
||||
--header-blur: 12px;
|
||||
--pixel-grid-color: rgb(114 119 125 / 0.07);
|
||||
--card-grid-color: rgb(114 119 125 / 0.05);
|
||||
--panel-grid-color: rgb(114 119 125 / 0.06);
|
||||
--scrollbar-thumb: rgb(61 68 85 / 0.6);
|
||||
--scrollbar-thumb-hover: rgb(61 68 85 / 0.85);
|
||||
--scrollbar-thin-thumb: rgb(61 68 85 / 0.45);
|
||||
--scrollbar-thin-thumb-hover: rgb(61 68 85 / 0.7);
|
||||
--brand: #a5f5ff;
|
||||
--brand-foreground: #0d0f13;
|
||||
--brand-primary: #a5f5ff;
|
||||
--brand-accent: #c9aff0;
|
||||
--brand-warm: #c1b5c9;
|
||||
--brand-deep: #0d0f13;
|
||||
--brand-muted: #3d4455;
|
||||
--ink: #e0e6ed;
|
||||
--surface-warm: #181c22;
|
||||
--naturegreen: #4ecdc4;
|
||||
--naturegreen-foreground: #0d0f13;
|
||||
--duck-dark: #e0e6ed;
|
||||
--duck-teal: #c9aff0;
|
||||
--duck-yellow: #82eeff;
|
||||
--duck-orange: #c1b5c9;
|
||||
--duck-forest: #4ecdc4;
|
||||
--duck-beige: #2c3036;
|
||||
--logo-src: '/officer-logo.svg';
|
||||
}
|
||||
@@ -0,0 +1,97 @@
|
||||
/*
|
||||
Nes — 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/bjarneo/omarchy-nes-theme (colors.toml (16-colour ANSI)), read by scripts/port-community-themes.ts. Values
|
||||
went through deriveOmarchyPalette (scripts/themes/from-ansi.ts) because the source has no Omarchy 4
|
||||
colors.toml — 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='nes'] {
|
||||
--background: #090909;
|
||||
--foreground: #cecfc9;
|
||||
--card: #101010;
|
||||
--card-foreground: #cecfc9;
|
||||
--popover: #101010;
|
||||
--popover-foreground: #cecfc9;
|
||||
--muted: #212121;
|
||||
--muted-foreground: #959692;
|
||||
--accent: #212121;
|
||||
--accent-foreground: #cecfc9;
|
||||
--primary: #cecfc9;
|
||||
--primary-foreground: #090909;
|
||||
--secondary: #212121;
|
||||
--secondary-foreground: #cecfc9;
|
||||
--cta: #cecfc9;
|
||||
--cta-foreground: #090909;
|
||||
--ctahover: #d4d5cf;
|
||||
--success: #9a9d9a;
|
||||
--success-foreground: #090909;
|
||||
--warning: #9a9d9a;
|
||||
--warning-foreground: #090909;
|
||||
--destructive: #d93f37;
|
||||
--destructive-foreground: #070707;
|
||||
--info: #9a9d9a;
|
||||
--info-foreground: #090909;
|
||||
--busy: #ba6e69;
|
||||
--busy-foreground: #090909;
|
||||
--busy-ink: #ba6e69;
|
||||
--border: #353634;
|
||||
--input: #353634;
|
||||
--ring: #cecfc9;
|
||||
--radius: 0.625rem;
|
||||
--chart-primary: #cecfc9;
|
||||
--chart-secondary: #d93f37;
|
||||
--status-success: #9a9d9a;
|
||||
--status-warning: #9a9d9a;
|
||||
--status-in-progress: #9a9d9a;
|
||||
--page-bg: #090909;
|
||||
--page-bg-src: '';
|
||||
--panel-bg: rgb(16 16 16 / 0.72);
|
||||
--panel-border: rgb(53 54 52 / 0.9);
|
||||
--panel-border-bare: rgb(53 54 52 / 0.55);
|
||||
--panel-raised-bg: rgb(16 16 16 / 0.95);
|
||||
--panel-raised-border: rgb(53 54 52 / 1);
|
||||
--panel-accent: #cecfc9;
|
||||
--panel-header-bg: rgb(33 33 33 / 0.6);
|
||||
--panel-header-fg: #cecfc9;
|
||||
--panel-radius: 0.75rem;
|
||||
--panel-blur: 12px;
|
||||
--card-bg: #101010;
|
||||
--glass-bg: rgb(16 16 16 / 0.55);
|
||||
--glass-border: rgb(53 54 52 / 0.7);
|
||||
--dock-bg: rgb(16 16 16 / 0.7);
|
||||
--dock-border: rgb(53 54 52 / 0.8);
|
||||
--dock-tooltip-bg: #212121;
|
||||
--header-bg: rgb(16 16 16 / 0.8);
|
||||
--header-border: rgb(53 54 52 / 0.9);
|
||||
--header-fg: #cecfc9;
|
||||
--header-blur: 12px;
|
||||
--pixel-grid-color: rgb(101 102 99 / 0.07);
|
||||
--card-grid-color: rgb(101 102 99 / 0.05);
|
||||
--panel-grid-color: rgb(101 102 99 / 0.06);
|
||||
--scrollbar-thumb: rgb(154 157 154 / 0.6);
|
||||
--scrollbar-thumb-hover: rgb(154 157 154 / 0.85);
|
||||
--scrollbar-thin-thumb: rgb(154 157 154 / 0.45);
|
||||
--scrollbar-thin-thumb-hover: rgb(154 157 154 / 0.7);
|
||||
--brand: #cecfc9;
|
||||
--brand-foreground: #090909;
|
||||
--brand-primary: #cecfc9;
|
||||
--brand-accent: #9a9d9a;
|
||||
--brand-warm: #ba6e69;
|
||||
--brand-deep: #090909;
|
||||
--brand-muted: #9a9d9a;
|
||||
--ink: #cecfc9;
|
||||
--surface-warm: #101010;
|
||||
--naturegreen: #9a9d9a;
|
||||
--naturegreen-foreground: #090909;
|
||||
--duck-dark: #cecfc9;
|
||||
--duck-teal: #9a9d9a;
|
||||
--duck-yellow: #9a9d9a;
|
||||
--duck-orange: #ba6e69;
|
||||
--duck-forest: #9a9d9a;
|
||||
--duck-beige: #232323;
|
||||
--logo-src: '/officer-logo.svg';
|
||||
}
|
||||
@@ -0,0 +1,97 @@
|
||||
/*
|
||||
One Dark Pro — ported from a community Omarchy theme, not from basecamp/omarchy's own set.
|
||||
|
||||
Dark theme (dark) — the source repo's own colors.toml says so directly.
|
||||
|
||||
Source: https://github.com/sc0ttman/omarchy-one-dark-pro (colors.toml (Omarchy schema)), read by scripts/port-community-themes.ts. Values
|
||||
came straight from the repo's own colors.toml — the same schema and reader the official 22 themes
|
||||
use, so nothing here is reconstructed. 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='one-dark-pro'] {
|
||||
--background: #181a1f;
|
||||
--foreground: #abb2bf;
|
||||
--card: #282c34;
|
||||
--card-foreground: #abb2bf;
|
||||
--popover: #282c34;
|
||||
--popover-foreground: #abb2bf;
|
||||
--muted: #3e4451;
|
||||
--muted-foreground: #acb2bb;
|
||||
--accent: #3e4451;
|
||||
--accent-foreground: #abb2bf;
|
||||
--primary: #61afef;
|
||||
--primary-foreground: #181a1f;
|
||||
--secondary: #3e4451;
|
||||
--secondary-foreground: #abb2bf;
|
||||
--cta: #61afef;
|
||||
--cta-foreground: #181a1f;
|
||||
--ctahover: #74b9f1;
|
||||
--success: #98c379;
|
||||
--success-foreground: #181a1f;
|
||||
--warning: #e5c07b;
|
||||
--warning-foreground: #181a1f;
|
||||
--destructive: #e06c75;
|
||||
--destructive-foreground: #181a1f;
|
||||
--info: #61afef;
|
||||
--info-foreground: #181a1f;
|
||||
--busy: #d19a66;
|
||||
--busy-foreground: #181a1f;
|
||||
--busy-ink: #d19a66;
|
||||
--border: #484d56;
|
||||
--input: #484d56;
|
||||
--ring: #61afef;
|
||||
--radius: 0.625rem;
|
||||
--chart-primary: #61afef;
|
||||
--chart-secondary: #c678dd;
|
||||
--status-success: #98c379;
|
||||
--status-warning: #e5c07b;
|
||||
--status-in-progress: #61afef;
|
||||
--page-bg: #181a1f;
|
||||
--page-bg-src: '';
|
||||
--panel-bg: rgb(40 44 52 / 0.72);
|
||||
--panel-border: rgb(72 77 86 / 0.9);
|
||||
--panel-border-bare: rgb(72 77 86 / 0.55);
|
||||
--panel-raised-bg: rgb(40 44 52 / 0.95);
|
||||
--panel-raised-border: rgb(72 77 86 / 1);
|
||||
--panel-accent: #61afef;
|
||||
--panel-header-bg: rgb(62 68 81 / 0.6);
|
||||
--panel-header-fg: #abb2bf;
|
||||
--panel-radius: 0.75rem;
|
||||
--panel-blur: 12px;
|
||||
--card-bg: #282c34;
|
||||
--glass-bg: rgb(40 44 52 / 0.55);
|
||||
--glass-border: rgb(72 77 86 / 0.7);
|
||||
--dock-bg: rgb(40 44 52 / 0.7);
|
||||
--dock-border: rgb(72 77 86 / 0.8);
|
||||
--dock-tooltip-bg: #3e4451;
|
||||
--header-bg: rgb(40 44 52 / 0.8);
|
||||
--header-border: rgb(72 77 86 / 0.9);
|
||||
--header-fg: #abb2bf;
|
||||
--header-blur: 12px;
|
||||
--pixel-grid-color: rgb(112 119 130 / 0.07);
|
||||
--card-grid-color: rgb(112 119 130 / 0.05);
|
||||
--panel-grid-color: rgb(112 119 130 / 0.06);
|
||||
--scrollbar-thumb: rgb(92 99 112 / 0.6);
|
||||
--scrollbar-thumb-hover: rgb(92 99 112 / 0.85);
|
||||
--scrollbar-thin-thumb: rgb(92 99 112 / 0.45);
|
||||
--scrollbar-thin-thumb-hover: rgb(92 99 112 / 0.7);
|
||||
--brand: #61afef;
|
||||
--brand-foreground: #181a1f;
|
||||
--brand-primary: #61afef;
|
||||
--brand-accent: #56b6c2;
|
||||
--brand-warm: #d19a66;
|
||||
--brand-deep: #181a1f;
|
||||
--brand-muted: #5c6370;
|
||||
--ink: #abb2bf;
|
||||
--surface-warm: #282c34;
|
||||
--naturegreen: #98c379;
|
||||
--naturegreen-foreground: #181a1f;
|
||||
--duck-dark: #abb2bf;
|
||||
--duck-teal: #56b6c2;
|
||||
--duck-yellow: #e5c07b;
|
||||
--duck-orange: #d19a66;
|
||||
--duck-forest: #98c379;
|
||||
--duck-beige: #353942;
|
||||
--logo-src: '/officer-logo.svg';
|
||||
}
|
||||
@@ -8,19 +8,19 @@
|
||||
*/
|
||||
[data-theme='osaka-jade'] {
|
||||
--background: #090f0d;
|
||||
--foreground: #C1C497;
|
||||
--foreground: #c1c497;
|
||||
--card: #111c18;
|
||||
--card-foreground: #C1C497;
|
||||
--card-foreground: #c1c497;
|
||||
--popover: #111c18;
|
||||
--popover-foreground: #C1C497;
|
||||
--muted: #23372B;
|
||||
--muted-foreground: #D6D5BC;
|
||||
--accent: #23372B;
|
||||
--accent-foreground: #C1C497;
|
||||
--popover-foreground: #c1c497;
|
||||
--muted: #23372b;
|
||||
--muted-foreground: #d6d5bc;
|
||||
--accent: #23372b;
|
||||
--accent-foreground: #c1c497;
|
||||
--primary: #509475;
|
||||
--primary-foreground: #090f0d;
|
||||
--secondary: #23372B;
|
||||
--secondary-foreground: #C1C497;
|
||||
--secondary: #23372b;
|
||||
--secondary-foreground: #c1c497;
|
||||
--cta: #509475;
|
||||
--cta-foreground: #090f0d;
|
||||
--ctahover: #65a186;
|
||||
@@ -28,7 +28,7 @@
|
||||
--success-foreground: #090f0d;
|
||||
--warning: #459451;
|
||||
--warning-foreground: #090f0d;
|
||||
--destructive: #FF5345;
|
||||
--destructive: #ff5345;
|
||||
--destructive-foreground: #090f0d;
|
||||
--info: #509475;
|
||||
--info-foreground: #090f0d;
|
||||
@@ -40,7 +40,7 @@
|
||||
--ring: #509475;
|
||||
--radius: 0.625rem;
|
||||
--chart-primary: #509475;
|
||||
--chart-secondary: #D2689C;
|
||||
--chart-secondary: #d2689c;
|
||||
--status-success: #549e6a;
|
||||
--status-warning: #459451;
|
||||
--status-in-progress: #509475;
|
||||
@@ -53,7 +53,7 @@
|
||||
--panel-raised-border: rgb(72 80 70 / 1);
|
||||
--panel-accent: #509475;
|
||||
--panel-header-bg: rgb(35 55 43 / 0.6);
|
||||
--panel-header-fg: #C1C497;
|
||||
--panel-header-fg: #c1c497;
|
||||
--panel-radius: 0.75rem;
|
||||
--panel-blur: 12px;
|
||||
--card-bg: #111c18;
|
||||
@@ -61,10 +61,10 @@
|
||||
--glass-border: rgb(72 80 70 / 0.7);
|
||||
--dock-bg: rgb(17 28 24 / 0.7);
|
||||
--dock-border: rgb(72 80 70 / 0.8);
|
||||
--dock-tooltip-bg: #23372B;
|
||||
--dock-tooltip-bg: #23372b;
|
||||
--header-bg: rgb(17 28 24 / 0.8);
|
||||
--header-border: rgb(72 80 70 / 0.9);
|
||||
--header-fg: #C1C497;
|
||||
--header-fg: #c1c497;
|
||||
--header-blur: 12px;
|
||||
--pixel-grid-color: rgb(129 184 168 / 0.07);
|
||||
--card-grid-color: rgb(129 184 168 / 0.05);
|
||||
@@ -76,16 +76,16 @@
|
||||
--brand: #509475;
|
||||
--brand-foreground: #090f0d;
|
||||
--brand-primary: #509475;
|
||||
--brand-accent: #2DD5B7;
|
||||
--brand-accent: #2dd5b7;
|
||||
--brand-warm: #a2734b;
|
||||
--brand-deep: #090f0d;
|
||||
--brand-muted: #53685B;
|
||||
--ink: #C1C497;
|
||||
--brand-muted: #53685b;
|
||||
--ink: #c1c497;
|
||||
--surface-warm: #111c18;
|
||||
--naturegreen: #549e6a;
|
||||
--naturegreen-foreground: #090f0d;
|
||||
--duck-dark: #C1C497;
|
||||
--duck-teal: #2DD5B7;
|
||||
--duck-dark: #c1c497;
|
||||
--duck-teal: #2dd5b7;
|
||||
--duck-yellow: #459451;
|
||||
--duck-orange: #a2734b;
|
||||
--duck-forest: #549e6a;
|
||||
|
||||
@@ -0,0 +1,97 @@
|
||||
/*
|
||||
Pina — 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/bjarneo/omarchy-pina-theme (colors.toml (16-colour ANSI)), read by scripts/port-community-themes.ts. Values
|
||||
went through deriveOmarchyPalette (scripts/themes/from-ansi.ts) because the source has no Omarchy 4
|
||||
colors.toml — 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='pina'] {
|
||||
--background: #0d0e0d;
|
||||
--foreground: #d4d5d5;
|
||||
--card: #171a18;
|
||||
--card-foreground: #d4d5d5;
|
||||
--popover: #171a18;
|
||||
--popover-foreground: #d4d5d5;
|
||||
--muted: #272a28;
|
||||
--muted-foreground: #9b9d9c;
|
||||
--accent: #272a28;
|
||||
--accent-foreground: #d4d5d5;
|
||||
--primary: #d8f5d8;
|
||||
--primary-foreground: #0d0e0d;
|
||||
--secondary: #272a28;
|
||||
--secondary-foreground: #d4d5d5;
|
||||
--cta: #d8f5d8;
|
||||
--cta-foreground: #0d0e0d;
|
||||
--ctahover: #ddf6dd;
|
||||
--success: #b8c082;
|
||||
--success-foreground: #0d0e0d;
|
||||
--warning: #e0d480;
|
||||
--warning-foreground: #0d0e0d;
|
||||
--destructive: #7db085;
|
||||
--destructive-foreground: #0d0e0d;
|
||||
--info: #7dd2b8;
|
||||
--info-foreground: #0d0e0d;
|
||||
--busy: #afc283;
|
||||
--busy-foreground: #0d0e0d;
|
||||
--busy-ink: #afc283;
|
||||
--border: #3c3f3d;
|
||||
--input: #3c3f3d;
|
||||
--ring: #d8f5d8;
|
||||
--radius: 0.625rem;
|
||||
--chart-primary: #d8f5d8;
|
||||
--chart-secondary: #b5c9a4;
|
||||
--status-success: #b8c082;
|
||||
--status-warning: #e0d480;
|
||||
--status-in-progress: #7dd2b8;
|
||||
--page-bg: #0d0e0d;
|
||||
--page-bg-src: '';
|
||||
--panel-bg: rgb(23 26 24 / 0.72);
|
||||
--panel-border: rgb(60 63 61 / 0.9);
|
||||
--panel-border-bare: rgb(60 63 61 / 0.55);
|
||||
--panel-raised-bg: rgb(23 26 24 / 0.95);
|
||||
--panel-raised-border: rgb(60 63 61 / 1);
|
||||
--panel-accent: #d8f5d8;
|
||||
--panel-header-bg: rgb(39 42 40 / 0.6);
|
||||
--panel-header-fg: #d4d5d5;
|
||||
--panel-radius: 0.75rem;
|
||||
--panel-blur: 12px;
|
||||
--card-bg: #171a18;
|
||||
--glass-bg: rgb(23 26 24 / 0.55);
|
||||
--glass-border: rgb(60 63 61 / 0.7);
|
||||
--dock-bg: rgb(23 26 24 / 0.7);
|
||||
--dock-border: rgb(60 63 61 / 0.8);
|
||||
--dock-tooltip-bg: #272a28;
|
||||
--header-bg: rgb(23 26 24 / 0.8);
|
||||
--header-border: rgb(60 63 61 / 0.9);
|
||||
--header-fg: #d4d5d5;
|
||||
--header-blur: 12px;
|
||||
--pixel-grid-color: rgb(108 110 109 / 0.07);
|
||||
--card-grid-color: rgb(108 110 109 / 0.05);
|
||||
--panel-grid-color: rgb(108 110 109 / 0.06);
|
||||
--scrollbar-thumb: rgb(107 128 113 / 0.6);
|
||||
--scrollbar-thumb-hover: rgb(107 128 113 / 0.85);
|
||||
--scrollbar-thin-thumb: rgb(107 128 113 / 0.45);
|
||||
--scrollbar-thin-thumb-hover: rgb(107 128 113 / 0.7);
|
||||
--brand: #d8f5d8;
|
||||
--brand-foreground: #0d0e0d;
|
||||
--brand-primary: #d8f5d8;
|
||||
--brand-accent: #c5e8c5;
|
||||
--brand-warm: #afc283;
|
||||
--brand-deep: #0d0e0d;
|
||||
--brand-muted: #6b8071;
|
||||
--ink: #d4d5d5;
|
||||
--surface-warm: #171a18;
|
||||
--naturegreen: #b8c082;
|
||||
--naturegreen-foreground: #0d0e0d;
|
||||
--duck-dark: #d4d5d5;
|
||||
--duck-teal: #c5e8c5;
|
||||
--duck-yellow: #e0d480;
|
||||
--duck-orange: #afc283;
|
||||
--duck-forest: #b8c082;
|
||||
--duck-beige: #2a2d2b;
|
||||
--logo-src: '/officer-logo.svg';
|
||||
}
|
||||
@@ -0,0 +1,97 @@
|
||||
/*
|
||||
Pmndrs — 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/leweyse/omarchy-pmndrs-theme (colors.toml (16-colour ANSI)), read by scripts/port-community-themes.ts. Values
|
||||
went through deriveOmarchyPalette (scripts/themes/from-ansi.ts) because the source has no Omarchy 4
|
||||
colors.toml — 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='pmndrs'] {
|
||||
--background: #0f1116;
|
||||
--foreground: #a6accd;
|
||||
--card: #1b1e28;
|
||||
--card-foreground: #a6accd;
|
||||
--popover: #1b1e28;
|
||||
--popover-foreground: #a6accd;
|
||||
--muted: #2b2e37;
|
||||
--muted-foreground: #9094ab;
|
||||
--accent: #2b2e37;
|
||||
--accent-foreground: #a6accd;
|
||||
--primary: #add7ff;
|
||||
--primary-foreground: #0f1116;
|
||||
--secondary: #2b2e37;
|
||||
--secondary-foreground: #a6accd;
|
||||
--cta: #add7ff;
|
||||
--cta-foreground: #0f1116;
|
||||
--ctahover: #b7dcff;
|
||||
--success: #5de4c7;
|
||||
--success-foreground: #0f1116;
|
||||
--warning: #fffac2;
|
||||
--warning-foreground: #0f1116;
|
||||
--destructive: #d0679d;
|
||||
--destructive-foreground: #0f1116;
|
||||
--info: #89ddff;
|
||||
--info-foreground: #0f1116;
|
||||
--busy: #e8b1b0;
|
||||
--busy-foreground: #0f1116;
|
||||
--busy-ink: #e8b1b0;
|
||||
--border: #363a48;
|
||||
--input: #363a48;
|
||||
--ring: #add7ff;
|
||||
--radius: 0.625rem;
|
||||
--chart-primary: #add7ff;
|
||||
--chart-secondary: #d2a6ff;
|
||||
--status-success: #5de4c7;
|
||||
--status-warning: #fffac2;
|
||||
--status-in-progress: #89ddff;
|
||||
--page-bg: #0f1116;
|
||||
--page-bg-src: '';
|
||||
--panel-bg: rgb(27 30 40 / 0.72);
|
||||
--panel-border: rgb(54 58 72 / 0.9);
|
||||
--panel-border-bare: rgb(54 58 72 / 0.55);
|
||||
--panel-raised-bg: rgb(27 30 40 / 0.95);
|
||||
--panel-raised-border: rgb(54 58 72 / 1);
|
||||
--panel-accent: #add7ff;
|
||||
--panel-header-bg: rgb(43 46 55 / 0.6);
|
||||
--panel-header-fg: #a6accd;
|
||||
--panel-radius: 0.75rem;
|
||||
--panel-blur: 12px;
|
||||
--card-bg: #1b1e28;
|
||||
--glass-bg: rgb(27 30 40 / 0.55);
|
||||
--glass-border: rgb(54 58 72 / 0.7);
|
||||
--dock-bg: rgb(27 30 40 / 0.7);
|
||||
--dock-border: rgb(54 58 72 / 0.8);
|
||||
--dock-tooltip-bg: #2b2e37;
|
||||
--header-bg: rgb(27 30 40 / 0.8);
|
||||
--header-border: rgb(54 58 72 / 0.9);
|
||||
--header-fg: #a6accd;
|
||||
--header-blur: 12px;
|
||||
--pixel-grid-color: rgb(102 106 125 / 0.07);
|
||||
--card-grid-color: rgb(102 106 125 / 0.05);
|
||||
--panel-grid-color: rgb(102 106 125 / 0.06);
|
||||
--scrollbar-thumb: rgb(108 111 147 / 0.6);
|
||||
--scrollbar-thumb-hover: rgb(108 111 147 / 0.85);
|
||||
--scrollbar-thin-thumb: rgb(108 111 147 / 0.45);
|
||||
--scrollbar-thin-thumb-hover: rgb(108 111 147 / 0.7);
|
||||
--brand: #add7ff;
|
||||
--brand-foreground: #0f1116;
|
||||
--brand-primary: #add7ff;
|
||||
--brand-accent: #add7ff;
|
||||
--brand-warm: #e8b1b0;
|
||||
--brand-deep: #0f1116;
|
||||
--brand-muted: #6c6f93;
|
||||
--ink: #a6accd;
|
||||
--surface-warm: #1b1e28;
|
||||
--naturegreen: #5de4c7;
|
||||
--naturegreen-foreground: #0f1116;
|
||||
--duck-dark: #a6accd;
|
||||
--duck-teal: #add7ff;
|
||||
--duck-yellow: #fffac2;
|
||||
--duck-orange: #e8b1b0;
|
||||
--duck-forest: #5de4c7;
|
||||
--duck-beige: #292c39;
|
||||
--logo-src: '/officer-logo.svg';
|
||||
}
|
||||
@@ -0,0 +1,97 @@
|
||||
/*
|
||||
Reverie — 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/bjarneo/omarchy-reverie-theme (colors.toml (16-colour ANSI)), read by scripts/port-community-themes.ts. Values
|
||||
went through deriveOmarchyPalette (scripts/themes/from-ansi.ts) because the source has no Omarchy 4
|
||||
colors.toml — 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='reverie'] {
|
||||
--background: #090f1f;
|
||||
--foreground: #d8e0f2;
|
||||
--card: #101c38;
|
||||
--card-foreground: #d8e0f2;
|
||||
--popover: #101c38;
|
||||
--popover-foreground: #d8e0f2;
|
||||
--muted: #212c46;
|
||||
--muted-foreground: #9ca5ba;
|
||||
--accent: #212c46;
|
||||
--accent-foreground: #d8e0f2;
|
||||
--primary: #85d8da;
|
||||
--primary-foreground: #090f1f;
|
||||
--secondary: #212c46;
|
||||
--secondary-foreground: #d8e0f2;
|
||||
--cta: #85d8da;
|
||||
--cta-foreground: #090f1f;
|
||||
--ctahover: #94ddde;
|
||||
--success: #6ca994;
|
||||
--success-foreground: #090f1f;
|
||||
--warning: #f4a261;
|
||||
--warning-foreground: #090f1f;
|
||||
--destructive: #e56b6f;
|
||||
--destructive-foreground: #090f1f;
|
||||
--info: #587ea8;
|
||||
--info-foreground: #090f1f;
|
||||
--busy: #ed8768;
|
||||
--busy-foreground: #090f1f;
|
||||
--busy-ink: #ed8768;
|
||||
--border: #37425c;
|
||||
--input: #37425c;
|
||||
--ring: #85d8da;
|
||||
--radius: 0.625rem;
|
||||
--chart-primary: #85d8da;
|
||||
--chart-secondary: #b479a3;
|
||||
--status-success: #6ca994;
|
||||
--status-warning: #f4a261;
|
||||
--status-in-progress: #587ea8;
|
||||
--page-bg: #090f1f;
|
||||
--page-bg-src: '';
|
||||
--panel-bg: rgb(16 28 56 / 0.72);
|
||||
--panel-border: rgb(55 66 92 / 0.9);
|
||||
--panel-border-bare: rgb(55 66 92 / 0.55);
|
||||
--panel-raised-bg: rgb(16 28 56 / 0.95);
|
||||
--panel-raised-border: rgb(55 66 92 / 1);
|
||||
--panel-accent: #85d8da;
|
||||
--panel-header-bg: rgb(33 44 70 / 0.6);
|
||||
--panel-header-fg: #d8e0f2;
|
||||
--panel-radius: 0.75rem;
|
||||
--panel-blur: 12px;
|
||||
--card-bg: #101c38;
|
||||
--glass-bg: rgb(16 28 56 / 0.55);
|
||||
--glass-border: rgb(55 66 92 / 0.7);
|
||||
--dock-bg: rgb(16 28 56 / 0.7);
|
||||
--dock-border: rgb(55 66 92 / 0.8);
|
||||
--dock-tooltip-bg: #212c46;
|
||||
--header-bg: rgb(16 28 56 / 0.8);
|
||||
--header-border: rgb(55 66 92 / 0.9);
|
||||
--header-fg: #d8e0f2;
|
||||
--header-blur: 12px;
|
||||
--pixel-grid-color: rgb(106 116 140 / 0.07);
|
||||
--card-grid-color: rgb(106 116 140 / 0.05);
|
||||
--panel-grid-color: rgb(106 116 140 / 0.06);
|
||||
--scrollbar-thumb: rgb(75 90 128 / 0.6);
|
||||
--scrollbar-thumb-hover: rgb(75 90 128 / 0.85);
|
||||
--scrollbar-thin-thumb: rgb(75 90 128 / 0.45);
|
||||
--scrollbar-thin-thumb-hover: rgb(75 90 128 / 0.7);
|
||||
--brand: #85d8da;
|
||||
--brand-foreground: #090f1f;
|
||||
--brand-primary: #85d8da;
|
||||
--brand-accent: #6dc2c5;
|
||||
--brand-warm: #ed8768;
|
||||
--brand-deep: #090f1f;
|
||||
--brand-muted: #4b5a80;
|
||||
--ink: #d8e0f2;
|
||||
--surface-warm: #101c38;
|
||||
--naturegreen: #6ca994;
|
||||
--naturegreen-foreground: #090f1f;
|
||||
--duck-dark: #d8e0f2;
|
||||
--duck-teal: #6dc2c5;
|
||||
--duck-yellow: #f4a261;
|
||||
--duck-orange: #ed8768;
|
||||
--duck-forest: #6ca994;
|
||||
--duck-beige: #24304b;
|
||||
--logo-src: '/officer-logo.svg';
|
||||
}
|
||||
@@ -0,0 +1,97 @@
|
||||
/*
|
||||
Rose Pine 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/guilhermetk/omarchy-rose-pine-dark (colors.toml (16-colour ANSI)), read by scripts/port-community-themes.ts. Values
|
||||
went through deriveOmarchyPalette (scripts/themes/from-ansi.ts) because the source has no Omarchy 4
|
||||
colors.toml — 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='rose-pine-dark'] {
|
||||
--background: #0e0d14;
|
||||
--foreground: #e0def4;
|
||||
--card: #191724;
|
||||
--card-foreground: #e0def4;
|
||||
--popover: #191724;
|
||||
--popover-foreground: #e0def4;
|
||||
--muted: #292733;
|
||||
--muted-foreground: #a4a2b6;
|
||||
--accent: #292733;
|
||||
--accent-foreground: #e0def4;
|
||||
--primary: #ebbcba;
|
||||
--primary-foreground: #0e0d14;
|
||||
--secondary: #292733;
|
||||
--secondary-foreground: #e0def4;
|
||||
--cta: #ebbcba;
|
||||
--cta-foreground: #0e0d14;
|
||||
--ctahover: #edc4c2;
|
||||
--success: #31748f;
|
||||
--success-foreground: #eeedf9;
|
||||
--warning: #f6c177;
|
||||
--warning-foreground: #0e0d14;
|
||||
--destructive: #eb6f92;
|
||||
--destructive-foreground: #0e0d14;
|
||||
--info: #9ccfd8;
|
||||
--info-foreground: #0e0d14;
|
||||
--busy: #f19885;
|
||||
--busy-foreground: #0e0d14;
|
||||
--busy-ink: #f19885;
|
||||
--border: #403e4d;
|
||||
--input: #403e4d;
|
||||
--ring: #ebbcba;
|
||||
--radius: 0.625rem;
|
||||
--chart-primary: #ebbcba;
|
||||
--chart-secondary: #c4a7e7;
|
||||
--status-success: #31748f;
|
||||
--status-warning: #f6c177;
|
||||
--status-in-progress: #9ccfd8;
|
||||
--page-bg: #0e0d14;
|
||||
--page-bg-src: '';
|
||||
--panel-bg: rgb(25 23 36 / 0.72);
|
||||
--panel-border: rgb(64 62 77 / 0.9);
|
||||
--panel-border-bare: rgb(64 62 77 / 0.55);
|
||||
--panel-raised-bg: rgb(25 23 36 / 0.95);
|
||||
--panel-raised-border: rgb(64 62 77 / 1);
|
||||
--panel-accent: #ebbcba;
|
||||
--panel-header-bg: rgb(41 39 51 / 0.6);
|
||||
--panel-header-fg: #e0def4;
|
||||
--panel-radius: 0.75rem;
|
||||
--panel-blur: 12px;
|
||||
--card-bg: #191724;
|
||||
--glass-bg: rgb(25 23 36 / 0.55);
|
||||
--glass-border: rgb(64 62 77 / 0.7);
|
||||
--dock-bg: rgb(25 23 36 / 0.7);
|
||||
--dock-border: rgb(64 62 77 / 0.8);
|
||||
--dock-tooltip-bg: #292733;
|
||||
--header-bg: rgb(25 23 36 / 0.8);
|
||||
--header-border: rgb(64 62 77 / 0.9);
|
||||
--header-fg: #e0def4;
|
||||
--header-blur: 12px;
|
||||
--pixel-grid-color: rgb(115 113 130 / 0.07);
|
||||
--card-grid-color: rgb(115 113 130 / 0.05);
|
||||
--panel-grid-color: rgb(115 113 130 / 0.06);
|
||||
--scrollbar-thumb: rgb(110 106 134 / 0.6);
|
||||
--scrollbar-thumb-hover: rgb(110 106 134 / 0.85);
|
||||
--scrollbar-thin-thumb: rgb(110 106 134 / 0.45);
|
||||
--scrollbar-thin-thumb-hover: rgb(110 106 134 / 0.7);
|
||||
--brand: #ebbcba;
|
||||
--brand-foreground: #0e0d14;
|
||||
--brand-primary: #ebbcba;
|
||||
--brand-accent: #ebbcba;
|
||||
--brand-warm: #f19885;
|
||||
--brand-deep: #0e0d14;
|
||||
--brand-muted: #6e6a86;
|
||||
--ink: #e0def4;
|
||||
--surface-warm: #191724;
|
||||
--naturegreen: #31748f;
|
||||
--naturegreen-foreground: #eeedf9;
|
||||
--duck-dark: #e0def4;
|
||||
--duck-teal: #ebbcba;
|
||||
--duck-yellow: #f6c177;
|
||||
--duck-orange: #f19885;
|
||||
--duck-forest: #31748f;
|
||||
--duck-beige: #2d2b39;
|
||||
--logo-src: '/officer-logo.svg';
|
||||
}
|
||||
@@ -0,0 +1,97 @@
|
||||
/*
|
||||
Saga — 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/HANCORE-linux/omarchy-saga-theme (colors.toml (16-colour ANSI)), read by scripts/port-community-themes.ts. Values
|
||||
went through deriveOmarchyPalette (scripts/themes/from-ansi.ts) because the source has no Omarchy 4
|
||||
colors.toml — 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='saga'] {
|
||||
--background: #030406;
|
||||
--foreground: #fff6ff;
|
||||
--card: #05080a;
|
||||
--card-foreground: #fff6ff;
|
||||
--popover: #05080a;
|
||||
--popover-foreground: #fff6ff;
|
||||
--muted: #17191b;
|
||||
--muted-foreground: #b4afb6;
|
||||
--accent: #17191b;
|
||||
--accent-foreground: #fff6ff;
|
||||
--primary: #b2fff3;
|
||||
--primary-foreground: #030406;
|
||||
--secondary: #17191b;
|
||||
--secondary-foreground: #fff6ff;
|
||||
--cta: #b2fff3;
|
||||
--cta-foreground: #030406;
|
||||
--ctahover: #bbfff4;
|
||||
--success: #baf7b5;
|
||||
--success-foreground: #030406;
|
||||
--warning: #fff6c3;
|
||||
--warning-foreground: #030406;
|
||||
--destructive: #ff9fbc;
|
||||
--destructive-foreground: #030406;
|
||||
--info: #b2fff3;
|
||||
--info-foreground: #030406;
|
||||
--busy: #ffcbc0;
|
||||
--busy-foreground: #030406;
|
||||
--busy-ink: #ffcbc0;
|
||||
--border: #36373a;
|
||||
--input: #36373a;
|
||||
--ring: #b2fff3;
|
||||
--radius: 0.625rem;
|
||||
--chart-primary: #b2fff3;
|
||||
--chart-secondary: #dfbaff;
|
||||
--status-success: #baf7b5;
|
||||
--status-warning: #fff6c3;
|
||||
--status-in-progress: #b2fff3;
|
||||
--page-bg: #030406;
|
||||
--page-bg-src: '';
|
||||
--panel-bg: rgb(5 8 10 / 0.72);
|
||||
--panel-border: rgb(54 55 58 / 0.9);
|
||||
--panel-border-bare: rgb(54 55 58 / 0.55);
|
||||
--panel-raised-bg: rgb(5 8 10 / 0.95);
|
||||
--panel-raised-border: rgb(54 55 58 / 1);
|
||||
--panel-accent: #b2fff3;
|
||||
--panel-header-bg: rgb(23 25 27 / 0.6);
|
||||
--panel-header-fg: #fff6ff;
|
||||
--panel-radius: 0.75rem;
|
||||
--panel-blur: 12px;
|
||||
--card-bg: #05080a;
|
||||
--glass-bg: rgb(5 8 10 / 0.55);
|
||||
--glass-border: rgb(54 55 58 / 0.7);
|
||||
--dock-bg: rgb(5 8 10 / 0.7);
|
||||
--dock-border: rgb(54 55 58 / 0.8);
|
||||
--dock-tooltip-bg: #17191b;
|
||||
--header-bg: rgb(5 8 10 / 0.8);
|
||||
--header-border: rgb(54 55 58 / 0.9);
|
||||
--header-fg: #fff6ff;
|
||||
--header-blur: 12px;
|
||||
--pixel-grid-color: rgb(118 115 120 / 0.07);
|
||||
--card-grid-color: rgb(118 115 120 / 0.05);
|
||||
--panel-grid-color: rgb(118 115 120 / 0.06);
|
||||
--scrollbar-thumb: rgb(75 76 77 / 0.6);
|
||||
--scrollbar-thumb-hover: rgb(75 76 77 / 0.85);
|
||||
--scrollbar-thin-thumb: rgb(75 76 77 / 0.45);
|
||||
--scrollbar-thin-thumb-hover: rgb(75 76 77 / 0.7);
|
||||
--brand: #b2fff3;
|
||||
--brand-foreground: #030406;
|
||||
--brand-primary: #b2fff3;
|
||||
--brand-accent: #ffc79b;
|
||||
--brand-warm: #ffcbc0;
|
||||
--brand-deep: #030406;
|
||||
--brand-muted: #4b4c4d;
|
||||
--ink: #fff6ff;
|
||||
--surface-warm: #05080a;
|
||||
--naturegreen: #baf7b5;
|
||||
--naturegreen-foreground: #030406;
|
||||
--duck-dark: #fff6ff;
|
||||
--duck-teal: #ffc79b;
|
||||
--duck-yellow: #fff6c3;
|
||||
--duck-orange: #ffcbc0;
|
||||
--duck-forest: #baf7b5;
|
||||
--duck-beige: #1e2023;
|
||||
--logo-src: '/officer-logo.svg';
|
||||
}
|
||||
@@ -0,0 +1,97 @@
|
||||
/*
|
||||
Sakura — 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/bjarneo/omarchy-sakura-theme (colors.toml (16-colour ANSI)), read by scripts/port-community-themes.ts. Values
|
||||
went through deriveOmarchyPalette (scripts/themes/from-ansi.ts) because the source has no Omarchy 4
|
||||
colors.toml — 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='sakura'] {
|
||||
--background: #070305;
|
||||
--foreground: #f0eaed;
|
||||
--card: #0d0509;
|
||||
--card-foreground: #f0eaed;
|
||||
--popover: #0d0509;
|
||||
--popover-foreground: #f0eaed;
|
||||
--muted: #1e171a;
|
||||
--muted-foreground: #aca5a9;
|
||||
--accent: #1e171a;
|
||||
--accent-foreground: #f0eaed;
|
||||
--primary: #fbd2ab;
|
||||
--primary-foreground: #070305;
|
||||
--secondary: #1e171a;
|
||||
--secondary-foreground: #f0eaed;
|
||||
--cta: #fbd2ab;
|
||||
--cta-foreground: #070305;
|
||||
--ctahover: #fbd7b5;
|
||||
--success: #f29b9a;
|
||||
--success-foreground: #070305;
|
||||
--warning: #d4a882;
|
||||
--warning-foreground: #070305;
|
||||
--destructive: #e85f6f;
|
||||
--destructive-foreground: #070305;
|
||||
--info: #d9a56c;
|
||||
--info-foreground: #070305;
|
||||
--busy: #de8479;
|
||||
--busy-foreground: #070305;
|
||||
--busy-ink: #de8479;
|
||||
--border: #3a3236;
|
||||
--input: #3a3236;
|
||||
--ring: #fbd2ab;
|
||||
--radius: 0.625rem;
|
||||
--chart-primary: #fbd2ab;
|
||||
--chart-secondary: #d1b399;
|
||||
--status-success: #f29b9a;
|
||||
--status-warning: #d4a882;
|
||||
--status-in-progress: #d9a56c;
|
||||
--page-bg: #070305;
|
||||
--page-bg-src: '';
|
||||
--panel-bg: rgb(13 5 9 / 0.72);
|
||||
--panel-border: rgb(58 50 54 / 0.9);
|
||||
--panel-border-bare: rgb(58 50 54 / 0.55);
|
||||
--panel-raised-bg: rgb(13 5 9 / 0.95);
|
||||
--panel-raised-border: rgb(58 50 54 / 1);
|
||||
--panel-accent: #fbd2ab;
|
||||
--panel-header-bg: rgb(30 23 26 / 0.6);
|
||||
--panel-header-fg: #f0eaed;
|
||||
--panel-radius: 0.75rem;
|
||||
--panel-blur: 12px;
|
||||
--card-bg: #0d0509;
|
||||
--glass-bg: rgb(13 5 9 / 0.55);
|
||||
--glass-border: rgb(58 50 54 / 0.7);
|
||||
--dock-bg: rgb(13 5 9 / 0.7);
|
||||
--dock-border: rgb(58 50 54 / 0.8);
|
||||
--dock-tooltip-bg: #1e171a;
|
||||
--header-bg: rgb(13 5 9 / 0.8);
|
||||
--header-border: rgb(58 50 54 / 0.9);
|
||||
--header-fg: #f0eaed;
|
||||
--header-blur: 12px;
|
||||
--pixel-grid-color: rgb(115 108 112 / 0.07);
|
||||
--card-grid-color: rgb(115 108 112 / 0.05);
|
||||
--panel-grid-color: rgb(115 108 112 / 0.06);
|
||||
--scrollbar-thumb: rgb(74 60 69 / 0.6);
|
||||
--scrollbar-thumb-hover: rgb(74 60 69 / 0.85);
|
||||
--scrollbar-thin-thumb: rgb(74 60 69 / 0.45);
|
||||
--scrollbar-thin-thumb-hover: rgb(74 60 69 / 0.7);
|
||||
--brand: #fbd2ab;
|
||||
--brand-foreground: #070305;
|
||||
--brand-primary: #fbd2ab;
|
||||
--brand-accent: #e8c099;
|
||||
--brand-warm: #de8479;
|
||||
--brand-deep: #070305;
|
||||
--brand-muted: #4a3c45;
|
||||
--ink: #f0eaed;
|
||||
--surface-warm: #0d0509;
|
||||
--naturegreen: #f29b9a;
|
||||
--naturegreen-foreground: #070305;
|
||||
--duck-dark: #f0eaed;
|
||||
--duck-teal: #e8c099;
|
||||
--duck-yellow: #d4a882;
|
||||
--duck-orange: #de8479;
|
||||
--duck-forest: #f29b9a;
|
||||
--duck-beige: #241c20;
|
||||
--logo-src: '/officer-logo.svg';
|
||||
}
|
||||
@@ -0,0 +1,97 @@
|
||||
/*
|
||||
Sapphire — 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/HANCORE-linux/omarchy-sapphire-theme (colors.toml (16-colour ANSI)), read by scripts/port-community-themes.ts. Values
|
||||
went through deriveOmarchyPalette (scripts/themes/from-ansi.ts) because the source has no Omarchy 4
|
||||
colors.toml — 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='sapphire'] {
|
||||
--background: #030711;
|
||||
--foreground: #e0f7fa;
|
||||
--card: #060d1f;
|
||||
--card-foreground: #e0f7fa;
|
||||
--popover: #060d1f;
|
||||
--popover-foreground: #e0f7fa;
|
||||
--muted: #171e2f;
|
||||
--muted-foreground: #9fb1b8;
|
||||
--accent: #171e2f;
|
||||
--accent-foreground: #e0f7fa;
|
||||
--primary: #fff6d2;
|
||||
--primary-foreground: #030711;
|
||||
--secondary: #171e2f;
|
||||
--secondary-foreground: #e0f7fa;
|
||||
--cta: #fff6d2;
|
||||
--cta-foreground: #030711;
|
||||
--ctahover: #fff7d7;
|
||||
--success: #6488ea;
|
||||
--success-foreground: #030711;
|
||||
--warning: #d5edeb;
|
||||
--warning-foreground: #030711;
|
||||
--destructive: #e95c4b;
|
||||
--destructive-foreground: #030711;
|
||||
--info: #f7c3c6;
|
||||
--info-foreground: #030711;
|
||||
--busy: #dfa59b;
|
||||
--busy-foreground: #030711;
|
||||
--busy-ink: #dfa59b;
|
||||
--border: #313b4a;
|
||||
--input: #313b4a;
|
||||
--ring: #fff6d2;
|
||||
--radius: 0.625rem;
|
||||
--chart-primary: #fff6d2;
|
||||
--chart-secondary: #85cec4;
|
||||
--status-success: #6488ea;
|
||||
--status-warning: #d5edeb;
|
||||
--status-in-progress: #f7c3c6;
|
||||
--page-bg: #030711;
|
||||
--page-bg-src: '';
|
||||
--panel-bg: rgb(6 13 31 / 0.72);
|
||||
--panel-border: rgb(49 59 74 / 0.9);
|
||||
--panel-border-bare: rgb(49 59 74 / 0.55);
|
||||
--panel-raised-bg: rgb(6 13 31 / 0.95);
|
||||
--panel-raised-border: rgb(49 59 74 / 1);
|
||||
--panel-accent: #fff6d2;
|
||||
--panel-header-bg: rgb(23 30 47 / 0.6);
|
||||
--panel-header-fg: #e0f7fa;
|
||||
--panel-radius: 0.75rem;
|
||||
--panel-blur: 12px;
|
||||
--card-bg: #060d1f;
|
||||
--glass-bg: rgb(6 13 31 / 0.55);
|
||||
--glass-border: rgb(49 59 74 / 0.7);
|
||||
--dock-bg: rgb(6 13 31 / 0.7);
|
||||
--dock-border: rgb(49 59 74 / 0.8);
|
||||
--dock-tooltip-bg: #171e2f;
|
||||
--header-bg: rgb(6 13 31 / 0.8);
|
||||
--header-border: rgb(49 59 74 / 0.9);
|
||||
--header-fg: #e0f7fa;
|
||||
--header-blur: 12px;
|
||||
--pixel-grid-color: rgb(104 118 130 / 0.07);
|
||||
--card-grid-color: rgb(104 118 130 / 0.05);
|
||||
--panel-grid-color: rgb(104 118 130 / 0.06);
|
||||
--scrollbar-thumb: rgb(81 104 142 / 0.6);
|
||||
--scrollbar-thumb-hover: rgb(81 104 142 / 0.85);
|
||||
--scrollbar-thin-thumb: rgb(81 104 142 / 0.45);
|
||||
--scrollbar-thin-thumb-hover: rgb(81 104 142 / 0.7);
|
||||
--brand: #fff6d2;
|
||||
--brand-foreground: #030711;
|
||||
--brand-primary: #fff6d2;
|
||||
--brand-accent: #fff6d2;
|
||||
--brand-warm: #dfa59b;
|
||||
--brand-deep: #030711;
|
||||
--brand-muted: #51688e;
|
||||
--ink: #e0f7fa;
|
||||
--surface-warm: #060d1f;
|
||||
--naturegreen: #6488ea;
|
||||
--naturegreen-foreground: #030711;
|
||||
--duck-dark: #e0f7fa;
|
||||
--duck-teal: #fff6d2;
|
||||
--duck-yellow: #d5edeb;
|
||||
--duck-orange: #dfa59b;
|
||||
--duck-forest: #6488ea;
|
||||
--duck-beige: #1c2435;
|
||||
--logo-src: '/officer-logo.svg';
|
||||
}
|
||||
@@ -0,0 +1,97 @@
|
||||
/*
|
||||
Serenity — 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/bjarneo/omarchy-serenity-theme (colors.toml (16-colour ANSI)), read by scripts/port-community-themes.ts. Values
|
||||
went through deriveOmarchyPalette (scripts/themes/from-ansi.ts) because the source has no Omarchy 4
|
||||
colors.toml — 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='serenity'] {
|
||||
--background: #13191e;
|
||||
--foreground: #f0ead6;
|
||||
--card: #232e37;
|
||||
--card-foreground: #f0ead6;
|
||||
--popover: #232e37;
|
||||
--popover-foreground: #f0ead6;
|
||||
--muted: #323d45;
|
||||
--muted-foreground: #b3b2a6;
|
||||
--accent: #323d45;
|
||||
--accent-foreground: #f0ead6;
|
||||
--primary: #e0ffff;
|
||||
--primary-foreground: #13191e;
|
||||
--secondary: #323d45;
|
||||
--secondary-foreground: #f0ead6;
|
||||
--cta: #e0ffff;
|
||||
--cta-foreground: #13191e;
|
||||
--ctahover: #e4ffff;
|
||||
--success: #7e8b56;
|
||||
--success-foreground: #13191e;
|
||||
--warning: #f0ead6;
|
||||
--warning-foreground: #13191e;
|
||||
--destructive: #e17f47;
|
||||
--destructive-foreground: #13191e;
|
||||
--info: #a69f96;
|
||||
--info-foreground: #13191e;
|
||||
--busy: #e9b58f;
|
||||
--busy-foreground: #13191e;
|
||||
--busy-ink: #e9b58f;
|
||||
--border: #4b5356;
|
||||
--input: #4b5356;
|
||||
--ring: #e0ffff;
|
||||
--radius: 0.625rem;
|
||||
--chart-primary: #e0ffff;
|
||||
--chart-secondary: #c080c0;
|
||||
--status-success: #7e8b56;
|
||||
--status-warning: #f0ead6;
|
||||
--status-in-progress: #a69f96;
|
||||
--page-bg: #13191e;
|
||||
--page-bg-src: '';
|
||||
--panel-bg: rgb(35 46 55 / 0.72);
|
||||
--panel-border: rgb(75 83 86 / 0.9);
|
||||
--panel-border-bare: rgb(75 83 86 / 0.55);
|
||||
--panel-raised-bg: rgb(35 46 55 / 0.95);
|
||||
--panel-raised-border: rgb(75 83 86 / 1);
|
||||
--panel-accent: #e0ffff;
|
||||
--panel-header-bg: rgb(50 61 69 / 0.6);
|
||||
--panel-header-fg: #f0ead6;
|
||||
--panel-radius: 0.75rem;
|
||||
--panel-blur: 12px;
|
||||
--card-bg: #232e37;
|
||||
--glass-bg: rgb(35 46 55 / 0.55);
|
||||
--glass-border: rgb(75 83 86 / 0.7);
|
||||
--dock-bg: rgb(35 46 55 / 0.7);
|
||||
--dock-border: rgb(75 83 86 / 0.8);
|
||||
--dock-tooltip-bg: #323d45;
|
||||
--header-bg: rgb(35 46 55 / 0.8);
|
||||
--header-border: rgb(75 83 86 / 0.9);
|
||||
--header-fg: #f0ead6;
|
||||
--header-blur: 12px;
|
||||
--pixel-grid-color: rgb(127 131 127 / 0.07);
|
||||
--card-grid-color: rgb(127 131 127 / 0.05);
|
||||
--panel-grid-color: rgb(127 131 127 / 0.06);
|
||||
--scrollbar-thumb: rgb(166 159 150 / 0.6);
|
||||
--scrollbar-thumb-hover: rgb(166 159 150 / 0.85);
|
||||
--scrollbar-thin-thumb: rgb(166 159 150 / 0.45);
|
||||
--scrollbar-thin-thumb-hover: rgb(166 159 150 / 0.7);
|
||||
--brand: #e0ffff;
|
||||
--brand-foreground: #13191e;
|
||||
--brand-primary: #e0ffff;
|
||||
--brand-accent: #80c0c0;
|
||||
--brand-warm: #e9b58f;
|
||||
--brand-deep: #13191e;
|
||||
--brand-muted: #a69f96;
|
||||
--ink: #f0ead6;
|
||||
--surface-warm: #232e37;
|
||||
--naturegreen: #7e8b56;
|
||||
--naturegreen-foreground: #13191e;
|
||||
--duck-dark: #f0ead6;
|
||||
--duck-teal: #80c0c0;
|
||||
--duck-yellow: #f0ead6;
|
||||
--duck-orange: #e9b58f;
|
||||
--duck-forest: #7e8b56;
|
||||
--duck-beige: #384147;
|
||||
--logo-src: '/officer-logo.svg';
|
||||
}
|
||||
@@ -0,0 +1,97 @@
|
||||
/*
|
||||
Shadesofjade — 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/HANCORE-linux/omarchy-shadesofjade-theme (colors.toml (16-colour ANSI)), read by scripts/port-community-themes.ts. Values
|
||||
went through deriveOmarchyPalette (scripts/themes/from-ansi.ts) because the source has no Omarchy 4
|
||||
colors.toml — 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='shadesofjade'] {
|
||||
--background: #000906;
|
||||
--foreground: #e6f6f0;
|
||||
--card: #00110b;
|
||||
--card-foreground: #e6f6f0;
|
||||
--popover: #00110b;
|
||||
--popover-foreground: #e6f6f0;
|
||||
--muted: #12221c;
|
||||
--muted-foreground: #a1b1ab;
|
||||
--accent: #12221c;
|
||||
--accent-foreground: #e6f6f0;
|
||||
--primary: #80d4b5;
|
||||
--primary-foreground: #000906;
|
||||
--secondary: #12221c;
|
||||
--secondary-foreground: #e6f6f0;
|
||||
--cta: #80d4b5;
|
||||
--cta-foreground: #000906;
|
||||
--ctahover: #8fd9be;
|
||||
--success: #00a86b;
|
||||
--success-foreground: #000906;
|
||||
--warning: #d1ffb0;
|
||||
--warning-foreground: #000906;
|
||||
--destructive: #ff3370;
|
||||
--destructive-foreground: #000906;
|
||||
--info: #ff6600;
|
||||
--info-foreground: #000906;
|
||||
--busy: #e89990;
|
||||
--busy-foreground: #000906;
|
||||
--busy-ink: #e89990;
|
||||
--border: #2d3e38;
|
||||
--input: #2d3e38;
|
||||
--ring: #80d4b5;
|
||||
--radius: 0.625rem;
|
||||
--chart-primary: #80d4b5;
|
||||
--chart-secondary: #8fc85c;
|
||||
--status-success: #00a86b;
|
||||
--status-warning: #d1ffb0;
|
||||
--status-in-progress: #ff6600;
|
||||
--page-bg: #000906;
|
||||
--page-bg-src: '';
|
||||
--panel-bg: rgb(0 17 11 / 0.72);
|
||||
--panel-border: rgb(45 62 56 / 0.9);
|
||||
--panel-border-bare: rgb(45 62 56 / 0.55);
|
||||
--panel-raised-bg: rgb(0 17 11 / 0.95);
|
||||
--panel-raised-border: rgb(45 62 56 / 1);
|
||||
--panel-accent: #80d4b5;
|
||||
--panel-header-bg: rgb(18 34 28 / 0.6);
|
||||
--panel-header-fg: #e6f6f0;
|
||||
--panel-radius: 0.75rem;
|
||||
--panel-blur: 12px;
|
||||
--card-bg: #00110b;
|
||||
--glass-bg: rgb(0 17 11 / 0.55);
|
||||
--glass-border: rgb(45 62 56 / 0.7);
|
||||
--dock-bg: rgb(0 17 11 / 0.7);
|
||||
--dock-border: rgb(45 62 56 / 0.8);
|
||||
--dock-tooltip-bg: #12221c;
|
||||
--header-bg: rgb(0 17 11 / 0.8);
|
||||
--header-border: rgb(45 62 56 / 0.9);
|
||||
--header-fg: #e6f6f0;
|
||||
--header-blur: 12px;
|
||||
--pixel-grid-color: rgb(103 120 114 / 0.07);
|
||||
--card-grid-color: rgb(103 120 114 / 0.05);
|
||||
--panel-grid-color: rgb(103 120 114 / 0.06);
|
||||
--scrollbar-thumb: rgb(62 102 80 / 0.6);
|
||||
--scrollbar-thumb-hover: rgb(62 102 80 / 0.85);
|
||||
--scrollbar-thin-thumb: rgb(62 102 80 / 0.45);
|
||||
--scrollbar-thin-thumb-hover: rgb(62 102 80 / 0.7);
|
||||
--brand: #80d4b5;
|
||||
--brand-foreground: #000906;
|
||||
--brand-primary: #80d4b5;
|
||||
--brand-accent: #80d4b5;
|
||||
--brand-warm: #e89990;
|
||||
--brand-deep: #000906;
|
||||
--brand-muted: #3e6650;
|
||||
--ink: #e6f6f0;
|
||||
--surface-warm: #00110b;
|
||||
--naturegreen: #00a86b;
|
||||
--naturegreen-foreground: #000906;
|
||||
--duck-dark: #e6f6f0;
|
||||
--duck-teal: #80d4b5;
|
||||
--duck-yellow: #d1ffb0;
|
||||
--duck-orange: #e89990;
|
||||
--duck-forest: #00a86b;
|
||||
--duck-beige: #172822;
|
||||
--logo-src: '/officer-logo.svg';
|
||||
}
|
||||
@@ -0,0 +1,97 @@
|
||||
/*
|
||||
Snow — ported from a community Omarchy theme, not from basecamp/omarchy's own set.
|
||||
|
||||
Light theme (light), by luminance of its own background — the source repo carries no mode flag of its own to read.
|
||||
|
||||
Source: https://github.com/bjarneo/omarchy-snow-theme (colors.toml (16-colour ANSI)), read by scripts/port-community-themes.ts. Values
|
||||
went through deriveOmarchyPalette (scripts/themes/from-ansi.ts) because the source has no Omarchy 4
|
||||
colors.toml — 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='snow'] {
|
||||
--background: #ffffff;
|
||||
--foreground: #0a0a0a;
|
||||
--card: #f6f6f6;
|
||||
--card-foreground: #0a0a0a;
|
||||
--popover: #f6f6f6;
|
||||
--popover-foreground: #0a0a0a;
|
||||
--muted: #f0f0f0;
|
||||
--muted-foreground: #545454;
|
||||
--accent: #f0f0f0;
|
||||
--accent-foreground: #0a0a0a;
|
||||
--primary: #0a0a0a;
|
||||
--primary-foreground: #e6e6e6;
|
||||
--secondary: #f0f0f0;
|
||||
--secondary-foreground: #0a0a0a;
|
||||
--cta: #0a0a0a;
|
||||
--cta-foreground: #e6e6e6;
|
||||
--ctahover: #090909;
|
||||
--success: #0a0a0a;
|
||||
--success-foreground: #e6e6e6;
|
||||
--warning: #0a0a0a;
|
||||
--warning-foreground: #e6e6e6;
|
||||
--destructive: #0a0a0a;
|
||||
--destructive-foreground: #e6e6e6;
|
||||
--info: #0a0a0a;
|
||||
--info-foreground: #e6e6e6;
|
||||
--busy: #0a0a0a;
|
||||
--busy-foreground: #e6e6e6;
|
||||
--busy-ink: #0a0a0a;
|
||||
--border: #dadada;
|
||||
--input: #dadada;
|
||||
--ring: #0a0a0a;
|
||||
--radius: 0.625rem;
|
||||
--chart-primary: #0a0a0a;
|
||||
--chart-secondary: #0a0a0a;
|
||||
--status-success: #0a0a0a;
|
||||
--status-warning: #0a0a0a;
|
||||
--status-in-progress: #0a0a0a;
|
||||
--page-bg: #ffffff;
|
||||
--page-bg-src: '';
|
||||
--panel-bg: rgb(246 246 246 / 0.72);
|
||||
--panel-border: rgb(218 218 218 / 0.9);
|
||||
--panel-border-bare: rgb(218 218 218 / 0.55);
|
||||
--panel-raised-bg: rgb(246 246 246 / 0.95);
|
||||
--panel-raised-border: rgb(218 218 218 / 1);
|
||||
--panel-accent: #0a0a0a;
|
||||
--panel-header-bg: rgb(240 240 240 / 0.6);
|
||||
--panel-header-fg: #0a0a0a;
|
||||
--panel-radius: 0.75rem;
|
||||
--panel-blur: 12px;
|
||||
--card-bg: #f6f6f6;
|
||||
--glass-bg: rgb(246 246 246 / 0.55);
|
||||
--glass-border: rgb(218 218 218 / 0.7);
|
||||
--dock-bg: rgb(246 246 246 / 0.7);
|
||||
--dock-border: rgb(218 218 218 / 0.8);
|
||||
--dock-tooltip-bg: #f0f0f0;
|
||||
--header-bg: rgb(246 246 246 / 0.8);
|
||||
--header-border: rgb(218 218 218 / 0.9);
|
||||
--header-fg: #0a0a0a;
|
||||
--header-blur: 12px;
|
||||
--pixel-grid-color: rgb(141 141 141 / 0.07);
|
||||
--card-grid-color: rgb(141 141 141 / 0.05);
|
||||
--panel-grid-color: rgb(141 141 141 / 0.06);
|
||||
--scrollbar-thumb: rgb(208 208 208 / 0.6);
|
||||
--scrollbar-thumb-hover: rgb(208 208 208 / 0.85);
|
||||
--scrollbar-thin-thumb: rgb(208 208 208 / 0.45);
|
||||
--scrollbar-thin-thumb-hover: rgb(208 208 208 / 0.7);
|
||||
--brand: #0a0a0a;
|
||||
--brand-foreground: #e6e6e6;
|
||||
--brand-primary: #0a0a0a;
|
||||
--brand-accent: #0a0a0a;
|
||||
--brand-warm: #0a0a0a;
|
||||
--brand-deep: #f0f0f0;
|
||||
--brand-muted: #d0d0d0;
|
||||
--ink: #0a0a0a;
|
||||
--surface-warm: #f6f6f6;
|
||||
--naturegreen: #0a0a0a;
|
||||
--naturegreen-foreground: #e6e6e6;
|
||||
--duck-dark: #0a0a0a;
|
||||
--duck-teal: #0a0a0a;
|
||||
--duck-yellow: #0a0a0a;
|
||||
--duck-orange: #0a0a0a;
|
||||
--duck-forest: #0a0a0a;
|
||||
--duck-beige: #dedede;
|
||||
--logo-src: '/officer-logo.svg';
|
||||
}
|
||||
@@ -0,0 +1,97 @@
|
||||
/*
|
||||
Sunkissed — 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/loeclos/omarchy-sunkissed-theme (alacritty.toml), read by scripts/port-community-themes.ts. Values
|
||||
went through deriveOmarchyPalette (scripts/themes/from-ansi.ts) because the source has no Omarchy 4
|
||||
colors.toml — 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='sunkissed'] {
|
||||
--background: #19120a;
|
||||
--foreground: #f0d9b5;
|
||||
--card: #2d2013;
|
||||
--card-foreground: #f0d9b5;
|
||||
--popover: #2d2013;
|
||||
--popover-foreground: #f0d9b5;
|
||||
--muted: #3c3024;
|
||||
--muted-foreground: #b6a284;
|
||||
--accent: #3c3024;
|
||||
--accent-foreground: #f0d9b5;
|
||||
--primary: #6ea76b;
|
||||
--primary-foreground: #19120a;
|
||||
--secondary: #3c3024;
|
||||
--secondary-foreground: #f0d9b5;
|
||||
--cta: #6ea76b;
|
||||
--cta-foreground: #19120a;
|
||||
--ctahover: #7fb27d;
|
||||
--success: #a0a81f;
|
||||
--success-foreground: #19120a;
|
||||
--warning: #e8a327;
|
||||
--warning-foreground: #19120a;
|
||||
--destructive: #e02e1f;
|
||||
--destructive-foreground: #ffffff;
|
||||
--info: #4a8e8f;
|
||||
--info-foreground: #19120a;
|
||||
--busy: #e46923;
|
||||
--busy-foreground: #19120a;
|
||||
--busy-ink: #e46923;
|
||||
--border: #534433;
|
||||
--input: #534433;
|
||||
--ring: #6ea76b;
|
||||
--radius: 0.625rem;
|
||||
--chart-primary: #6ea76b;
|
||||
--chart-secondary: #c26e96;
|
||||
--status-success: #a0a81f;
|
||||
--status-warning: #e8a327;
|
||||
--status-in-progress: #4a8e8f;
|
||||
--page-bg: #19120a;
|
||||
--page-bg-src: '';
|
||||
--panel-bg: rgb(45 32 19 / 0.72);
|
||||
--panel-border: rgb(83 68 51 / 0.9);
|
||||
--panel-border-bare: rgb(83 68 51 / 0.55);
|
||||
--panel-raised-bg: rgb(45 32 19 / 0.95);
|
||||
--panel-raised-border: rgb(83 68 51 / 1);
|
||||
--panel-accent: #6ea76b;
|
||||
--panel-header-bg: rgb(60 48 36 / 0.6);
|
||||
--panel-header-fg: #f0d9b5;
|
||||
--panel-radius: 0.75rem;
|
||||
--panel-blur: 12px;
|
||||
--card-bg: #2d2013;
|
||||
--glass-bg: rgb(45 32 19 / 0.55);
|
||||
--glass-border: rgb(83 68 51 / 0.7);
|
||||
--dock-bg: rgb(45 32 19 / 0.7);
|
||||
--dock-border: rgb(83 68 51 / 0.8);
|
||||
--dock-tooltip-bg: #3c3024;
|
||||
--header-bg: rgb(45 32 19 / 0.8);
|
||||
--header-border: rgb(83 68 51 / 0.9);
|
||||
--header-fg: #f0d9b5;
|
||||
--header-blur: 12px;
|
||||
--pixel-grid-color: rgb(133 115 92 / 0.07);
|
||||
--card-grid-color: rgb(133 115 92 / 0.05);
|
||||
--panel-grid-color: rgb(133 115 92 / 0.06);
|
||||
--scrollbar-thumb: rgb(67 52 43 / 0.6);
|
||||
--scrollbar-thumb-hover: rgb(67 52 43 / 0.85);
|
||||
--scrollbar-thin-thumb: rgb(67 52 43 / 0.45);
|
||||
--scrollbar-thin-thumb-hover: rgb(67 52 43 / 0.7);
|
||||
--brand: #6ea76b;
|
||||
--brand-foreground: #19120a;
|
||||
--brand-primary: #6ea76b;
|
||||
--brand-accent: #6ea76b;
|
||||
--brand-warm: #e46923;
|
||||
--brand-deep: #19120a;
|
||||
--brand-muted: #43342b;
|
||||
--ink: #f0d9b5;
|
||||
--surface-warm: #2d2013;
|
||||
--naturegreen: #a0a81f;
|
||||
--naturegreen-foreground: #19120a;
|
||||
--duck-dark: #f0d9b5;
|
||||
--duck-teal: #6ea76b;
|
||||
--duck-yellow: #e8a327;
|
||||
--duck-orange: #e46923;
|
||||
--duck-forest: #a0a81f;
|
||||
--duck-beige: #413323;
|
||||
--logo-src: '/officer-logo.svg';
|
||||
}
|
||||
@@ -0,0 +1,97 @@
|
||||
/*
|
||||
X 1632 — 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/OldJobobo/omarchy-x-1632-theme (colors.toml (16-colour ANSI)), read by scripts/port-community-themes.ts. Values
|
||||
went through deriveOmarchyPalette (scripts/themes/from-ansi.ts) because the source has no Omarchy 4
|
||||
colors.toml — 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='x-1632'] {
|
||||
--background: #1a1b1f;
|
||||
--foreground: #c7c6c1;
|
||||
--card: #2f3138;
|
||||
--card-foreground: #c7c6c1;
|
||||
--popover: #2f3138;
|
||||
--popover-foreground: #c7c6c1;
|
||||
--muted: #3e3f46;
|
||||
--muted-foreground: #ababaa;
|
||||
--accent: #3e3f46;
|
||||
--accent-foreground: #c7c6c1;
|
||||
--primary: #92a9cd;
|
||||
--primary-foreground: #1a1b1f;
|
||||
--secondary: #3e3f46;
|
||||
--secondary-foreground: #c7c6c1;
|
||||
--cta: #92a9cd;
|
||||
--cta-foreground: #1a1b1f;
|
||||
--ctahover: #9fb3d3;
|
||||
--success: #8b8e76;
|
||||
--success-foreground: #1a1b1f;
|
||||
--warning: #d6c8ba;
|
||||
--warning-foreground: #1a1b1f;
|
||||
--destructive: #a07d7d;
|
||||
--destructive-foreground: #1a1b1f;
|
||||
--info: #7f8da1;
|
||||
--info-foreground: #1a1b1f;
|
||||
--busy: #bba39c;
|
||||
--busy-foreground: #1a1b1f;
|
||||
--busy-ink: #bba39c;
|
||||
--border: #4d4e53;
|
||||
--input: #4d4e53;
|
||||
--ring: #92a9cd;
|
||||
--radius: 0.625rem;
|
||||
--chart-primary: #92a9cd;
|
||||
--chart-secondary: #8383c3;
|
||||
--status-success: #8b8e76;
|
||||
--status-warning: #d6c8ba;
|
||||
--status-in-progress: #7f8da1;
|
||||
--page-bg: #1a1b1f;
|
||||
--page-bg-src: '';
|
||||
--panel-bg: rgb(47 49 56 / 0.72);
|
||||
--panel-border: rgb(77 78 83 / 0.9);
|
||||
--panel-border-bare: rgb(77 78 83 / 0.55);
|
||||
--panel-raised-bg: rgb(47 49 56 / 0.95);
|
||||
--panel-raised-border: rgb(77 78 83 / 1);
|
||||
--panel-accent: #92a9cd;
|
||||
--panel-header-bg: rgb(62 63 70 / 0.6);
|
||||
--panel-header-fg: #c7c6c1;
|
||||
--panel-radius: 0.75rem;
|
||||
--panel-blur: 12px;
|
||||
--card-bg: #2f3138;
|
||||
--glass-bg: rgb(47 49 56 / 0.55);
|
||||
--glass-border: rgb(77 78 83 / 0.7);
|
||||
--dock-bg: rgb(47 49 56 / 0.7);
|
||||
--dock-border: rgb(77 78 83 / 0.8);
|
||||
--dock-tooltip-bg: #3e3f46;
|
||||
--header-bg: rgb(47 49 56 / 0.8);
|
||||
--header-border: rgb(77 78 83 / 0.9);
|
||||
--header-fg: #c7c6c1;
|
||||
--header-blur: 12px;
|
||||
--pixel-grid-color: rgb(122 123 125 / 0.07);
|
||||
--card-grid-color: rgb(122 123 125 / 0.05);
|
||||
--panel-grid-color: rgb(122 123 125 / 0.06);
|
||||
--scrollbar-thumb: rgb(140 139 134 / 0.6);
|
||||
--scrollbar-thumb-hover: rgb(140 139 134 / 0.85);
|
||||
--scrollbar-thin-thumb: rgb(140 139 134 / 0.45);
|
||||
--scrollbar-thin-thumb-hover: rgb(140 139 134 / 0.7);
|
||||
--brand: #92a9cd;
|
||||
--brand-foreground: #1a1b1f;
|
||||
--brand-primary: #92a9cd;
|
||||
--brand-accent: #7f99c1;
|
||||
--brand-warm: #bba39c;
|
||||
--brand-deep: #1a1b1f;
|
||||
--brand-muted: #8c8b86;
|
||||
--ink: #c7c6c1;
|
||||
--surface-warm: #2f3138;
|
||||
--naturegreen: #8b8e76;
|
||||
--naturegreen-foreground: #1a1b1f;
|
||||
--duck-dark: #c7c6c1;
|
||||
--duck-teal: #7f99c1;
|
||||
--duck-yellow: #d6c8ba;
|
||||
--duck-orange: #bba39c;
|
||||
--duck-forest: #8b8e76;
|
||||
--duck-beige: #3e4046;
|
||||
--logo-src: '/officer-logo.svg';
|
||||
}
|
||||
@@ -82,12 +82,15 @@ export const THEMES: readonly Theme[] = [
|
||||
{ id: 'all-hallows-eve', name: 'All Hallows Eve', family: 'All Hallows Eve', applyDarkClass: true },
|
||||
{ id: 'amberbyte', name: 'Amberbyte', family: 'Amberbyte', applyDarkClass: true },
|
||||
{ id: 'amekoji', name: 'Amekoji', family: 'Amekoji', applyDarkClass: true },
|
||||
{ id: 'andromeda', name: 'Andromeda', family: 'Andromeda', applyDarkClass: true },
|
||||
{ id: 'anonymous', name: 'Anonymous', family: 'Anonymous', applyDarkClass: true },
|
||||
{ id: 'apocalypse', name: 'Apocalypse', family: 'Apocalypse', applyDarkClass: true },
|
||||
{ id: 'arc-blueberry', name: 'Arc Blueberry', family: 'Arc Blueberry', applyDarkClass: true },
|
||||
{ id: 'archriot', name: 'Archriot', family: 'Archriot', applyDarkClass: true },
|
||||
{ id: 'archwave', name: 'Archwave', family: 'Archwave', applyDarkClass: true },
|
||||
{ id: 'artzen', name: 'Artzen', family: 'Artzen', applyDarkClass: true },
|
||||
{ id: 'ash', name: 'Ash', family: 'Ash', applyDarkClass: true },
|
||||
{ id: 'astrodark', name: 'Astrodark', family: 'Astrodark', applyDarkClass: true },
|
||||
{ id: 'atari', name: 'Atari', family: 'Atari', applyDarkClass: true },
|
||||
{ id: 'atelier', name: 'Atelier', family: 'Atelier', applyDarkClass: true },
|
||||
{ id: 'aura', name: 'Aura', family: 'Aura', applyDarkClass: true },
|
||||
@@ -102,15 +105,23 @@ export const THEMES: readonly Theme[] = [
|
||||
{ id: 'bauhaus', name: 'Bauhaus', family: 'Bauhaus', applyDarkClass: true },
|
||||
{ id: 'beachvan', name: 'Beachvan', family: 'Beachvan', applyDarkClass: true },
|
||||
{ id: 'beta', name: 'Beta', family: 'Beta', applyDarkClass: true },
|
||||
{ id: 'biscuit-de-mar-dark', name: 'Biscuit DE Mar Dark', family: 'Biscuit DE Mar Dark', applyDarkClass: true },
|
||||
{ id: 'black-arch', name: 'Black Arch', family: 'Black Arch', applyDarkClass: true },
|
||||
{ id: 'black-gold', name: 'Black Gold', family: 'Black Gold', applyDarkClass: true },
|
||||
{ id: 'black-money', name: 'Black Money', family: 'Black Money', applyDarkClass: true },
|
||||
{ id: 'blackturq', name: 'Blackturq', family: 'Blackturq', applyDarkClass: true },
|
||||
{ id: 'blueridge', name: 'Blueridge', family: 'Blueridge', applyDarkClass: true },
|
||||
{ id: 'brutalism', name: 'Brutalism', family: 'Brutalism', applyDarkClass: true },
|
||||
{ id: 'caroline-skyline', name: 'Caroline Skyline', family: 'Caroline Skyline', applyDarkClass: true },
|
||||
{ id: 'catppuccin-mocha', name: 'Catppuccin Mocha', family: 'Catppuccin Mocha', applyDarkClass: true },
|
||||
{ id: 'cattpuccin-glass', name: 'Cattpuccin Glass', family: 'Cattpuccin Glass', applyDarkClass: true },
|
||||
{ id: 'city-783', name: 'City 783', family: 'City 783', applyDarkClass: true },
|
||||
{ id: 'copper-night', name: 'Copper Night', family: 'Copper Night', applyDarkClass: true },
|
||||
{ id: 'corporate', name: 'Corporate', family: 'Corporate', applyDarkClass: false },
|
||||
{ id: 'cpunk', name: 'Cpunk', family: 'Cpunk', applyDarkClass: true },
|
||||
{ id: 'crimson', name: 'Crimson', family: 'Crimson', applyDarkClass: true },
|
||||
{ id: 'crimson-gold', name: 'Crimson Gold', family: 'Crimson Gold', applyDarkClass: true },
|
||||
{ id: 'cyberpunk-2', name: 'Cyberpunk 2', family: 'Cyberpunk 2', applyDarkClass: true },
|
||||
{ id: 'dark-xp', name: 'Dark XP', family: 'Dark XP', applyDarkClass: true },
|
||||
{ id: 'dayfox', name: 'Dayfox', family: 'Dayfox', applyDarkClass: false },
|
||||
{ id: 'dead-space', name: 'Dead Space', family: 'Dead Space', applyDarkClass: true },
|
||||
@@ -118,21 +129,32 @@ export const THEMES: readonly Theme[] = [
|
||||
{ id: 'delete', name: 'Delete', family: 'Delete', applyDarkClass: true },
|
||||
{ id: 'delorean', name: 'Delorean', family: 'Delorean', applyDarkClass: true },
|
||||
{ id: 'demon', name: 'Demon', family: 'Demon', applyDarkClass: true },
|
||||
{ id: 'desert-gleam', name: 'Desert Gleam', family: 'Desert Gleam', applyDarkClass: false },
|
||||
{ id: 'desert-twilight', name: 'Desert Twilight', family: 'Desert Twilight', applyDarkClass: true },
|
||||
{ id: 'dotrb', name: 'Dotrb', family: 'Dotrb', applyDarkClass: true },
|
||||
{ id: 'drac', name: 'Drac', family: 'Drac', applyDarkClass: true },
|
||||
{ id: 'dracula', name: 'Dracula', family: 'Dracula', applyDarkClass: true },
|
||||
{ id: 'dragon', name: 'Dragon', family: 'Dragon', applyDarkClass: true },
|
||||
{ id: 'dreamwave', name: 'Dreamwave', family: 'Dreamwave', applyDarkClass: true },
|
||||
{ id: 'elysian', name: 'Elysian', family: 'Elysian', applyDarkClass: true },
|
||||
{ id: 'ember-n-ash', name: 'Ember N Ash', family: 'Ember N Ash', applyDarkClass: true },
|
||||
{ id: 'eva-unit-01', name: 'Eva Unit 01', family: 'Eva Unit 01', applyDarkClass: true },
|
||||
{ id: 'event-horizon', name: 'Event Horizon', family: 'Event Horizon', applyDarkClass: true },
|
||||
{ id: 'everblush', name: 'Everblush', family: 'Everblush', applyDarkClass: true },
|
||||
{ id: 'evergarden', name: 'Evergarden', family: 'Evergarden', applyDarkClass: true },
|
||||
{ id: 'farline', name: 'Farline', family: 'Farline', applyDarkClass: true },
|
||||
{ id: 'felix', name: 'Felix', family: 'Felix', applyDarkClass: true },
|
||||
{ id: 'fiery-ocean', name: 'Fiery Ocean', family: 'Fiery Ocean', applyDarkClass: true },
|
||||
{ id: 'fireside', name: 'Fireside', family: 'Fireside', applyDarkClass: true },
|
||||
{ id: 'firesky', name: 'Firesky', family: 'Firesky', applyDarkClass: true },
|
||||
{ id: 'flat-dracula', name: 'Flat Dracula', family: 'Flat Dracula', applyDarkClass: true },
|
||||
{ id: 'flexoki-dark', name: 'Flexoki Dark', family: 'Flexoki Dark', applyDarkClass: true },
|
||||
{ id: 'florida-man', name: 'Florida Man', family: 'Florida Man', applyDarkClass: true },
|
||||
{ id: 'fluid-glass', name: 'Fluid Glass', family: 'Fluid Glass', applyDarkClass: true },
|
||||
{ id: 'forest-green', name: 'Forest Green', family: 'Forest Green', applyDarkClass: true },
|
||||
{ id: 'frost', name: 'Frost', family: 'Frost', applyDarkClass: true },
|
||||
{ id: 'futurism', name: 'Futurism', family: 'Futurism', applyDarkClass: true },
|
||||
{ id: 'ghost-pastel', name: 'Ghost Pastel', family: 'Ghost Pastel', applyDarkClass: true },
|
||||
{ id: 'glory-antic', name: 'Glory Antic', family: 'Glory Antic', applyDarkClass: true },
|
||||
{ id: 'gold-rush', name: 'Gold Rush', family: 'Gold Rush', applyDarkClass: true },
|
||||
{ id: 'gotham-city', name: 'Gotham City', family: 'Gotham City', applyDarkClass: true },
|
||||
@@ -142,12 +164,18 @@ export const THEMES: readonly Theme[] = [
|
||||
{ id: 'gruber-tsoding', name: 'Gruber Tsoding', family: 'Gruber Tsoding', applyDarkClass: true },
|
||||
{ id: 'grudark', name: 'Grudark', family: 'Grudark', applyDarkClass: true },
|
||||
{ id: 'harbor', name: 'Harbor', family: 'Harbor', applyDarkClass: false },
|
||||
{ id: 'harbor-dark', name: 'Harbor Dark', family: 'Harbor Dark', applyDarkClass: true },
|
||||
{ id: 'hex', name: 'Hex', family: 'Hex', applyDarkClass: true },
|
||||
{ id: 'himalaya', name: 'Himalaya', family: 'Himalaya', applyDarkClass: true },
|
||||
{ id: 'hinterlands', name: 'Hinterlands', family: 'Hinterlands', applyDarkClass: true },
|
||||
{ id: 'hollow-knight', name: 'Hollow Knight', family: 'Hollow Knight', applyDarkClass: true },
|
||||
{ id: 'infernium', name: 'Infernium', family: 'Infernium', applyDarkClass: false },
|
||||
{ id: 'infernium-dark', name: 'Infernium Dark', family: 'Infernium Dark', applyDarkClass: true },
|
||||
{ id: 'inkypinky', name: 'Inkypinky', family: 'Inkypinky', applyDarkClass: true },
|
||||
{ id: 'kanso', name: 'Kanso', family: 'Kanso', applyDarkClass: true },
|
||||
{ id: 'killer-klowns', name: 'Killer Klowns', family: 'Killer Klowns', applyDarkClass: true },
|
||||
{ id: 'kimiko', name: 'Kimiko', family: 'Kimiko', applyDarkClass: true },
|
||||
{ id: 'koyanagi', name: 'Koyanagi', family: 'Koyanagi', applyDarkClass: true },
|
||||
{ id: 'kurayami', name: 'Kurayami', family: 'Kurayami', applyDarkClass: true },
|
||||
{ id: 'lain', name: 'Lain', family: 'Lain', applyDarkClass: true },
|
||||
{ id: 'lairetam', name: 'Lairetam', family: 'Lairetam', applyDarkClass: true },
|
||||
@@ -167,17 +195,23 @@ export const THEMES: readonly Theme[] = [
|
||||
{ id: 'monokai', name: 'Monokai', family: 'Monokai', applyDarkClass: true },
|
||||
{ id: 'monokai-dark', name: 'Monokai Dark', family: 'Monokai Dark', applyDarkClass: true },
|
||||
{ id: 'monolith', name: 'Monolith', family: 'Monolith', applyDarkClass: true },
|
||||
{ id: 'monolith-2', name: 'Monolith 2', family: 'Monolith 2', applyDarkClass: true },
|
||||
{ id: 'moodpeak', name: 'Moodpeak', family: 'Moodpeak', applyDarkClass: true },
|
||||
{ id: 'nagai-poolside', name: 'Nagai Poolside', family: 'Nagai Poolside', applyDarkClass: true },
|
||||
{ id: 'nagai-twilight', name: 'Nagai Twilight', family: 'Nagai Twilight', applyDarkClass: true },
|
||||
{ id: 'nebulite', name: 'Nebulite', family: 'Nebulite', applyDarkClass: true },
|
||||
{ id: 'neo-sploosh', name: 'Neo Sploosh', family: 'Neo Sploosh', applyDarkClass: true },
|
||||
{ id: 'neon-street', name: 'Neon Street', family: 'Neon Street', applyDarkClass: true },
|
||||
{ id: 'neovoid', name: 'Neovoid', family: 'Neovoid', applyDarkClass: true },
|
||||
{ id: 'nes', name: 'Nes', family: 'Nes', applyDarkClass: true },
|
||||
{ id: 'nyc', name: 'Nyc', family: 'Nyc', applyDarkClass: true },
|
||||
{ id: 'one-dark-pro', name: 'One Dark Pro', family: 'One Dark Pro', applyDarkClass: true },
|
||||
{ id: 'oxford', name: 'Oxford', family: 'Oxford', applyDarkClass: true },
|
||||
{ id: 'oxocarbon-dark', name: 'Oxocarbon Dark', family: 'Oxocarbon Dark', applyDarkClass: true },
|
||||
{ id: 'pandora', name: 'Pandora', family: 'Pandora', applyDarkClass: true },
|
||||
{ id: 'pina', name: 'Pina', family: 'Pina', applyDarkClass: true },
|
||||
{ id: 'pink-blood', name: 'Pink Blood', family: 'Pink Blood', applyDarkClass: true },
|
||||
{ id: 'pmndrs', name: 'Pmndrs', family: 'Pmndrs', applyDarkClass: true },
|
||||
{ id: 'pulsar', name: 'Pulsar', family: 'Pulsar', applyDarkClass: true },
|
||||
{ id: 'purple-moon', name: 'Purple Moon', family: 'Purple Moon', applyDarkClass: true },
|
||||
{ id: 'purplewave', name: 'Purplewave', family: 'Purplewave', applyDarkClass: true },
|
||||
@@ -185,11 +219,19 @@ export const THEMES: readonly Theme[] = [
|
||||
{ id: 'rdddcs', name: 'Rdddcs', family: 'Rdddcs', applyDarkClass: true },
|
||||
{ id: 'red-monarch', name: 'Red Monarch', family: 'Red Monarch', applyDarkClass: true },
|
||||
{ id: 'retropc', name: 'Retropc', family: 'Retropc', applyDarkClass: true },
|
||||
{ id: 'reverie', name: 'Reverie', family: 'Reverie', applyDarkClass: true },
|
||||
{ id: 'robco', name: 'Robco', family: 'Robco', applyDarkClass: true },
|
||||
{ id: 'robco-mojave', name: 'Robco Mojave', family: 'Robco Mojave', applyDarkClass: true },
|
||||
{ id: 'rose-pine-dark', name: 'Rose Pine Dark', family: 'Rose Pine Dark', applyDarkClass: true },
|
||||
{ id: 'roseofdune', name: 'Roseofdune', family: 'Roseofdune', applyDarkClass: false },
|
||||
{ id: 'royal', name: 'Royal', family: 'Royal', applyDarkClass: true },
|
||||
{ id: 'rustleaf', name: 'Rustleaf', family: 'Rustleaf', applyDarkClass: true },
|
||||
{ id: 'saga', name: 'Saga', family: 'Saga', applyDarkClass: true },
|
||||
{ id: 'sakura', name: 'Sakura', family: 'Sakura', applyDarkClass: true },
|
||||
{ id: 'sapphire', name: 'Sapphire', family: 'Sapphire', applyDarkClass: true },
|
||||
{ id: 'serenity', name: 'Serenity', family: 'Serenity', applyDarkClass: true },
|
||||
{ id: 'shadesofjade', name: 'Shadesofjade', family: 'Shadesofjade', applyDarkClass: true },
|
||||
{ id: 'snow', name: 'Snow', family: 'Snow', applyDarkClass: false },
|
||||
{ id: 'snow-black', name: 'Snow Black', family: 'Snow Black', applyDarkClass: true },
|
||||
{ id: 'space-bound', name: 'Space Bound', family: 'Space Bound', applyDarkClass: true },
|
||||
{ id: 'space-monkey', name: 'Space Monkey', family: 'Space Monkey', applyDarkClass: true },
|
||||
@@ -197,6 +239,7 @@ export const THEMES: readonly Theme[] = [
|
||||
{ id: 'spectra', name: 'Spectra', family: 'Spectra', applyDarkClass: true },
|
||||
{ id: 'stellar', name: 'Stellar', family: 'Stellar', applyDarkClass: true },
|
||||
{ id: 'stillmoon', name: 'Stillmoon', family: 'Stillmoon', applyDarkClass: true },
|
||||
{ id: 'sunkissed', name: 'Sunkissed', family: 'Sunkissed', applyDarkClass: true },
|
||||
{ id: 'sunset', name: 'Sunset', family: 'Sunset', applyDarkClass: true },
|
||||
{ id: 'synthetica', name: 'Synthetica', family: 'Synthetica', applyDarkClass: true },
|
||||
{ id: 'synthwave-84', name: 'Synthwave 84', family: 'Synthwave 84', applyDarkClass: true },
|
||||
@@ -220,6 +263,7 @@ export const THEMES: readonly Theme[] = [
|
||||
{ id: 'wasteland', name: 'Wasteland', family: 'Wasteland', applyDarkClass: true },
|
||||
{ id: 'waveform-dark', name: 'Waveform Dark', family: 'Waveform Dark', applyDarkClass: true },
|
||||
{ id: 'white-gold', name: 'White Gold', family: 'White Gold', applyDarkClass: false },
|
||||
{ id: 'x-1632', name: 'X 1632', family: 'X 1632', applyDarkClass: true },
|
||||
{ id: 'yuugure', name: 'Yuugure', family: 'Yuugure', applyDarkClass: true },
|
||||
/* COMMUNITY THEMES — end */
|
||||
] as const;
|
||||
|
||||
Reference in New Issue
Block a user