Dark default · :root + [data-theme="dark"] · color-scheme dark

Live · chrome-bar (brand) · list (working) · agent card (brand) with a re-entered working card
PostieSearch every accountCompose
Overnight triage done. 6 need you.Review
S
Studio · invoice 371295
Deposit received, balance due Friday.
6
TA
Tailor · fitting moved
Thursday 10:40 works for the client.
09:12
PN
PINM · thread-match booklet
Sixty-two swatches scanned.
Fri
AgentClaude Code · onRan at 05:00. Archived 41, replied to 3, left 6 for you.See what it did
S
paper-preview · re-entered
working tokens inside a brand block
2
Role → value · dark
Role tokenDark valueReads
Brand ground · theme-invariant
--postie-groundcharcoal #1F1D1Echrome-bar · masthead · hero · agent card
--postie-raised-brandcharcoal-deep #141213search well · avatar · chips
--postie-ink-brand · body-brand · muted-brand#F1ECEC · #C7BEBF · #978C8D14.33 · 9.22 · 5.15
--postie-accent-text-brand · hoveroxblood-lift #E4606C · #EE7A854.94 · 6.19
--postie-edge-brandmuted-on-charcoal #978C8Dghost-button edge only
Working ground · night
--postie-surface · raised · selected#111011 · #1A1819 · #231B1Dlist · rail/panels · selected row
--postie-ink · body · muted#ECE7E7 · #BBB2B3 · #8F858615.51 · 9.16 · 5.30
--postie-accent · accent-inkoxblood #8A1E2B · #F6EDEDFILL only · 7.93
--postie-accent-text · hover#E4606C · #EE7A855.60 · 7.01
--postie-edge · rule#6E6566 · #2A25263.36 UI edge · decorative
--postie-pebble-1 · 2 · pebble-ink#2F292A · #3D3536 · #F1ECEC12.20 · 10.19
--postie-triage · ink · signal#231B1D · #ECE7E7 · #E4606Ctint on dark
--postie-select-fill · ink#1F1D1E · #F1ECECselected segment: charcoal

Light alternate · [data-theme="light"] · color-scheme light

Live · the chrome does not change with theme — paper is the working surface
PostieSearch every accountCompose
Overnight triage done. 6 need you.Review
S
Studio · invoice 371295
Deposit received, balance due Friday.
6
TA
Tailor · fitting moved
Thursday 10:40 works for the client.
09:12
PN
PINM · thread-match booklet
Sixty-two swatches scanned.
Fri
AgentClaude Code · onRan at 05:00. Archived 41, replied to 3, left 6 for you.See what it did
S
paper-preview · re-entered
working tokens inside a brand block
2
Role → value · light (only what differs from dark)
Role tokenLight valueReads
Brand ground · identical to dark except the raised step
--postie-groundcharcoal #1F1D1Eunchanged — dark chrome over paper
--postie-raised-brandcharcoal-lift #28262712.85 · 8.27 · 4.62
ink-brand · body-brand · muted-brand · accent-text-brandunchangedinherited from :root
Working ground · paper
--postie-surface · raised · selected#FBFAFA · #EEEDED · #F2DCDFpaper · rail/panels · selected row
--postie-ink · body · muted#141314 · #4A4849 · #64616217.79 · 8.71 · 5.88
--postie-accent · accent-inkoxblood #8A1E2B · #F6EDEDFILL for the primary moments · 7.93
--postie-accent-text · hover#8A1E2B · #6F16228.76 · 11.11 — the lift is never on paper
--postie-edge · rule#8A8788 · #E4E2E23.42 UI edge · decorative
--postie-pebble-1 · 2 · pebble-ink#DAD8D8 · #C7C4C5 · #14131413.06 · 10.71
--postie-triage · ink · signal#8A1E2B · #F6EDED · #F6EDEDoxblood FILL on light
--postie-select-fill · ink#8A1E2B · #F6EDEDselected segment: oxblood
Every scope applies color + background-color — never a remap alone
:root · [data-theme] · .postie-brand · .postie-workingcolor · background-colorcomponents read --postie-c-* only