skill
Adom Theme
Public Made by Adomby adom
The canonical Adom application theme spec: five schemes, exact tokens, font pairings, and the implementation contract.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
/*
* Adom theme tokens - all five schemes, extracted VERBATIM from the reference
* implementation (hydrogen-desktop src/routes/styles.css @ a4c764be, pack v7.2.0).
* The base :root block IS Adom Studio Dark; each [data-scheme] block overrides it.
* Apply as <html data-scheme="studio|studio-bright|studio-dark|kickstand|slate">
* (studio-dark needs no block - it is the base).
* Comments were stripped mechanically; the values are byte-exact.
* Living source + full rationale: https://wiki.adom.inc/adom/adom-theme-system
*/
:root {
--font-body: 'DM Sans Variable', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen,
Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
--font-mono: 'DM Mono', monospace;
--brand-heading: 'Familjen Grotesk', var(--font-body);
--brand-body: 'Satoshi', var(--font-body);
--brand-teal: var(--accent);
--brand-teal-dark: #003c3f;
--brand-blue: #0061ef;
--brand-navy: #00204f;
--brand-black: #191919;
--bg: #0d1117;
--surface: #161b22;
--elevated: #1c2128;
--overlay: #21262d;
--border: #30363d;
--text: #e6edf3;
--text-body: #c9d1d9;
--text-2: #8b949e;
--text-3: #484f58;
--accent: #00b8b1;
--accent-hover: #00d4cb;
--accent-bright: #00e6dc;
--on-accent: #05221f;
--blue: #64abff;
--blue-fill: #0061ef;
--purple: #8c6bf7;
--green: #3fb950;
--red: #f85149;
--yellow: #d29922;
--color-text: rgba(0, 0, 0, 0.7);
overscroll-behavior: none;
}
:root[data-scheme='studio'] {
--text-2: #c9d1d9;
--text-3: #6e7681;
--bg: #161b22;
--surface: #0d1117;
}
:root[data-scheme='studio-bright'] {
--text-2: #c9d1d9;
--text-3: #6e7681;
}
:root[data-scheme='kickstand'] {
--bg: #191919;
--surface: #202127;
--elevated: #282a30;
--overlay: #0e1c31;
--border: #3d3f46;
--text: #f5f7f9;
--text-body: #d7dde3;
--text-2: #97a0aa;
--text-3: #5a626b;
--accent: #00b8b1;
--accent-hover: #00d4cb;
--accent-bright: #8fd3d4;
--on-accent: #003c3f;
--blue: #64abff;
--blue-fill: #0061ef;
--purple: #8c6bf7;
--green: #3fb950;
--red: #f85149;
--yellow: #d29922;
}
:root[data-scheme='slate'] {
--bg: #17212e;
--surface: #202a37;
--elevated: #28323f;
--overlay: #313b48;
--border: #3d4754;
--text: #f0f6fc;
--text-body: #d3e0ef;
--text-2: #93a6bd;
--text-3: #4a5a70;
--accent: #00b8b1;
--accent-hover: #00d4cb;
--accent-bright: #5fe6de;
--on-accent: #04211f;
--blue: #64abff;
--blue-fill: #0061ef;
--purple: #8c6bf7;
--green: #3fb950;
--red: #f85149;
--yellow: #d29922;
}