Presets Custard Schoolbook

Custard Schoolbook

Retro-modern learning UI: ochre actions on cream paper, heavy Epilogue headlines and hard-offset shadows on a modern 4px grid.

Free Use in Figma, free Download

Colour

Five ramps, 50 to 950

brand50fff8ea100ffedc9200fedb97300f6c25f400e8a52d500c0811360096600a700764a088005a37079003f2605950271602
neutral50fbf6ec100f3ecde200e5dbca300cec2ad400ad9f8a5008c7f6960071654f7005a503e800433c2e9002e291f9501b1812
success50f0fae8100dcf3cd200bae3a430093ce784006cb4515004c9a37600387e277002a65208001e4c179001436109500a1f08
warning50fffbe0100fff4b0200f8e46e300e7ce3a400cfb31a500ad93066008b75007006c5a00800514300900392e00950231b00
danger50fff4f5100ffe2e6200ffc4cd300fb97a8400ef677f500d93d5d600b92646700961a3880073122b900520a1d950340210

Semantic tokens

Light and dark

LightPrimarySecondary
background#fbf6ec
foreground#1b1812
card#fffdf8
card-foreground#1b1812
popover#fffdf8
popover-foreground#1b1812
primary#96600a
primary-foreground#ffffff
secondary#f3ecde
secondary-foreground#2e291f
muted#f3ecde
muted-foreground#5a503e
accent#ffedc9
accent-foreground#3f2605
destructive#b92646
destructive-foreground#ffffff
success#2a6520
success-foreground#ffffff
warning#f8e46e
warning-foreground#392e00
border#cec2ad
input#ad9f8a
ring#96600a
DarkPrimarySecondary
background#1b1812
foreground#fbf6ec
card#2e291f
card-foreground#fbf6ec
popover#2e291f
popover-foreground#fbf6ec
primary#e8a52d
primary-foreground#271602
secondary#433c2e
secondary-foreground#f3ecde
muted#433c2e
muted-foreground#cec2ad
accent#3f2605
accent-foreground#ffedc9
destructive#ef677f
destructive-foreground#340210
success#6cb451
success-foreground#0a1f08
warning#cfb31a
warning-foreground#231b00
border#5a503e
input#71654f
ring#e8a52d

Typography

Epilogue, Karla and IBM Plex Mono

Grow what matters

display-lg · 56/1.05 · 800 · -0.03em
Epilogue

Grow what matters

display-md · 40/1.1 · 800 · -0.025em
Epilogue

A calmer way to work

heading-lg · 28/1.2 · 700 · -0.015em
Epilogue

A calmer way to work

heading-md · 20/1.3 · 700 · -0.01em
Epilogue

A calmer way to work

heading-sm · 16/1.4 · 700
Karla

Good systems disappear. People notice the product, not the parts.

body-lg · 18/1.6 · 400
Karla

Good systems disappear. People notice the product, not the parts.

body-md · 16/1.6 · 400
Karla

Good systems disappear. People notice the product, not the parts.

body-sm · 14/1.5 · 400
Karla

Save changes

label · 14/1.25 · 700 · 0.01em
Karla

Updated 2 minutes ago

caption · 12/1.4 · 500 · 0.02em
Karla

const theme = preset("custard-schoolbook")

code · 14/1.55 · 400
IBM Plex Mono

Spacing · radius · shadow

The quiet rules

0.52px
14px
1.56px
28px
312px
416px
520px
624px
832px
1040px
1248px
1664px
2080px
2496px
sm
2px
md
6px
lg
10px
xl
16px
full
full
sm
md
lg

Components

Every part, every state

Buttons

DefaultHoverFocusDisabledPrimaryPrimaryPrimaryPrimaryPrimarySecondarySecondarySecondarySecondarySecondaryOutlineOutlineOutlineOutlineOutlineGhostGhostGhostGhostGhostDestructiveDeleteDeleteDeleteDelete
SmallMediumLargeNew invoiceSavingLearn more

Inputs

Md Rakib ShekhPlaceholder
nusrat@studio.coFocused
••••••Use at least 8 characters
Design
EngineeringDesign Marketing
Search customersisrat-jahan.studioDisabled
Hi Israt, the new onboarding is ready for review.
Email updatesSMS alerts–Some selectedDisabled
MonthlyYearlyLifetime
Dark modeAuto-saveLocked

Navigation

ProductPricingCustomersDocsSign inGet started
OverviewActivityMembersBilling
DayWeekMonthHome / Projects / Q3 launch
123…12

Feedback

New version availableReload to get the latest features.
Payment received$2,400 from Md Rakib Shekh.
Card expires soonUpdate it before Friday.
Sync failedWe will try again in 30 seconds.
NJ
Nusrat JahanCommented on Q3 launch
View
Invoice sent to Israt Jahan
Undo
PrimarySecondaryOutlineActivePendingFailedNew
Copied to clipboard72%
MRNJIJMRNJIJ+5

Cards, table and overlays

Monthly revenue12.4%

$48,210

74% of the $65k goal
The education report

What changed this quarter, and what to do next.

MRMd Rakib Shekh4 min read
IJ
Israt Jahan

Product designer

MessageFollow
CustomerDateStatusAmount
MRMd Rakib ShekhMar 12Paid$2,400.00
NJNusrat JahanMar 11Pending$860.00
IJIsrat JahanMar 09Failed$1,120.00
Showing 1–3 of 36
123…12
Delete project?

“Q3 launch” and its 24 files will be removed for everyone. You can’t undo this.

CancelDelete
No messages yet

When customers write to you, their messages show up here.

Invite your team

Screens

Custard Schoolbook as a real product

Landing page

custard-schoolbook.com
ProductPricingCustomersDocsSign inGet started
New · education

Custard Schoolbook

Retro-modern learning UI: ochre actions on cream paper, heavy Epilogue headlines and hard-offset shadows on a modern 4px grid.

Get startedBook a demo
MRNJIJLoved by 2,000+ teams
This week

+24.6%

Dashboard

OverviewReportsInbox12CustomersProjectsSettings

Good morning, Rakib

Overview

New report
Revenue

$48,210

+12.4%
Customers

2,318

+4.1%
Churn

1.8%

-0.3%
RevenueWeekMonthYear
CustomerDateStatusAmount
MRMd Rakib ShekhMar 12Paid$2,400.00
NJNusrat JahanMar 11Pending$860.00
IJIsrat JahanMar 09Failed$1,120.00

Phone app

9:41●●● 100%

Welcome back

Md Rakib Shekh
MR
Balance

$12,480

SendRequest
Search
MR
Md Rakib ShekhPaid
$2,400
NJ
Nusrat JahanPending
$860
IJ
Israt JahanFailed
$1,120
HomeStatsInboxProfile
9:41●●● 100%

Q3 launch

TasksFilesChat
Write onboarding copyMd Rakib Shekh · Today
Review new pricingNusrat Jahan · Tomorrow
Ship release notesIsrat Jahan · Friday
1 of 3 doneOn track for Friday.
HomeStatsInboxProfile

Pricing

Starter

$0 /month

For trying things out

Start free
  • 1 project
  • Basic reports
  • Email support
ProPopular

$24 /month

For growing teams

Choose Pro
  • Unlimited projects
  • Team workspaces
  • Priority support
  • Advanced reports
Business

$79 /month

For larger organisations

Choose Business
  • Everything in Pro
  • SSO and audit log
  • A dedicated manager

Sign in

Welcome back

Sign in to continue to your workspace.

Continue with Googleor
israt@studio.co
••••••••••
Remember meForgot password?
Sign in

“We set up our whole workspace in an afternoon.”

NJNusrat Jahan
Head of operations

Settings

OverviewReportsInbox12CustomersProjectsSettings

Settings

ProfileNotificationsBilling
MRMd Rakib Shekhrakib@studio.coChange photo
Email notificationsA summary every Monday.
Two-factor sign-inProtect your account with a code.
LanguageUsed across the app.English
Delete accountThis removes all your data.Delete
CancelSave changes

Use Custard Schoolbook

In Figma

Open UIX, go to Presets and search “Custard Schoolbook”. Press Use this preset, then Sync to Figma.

Install UIX

In code

Install the theme with shadcn/ui, or download the files.

DESIGN.mdtheme.csstokens.dtcg.jsonfigma-variables.jsonshadcn-theme.jsonpreset.json

Send to your AI agent

Connect the UIX MCP once, then ask Claude Code, Cursor or any MCP client: “Use the Custard Schoolbook preset”.

Get your MCP link

About Custard Schoolbook

Overview

Custard Schoolbook is for learning products that borrow from 70s textbooks, 80s software manuals and risograph print. The retro cues are limited to three things: the ochre and cream palette, Epilogue 700-800 headlines, and zero-blur offset shadows. Spacing, contrast and control sizes follow current accessibility practice. Text pairs meet at least 4.5:1 in both modes, and controls are 44px tall, so lessons stay readable over long sessions.

Color

Ochre (OKLCH hue about 70) is the only action color. It is used for primary, ring, links and progress. In light mode primary is brand.600 #96600a with white text (about 5.3:1). Against the cream background it measures about 4.9:1. The neutral ramp is tinted toward the same hue: steps 400-700 were nudged from olive toward brown so mid-greys don't go muddy. Ink is neutral.950 #1b1812, a brown-black rather than grey. Destructive is crimson (danger.600 #b92646, about 6.1:1 with white), roughly 60° of hue away from ochre, so an error never reads as a darker primary. Warning stays lemon yellow (warning.200 fill with warning.900 text) so it is not confused with the brand. Success is a warm textbook green (success.700 with white, about 7:1). In dark mode, background is neutral.950 and card/popover are neutral.900, one step lifted. Primary moves to brand.400 #e8a52d with brand.950 text (about 8:1), giving a CRT-amber glow without neon saturation.

Typography

Display and heading sizes follow a 1.4 ratio: 20 → 28 → 40 → 56px. Tracking tightens as size grows: heading-md -0.01em, heading-lg -0.015em, display-md -0.025em, display-lg -0.03em. Epilogue uses only weights 700 and 800. Karla (400/500/700) sets all body text, forms and buttons. Body sizes step 14 → 16 → 18px with line heights of 1.5-1.6 for long reading. IBM Plex Mono 400/500 (typography.code, 14/1.55) is reserved for code, keyboard shortcuts, quiz answer keys and data labels.

Layout

Comfortable density on a 4px base grid (space.1 = 4px). Reading columns max out at about 68ch (about 680px at body-md), and page containers at 1160px. Buttons and inputs are 44px tall. Card padding is space.6 (24px). Page sections are separated by space.12 to space.16 (48-64px).

Elevation

Depth uses hard-offset, zero-blur shadows: sm 2px, md 4px, lg 8px, all in brand.950 at 85% opacity, paired with a 2px border. Cards and raised buttons use shadow.sm. Popovers and dialogs use shadow.lg. In dark mode the shadow nearly disappears against neutral.950, so the 2px border carries the edge. No blurred shadows anywhere.

Shapes

Controls use radius.md (6px) and cards use radius.lg (10px), for a printed-label feel. radius.full is limited to badges and progress tracks. Cards, inputs and buttons use a 2px border: border (neutral.300 light / neutral.700 dark) on cards, input (neutral.400 / neutral.600) on fields.

Do

  • Use primary (brand.600 in light, brand.400 in dark) for one main action per view, such as 'Start lesson'. Use secondary or ghost buttons for every other action in that view.
  • Set display-lg (56px, -0.03em), display-md (40px, -0.025em) and heading-lg (28px, -0.015em) in Epilogue 800/800/700. Keep the token letterSpacing values; don't loosen them.
  • Give cards and raised buttons a 2px border plus shadow.sm. Use shadow.lg only for dialogs and popovers.
  • In dark mode, let the 2px border (neutral.700) define card and dialog edges, since the brand.950 shadow barely shows on neutral.950.
  • Set lesson copy in body-md (Karla 16px / 1.6) or body-lg (18px / 1.6). Cap reading columns at 68ch.
  • Show focus on buttons and inputs as a 2px ring in the ring token with a 2px offset. It measures at least 3:1 against background in both modes.
  • Use typography.code (IBM Plex Mono 14px) only for code samples, keyboard shortcuts and quiz answer keys.
  • Pair every success, warning and destructive state with an icon or text label so meaning never depends on color alone.

Don’t

  • Don't add blur to shadows. Every shadow token is a zero-blur offset (2/4/8px).
  • Don't use brand ochre for errors. Use destructive (danger.600 light / danger.400 dark), and keep warning on the warning scale (warning.200 fill with warning.900 text in light).
  • Don't set Epilogue below 20px (heading-md) or under weight 700. Use Karla heading-sm or label for anything smaller.
  • Don't use brand.500 or lighter for text or icons on background or card in light mode. Brand.500 is about 2.9:1 and brand.400 about 2:1 on neutral.50.
  • Don't use #000000, #ffffff or cool grey for page backgrounds. Stay on the neutral ramp; light card and popover may use #fffdf8.
  • Don't place more than one primary-filled button in the same card, dialog footer or toolbar.
  • Don't round buttons or inputs beyond radius.md (6px) or cards beyond radius.lg (10px). Reserve radius.full for badges and progress tracks.
Access
Free
Industries
education, e learning, publishing
Mood
retro, friendly, bold, warm
Display font
Epilogue
Body font
Karla
Mono font
IBM Plex Mono
Density
Comfortable
Contrast
Standard
Corner radius
6px

Similar presets

All 251 presets →