themes: add Akari Dawn / Akari Night
Two new theme-common themes based on Shu Kutsuzawa's Akari
(https://github.com/cappyzawa/akari-theme, MIT). Alloy adopts these
as its default light / dark themes, and they're cross-available to
every theme-common consumer (GoingsOn, Balanced Breakfast, audiofiles,
makenot.work server).
Dawn maps Akari's warm-clay light palette to theme-common's schema:
lantern-orange -> action.primary, red -> status.danger, green (life)
-> status.success, amber -> status.warning, night-blue ->
status.info. surface tiers reinterpret Akari's palette to theme-
common's L-ordering convention (raised lighter than page, sunken
darker) since Akari's own semantics use "raised" for popup panels
(darker than bg). Night follows the same mapping with Akari's bright
counterparts.
Verified via alloy's tools/wcag_audit.py; failures are Akari-inherent
(warning amber on cream chrome fails AA-text at 2.5-3.2 but clears
AA-UI for glyph use) and survive Alloy's accent-on-glyph rule.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2 files changed,
+94 insertions,
-0 deletions
|
1 |
+ |
# Based on Akari by Shu Kutsuzawa (cappyzawa) — MIT License
|
|
2 |
+ |
# https://github.com/cappyzawa/akari-theme
|
|
3 |
+ |
#
|
|
4 |
+ |
# Akari Dawn — inspired by Japanese alleys lit by round lanterns.
|
|
5 |
+ |
# Design principles from the source: light is singular (lantern-orange
|
|
6 |
+ |
# is the only primary accent), blue is air not light (night sky),
|
|
7 |
+ |
# purple stays muted, green is life, black is warm grey. Alloy adopts
|
|
8 |
+ |
# this as its default light theme.
|
|
9 |
+ |
#
|
|
10 |
+ |
# Note on surface tiers: theme-common's convention is that `raised`
|
|
11 |
+ |
# reads as elevated (lighter in light mode) and `sunken` as recessed
|
|
12 |
+ |
# (darker). Akari's own Helix theme uses different semantics (a darker
|
|
13 |
+ |
# "surface" for statusline / cursorline). The tiers below reinterpret
|
|
14 |
+ |
# Akari's palette to theme-common's L-ordering while staying inside
|
|
15 |
+ |
# the source's tonal range — page and sunken take Akari's own values;
|
|
16 |
+ |
# raised and overlay are computed warmer/lighter tones that read as
|
|
17 |
+ |
# "paper caught in more lamp light."
|
|
18 |
+ |
|
|
19 |
+ |
[meta]
|
|
20 |
+ |
name = "Akari Dawn"
|
|
21 |
+ |
variant = "light"
|
|
22 |
+ |
|
|
23 |
+ |
[surface]
|
|
24 |
+ |
page = "#e4ded6"
|
|
25 |
+ |
raised = "#ede7de"
|
|
26 |
+ |
sunken = "#cfc4b6"
|
|
27 |
+ |
overlay = "#f0ece4"
|
|
28 |
+ |
|
|
29 |
+ |
[content]
|
|
30 |
+ |
primary = "#1a1816"
|
|
31 |
+ |
secondary = "#222d38"
|
|
32 |
+ |
muted = "#514b45"
|
|
33 |
+ |
|
|
34 |
+ |
[action]
|
|
35 |
+ |
primary = "#8a4530"
|
|
36 |
+ |
|
|
37 |
+ |
[status]
|
|
38 |
+ |
danger = "#6a2828"
|
|
39 |
+ |
success = "#3a5830"
|
|
40 |
+ |
warning = "#b07840"
|
|
41 |
+ |
info = "#304050"
|
|
42 |
+ |
|
|
43 |
+ |
[line]
|
|
44 |
+ |
border = "#cabeae"
|
|
45 |
+ |
|
|
46 |
+ |
[category]
|
|
47 |
+ |
one = "#8a4530"
|
|
48 |
+ |
two = "#3a5830"
|
|
49 |
+ |
three = "#304050"
|
|
50 |
+ |
four = "#b07840"
|
|
51 |
+ |
five = "#806080"
|
|
52 |
+ |
six = "#305858"
|
|
1 |
+ |
# Based on Akari by Shu Kutsuzawa (cappyzawa) — MIT License
|
|
2 |
+ |
# https://github.com/cappyzawa/akari-theme
|
|
3 |
+ |
#
|
|
4 |
+ |
# Akari Night — dark counterpart to Akari Dawn. Same design principles:
|
|
5 |
+ |
# lantern-orange is the only primary light source, blue is night sky
|
|
6 |
+ |
# (not accent light), green is life, purple stays quiet. Alloy adopts
|
|
7 |
+ |
# this as its default dark theme.
|
|
8 |
+ |
|
|
9 |
+ |
[meta]
|
|
10 |
+ |
name = "Akari Night"
|
|
11 |
+ |
variant = "dark"
|
|
12 |
+ |
|
|
13 |
+ |
[surface]
|
|
14 |
+ |
page = "#25231f"
|
|
15 |
+ |
raised = "#2e2c27"
|
|
16 |
+ |
sunken = "#1c1a17"
|
|
17 |
+ |
overlay = "#35322c"
|
|
18 |
+ |
|
|
19 |
+ |
[content]
|
|
20 |
+ |
primary = "#e6ded3"
|
|
21 |
+ |
secondary = "#c0b8ad"
|
|
22 |
+ |
muted = "#8e847a"
|
|
23 |
+ |
|
|
24 |
+ |
[action]
|
|
25 |
+ |
primary = "#e26a3b"
|
|
26 |
+ |
|
|
27 |
+ |
[status]
|
|
28 |
+ |
danger = "#d25046"
|
|
29 |
+ |
success = "#7faf6a"
|
|
30 |
+ |
warning = "#d4a05a"
|
|
31 |
+ |
info = "#7a8fa2"
|
|
32 |
+ |
|
|
33 |
+ |
[line]
|
|
34 |
+ |
border = "#3d3a35"
|
|
35 |
+ |
|
|
36 |
+ |
[category]
|
|
37 |
+ |
one = "#e26a3b"
|
|
38 |
+ |
two = "#7faf6a"
|
|
39 |
+ |
three = "#7a8fa2"
|
|
40 |
+ |
four = "#d4a05a"
|
|
41 |
+ |
five = "#8e7ba0"
|
|
42 |
+ |
six = "#6f8f8a"
|