Koodle design system
Every token below is wired into Tailwind v4’s @theme block in apps/web/src/app/globals.css. Theme flips via next-themes on the toggle in the topbar.
Color tokens
@theme inline → CSS vars → tailwind utilities
background
background
--background
foreground
foreground
--foreground
card
card
--card
muted
muted
--muted
primary
primary
--primary
agent
agent
--agent
agent-bg
agent-bg
--agent-bg
ai-bg
ai-bg
--ai-bg
bubble
bubble
--bubble
diff-bg
diff-bg
--diff-bg
warning
warning
--warning
info
info
--info
destructive
destructive
--destructive
border
border
--border
input
input
--input
ring
ring
--ring
Text scale
prototype --t1..t4
The quick brown fox
t1 — foreground
The quick brown fox
t2 — body
The quick brown fox
t3 — secondary
The quick brown fox
t4 — tertiary
Typography scale
Inter Variable · prototype uses 9–18px throughout
koodle
18px · 600 · -0.5px
AAPL thesis
17px · 600 · -0.3px
Section heading
14px · 500 · 0
Default body copy
13px · 400 · 0
Project name · sidebar
12px · 500 · 0
Secondary meta · 156 entries
11px · 500 · 0
LABEL · UPPERCASE
10px · 600 · 0.5px
MICRO LABEL
9px · 600 · 0.4px
Button variants
cva variants from @/components/ui/button — added lazily as features need them
Sample primitives
patterns downstream issues (#48–#64) will reuse
Koodle
Sample agent message using
bg-agent-bg and a 2.5px border-agent left edge. This is the shape every assistant reply will use in #50.Sample user message using
bg-bubble and an asymmetric border radius (4px on the bottom-right corner).✎Saved
file-update notification
uses
bg-diff-bg + border-warningInline claim with citation — the chip is a real
<button>, not a span with role.AAPL thesis7 inbound47,832 NexusKoodle active
⚠ Conflict warning
Sample destructive surface — uses
bg-destructive/5 with a 3px border-destructive left edge.