Lightkeepers
← Back to the working file

The Lantern.

A proposed brand, specified to the same depth as the current one so the two can be read side by side. Same structure, same level of detail, live specimens, one copy button. This is version 0.1 of something unbuilt, not a decision.

The whole system as plain text. Tokens, measured contrast, type scale, button anatomy, motion rules, ten laws, bans and the open risks.

The idea

The principle

A warm light held up in a dark place.

The product is called Lightkeepers and the mark is a lantern. This system takes that literally. The screen is dark, and the thing you should do next is the brightest thing on it. Hierarchy is carried by light rather than by size or saturation, which means the interface can stay quiet and still be obvious.

Everything on this page is rendered live in the real typefaces. Hover and press the buttons.

Why it is built this way. Most of our families were pushed into homeschooling rather than drawn to it, and in Australian data roughly 28 to 30% cite autism or ADHD. Saturated colour, constant motion and competitive mechanics are load aimed at the cohort least able to carry it. This system treats restraint as an accessibility requirement rather than a style preference. Full reasoning on the research page.

Typefaces

Two, both already vendored in the repo. Fraunces carries display, Nunito carries everything else. Fraunces runs at SOFT 80 and WONK 1, which is what gives it warmth without becoming a children's face; it stays serious enough for a thirteen year old.

Eyebrow

Nunito · 0.8125rem · weight 800 · uppercase · tracking 0.1em · flame

Ruby’s term is ready

Fraunces · clamp(2.25rem, 5vw, 3.5rem) · weight 600 · SOFT 80 · WONK 1

Twelve weeks, six subjects

Fraunces · clamp(1.6rem, 3.2vw, 2.25rem) · weight 600

A smaller heading returns to Nunito

Nunito · 1.15rem · weight 800 · the display face stops at h2

Body copy on night sits at just over seventeen pixels with line height 1.7, a little looser than the current system, because light text on a dark ground needs more air to stay comfortable.

Nunito · 1.0625rem / 1.7 · weight 500 · max 66ch

Reading happens on paper

Same display face, warm cream ground

Long-form reading moves to a warm cream surface at 1.15rem and line height 1.75. Cream rather than white is deliberate: it is one of the few things the legibility research actually supports, alongside spacing and size. Anything past roughly forty words of continuous text belongs here, not on night.

Nunito · 1.15rem / 1.75 · weight 500 · max 62ch · paper only

Colour

Three brand groups, then two reserved sets that carry meaning and are never used decoratively.

Night, the chrome

Dashboards, quest map, navigation, celebration. Everything that is not long-form reading.

#0E1626
--lk-nightPage ground
#16213A
--lk-duskRaised surface, cards on night
#1F2C49
--lk-dusk-2Hover and elevated state
#EFE8DA
--lk-on-nightPrimary text on night. Warm, never pure white
#AAB4C6
--lk-on-night-softSecondary text on night

Paper, the reading surface

Lesson bodies, documents, forms. Anything with more than about forty words.

#FBF6EC
--lk-paperReading ground. Warm cream, never pure white
#F2EADC
--lk-paper-2Inset panels, code, quotes
#1A1F2B
--lk-inkBody text on paper
#555F76
--lk-ink-softSecondary text on paper

Lantern, the light

The single focal accent. It marks what to do next and nothing else.

#FFB454
--lk-flameThe primary action. One per screen
#D9862B
--lk-flame-deepPressed state and edges ONLY. Never text
#FFD9A0
--lk-glowHalo, highlight, lit edges
#8C5516
--lk-emberAmber as TEXT on paper. Links, eyebrows

State, reserved

Five hues that mean something. They never appear as decoration, never as a brand colour, and never as a ground for body text.

Right, complete, on track Worth another look. Never framed as failure Not reached yet Milestone reached Neutral information, help

Subject coding

Six hues, borrowed as an idea from how Yoto codes content. A subject colour is a spine, a chip, a rule or an icon. It never becomes a large fill behind text, and it is never amber, because amber belongs to the lantern.

English Maths Science Humanities The Arts Health & PE

Contrast, measured

The main criticism of restrained palettes is that they fail on contrast. These ratios are computed from the token values above, not estimated.

PairingRatioWCAG AA body (4.5:1)
Body text on night14.8:1Pass
Secondary text on night8.7:1Pass
Text on a night card13.1:1Pass
Body text on paper15.3:1Pass
Secondary text on paper5.9:1Pass
Night text on the flame button10.3:1Pass
Flame as text on night10.3:1Pass
Ember as a link on paper5.7:1Pass
Keeping the ground dark and the accent light is what buys this. The saturated end of the spectrum stays completely unused by the brand, which leaves it free to carry state without ever competing with the interface.

Buttons

No hard bottom edge. The primary button is a lit surface rather than a plastic key: it carries a soft halo, and pressing it settles 1px and tightens the halo instead of dropping 3px. This is the clearest single break from the current system.

Primary, secondary and the child variant on night.

On paper the halo is dropped, because a glow only reads against dark. The ghost variant uses flame-deep so it stays legible on cream.

One deliberate change from the current system. The child button drops from 1.5rem to 1.25rem while keeping a 56px minimum target. The current size split is the loudest signal in the product, and at 1.5rem it reads as babyish to the older half of our range. Accessibility comes from the target size, not from the type size.

Cards

20px radius. On night a card is a lift in tone with a hairline border and no shadow, because shadows do not read on dark. On paper it keeps a whisper of shadow.

Maths

Week 4 of 12. Two lessons left this week.

Science

Week 4 of 12. Finished for the week.

English

Week 3 of 12. One lesson behind, no rush.

Subject colour as a spine, not a fill. Note the English card: behind is stated calmly and never in red.

Motion and sensory rules

This section exists because of who the audience is, and it is as binding as the colour rules.

RuleValue
Transition duration180ms or less, ease-out
Looping animationNone, anywhere
AutoplayNone. Nothing moves before a user acts
ParallaxNot permitted
CelebrationA single 600ms fade and settle, once, then it stops
prefers-reduced-motionRemoves all non-essential movement; celebration becomes static
SoundOff by default, opt-in only
Content rule, carried over from the evidence. Celebration copy names the specific thing the child did. Generic approval measures -0.44 on children's intrinsic motivation while informational praise measures +0.66, so “nice work” is banned outright rather than discouraged.

Ten laws

  1. One light per screen. Exactly one element carries --lk-flame as a fill, and it is the thing to do next. Everything else is text, border or state. If two things glow, neither does.
  2. Two surfaces, never nested. Night is chrome, paper is reading. Anything over roughly forty words of continuous text sits on paper. Never put a night card inside a paper reading column, or the reverse.
  3. Amber belongs to the lantern. No subject, no state and no decoration may use the flame hues. It stays scarce so it keeps meaning.
  4. State colours are reserved for state. Correct, revisit, locked, celebrate and info are never used decoratively, never as a background for text, and never as a brand colour.
  5. Subject colour codes, it does not fill. A subject hue appears as a spine, a chip, a rule or an icon. It never becomes a large area behind text.
  6. Illustration is silhouette and light. Forms read against a glow rather than as flat fills with outlines. No mascot occupies persistent UI.
  7. Motion is small, fast and interruptible. Transitions 180ms or less. Nothing loops. Nothing autoplays. prefers-reduced-motion removes all non-essential movement, and the celebration degrades to a static state.
  8. Praise names the work. Celebration copy states what the child actually did. Generic approval is not permitted anywhere in the product.
  9. Progress is distance, not score. Show how far along they are. No leaderboards, no peer comparison, no visible penalty for a broken streak.
  10. Nothing commercial on a child surface. No pricing, plans, tiers, upgrade prompts or account settings render in child mode, in any form.

What changes

Against the current system, side by side.

 NowThe Lantern
GroundWhite, with saturated blocksNight for chrome, warm paper for reading
AccentSun #FFB703 on buttons and chips throughoutFlame #FFB454, exactly one per screen
Display typeNunito doing every jobFraunces for display, Nunito for body and UI
ButtonHard bottom edge, plastic pressLit surface, soft halo, 1px settle
Child treatment1.5rem type, 56px min height1.25rem type, 56px min target
Subject colourNot systematisedSix coded hues, never amber, never a fill
State colourShares the brand paletteFive reserved hues that do nothing else
MotionConfetti on completionReduced by default, static fallback
ProgressXP, streak, badges, quest mapSame mechanics, framed as distance not score
Parent vs childCarried mostly by sizeCarried by surface, density and tone
Note what does not change: XP, progress, badges and the quest map all survive. The evidence supports gamification's cognitive effect and doubts its motivational effect, so the structure stays and the arcade costume goes. The mechanics are reframed as distance travelled rather than a score to defend.

What is wrong with this

Four things I cannot answer

  1. The older half is unproven. No exemplar exists for a restrained aesthetic with ten to fourteen year olds, in any of the styles researched. This system has not been tested on them and I am extrapolating.
  2. Two surfaces is more work than one. Night chrome plus paper reading means every component needs to work twice, and the boundary between them needs policing.
  3. It is unbuilt. Every value here is specified and none is validated. The contrast maths is real; the appeal is a hypothesis.
  4. Fraunces has history. It appeared in an older Lightkeepers brand that was explicitly retired, and the buildchain marks it as a failure condition. Reusing it is a deliberate choice rather than an oversight, but it needs to be a conscious decision and Nathan should hear the reasoning.

The whole system as plain text

Ready to paste into another platform.

LIGHTKEEPERS: THE LANTERN
A proposed brand system. Not built. Not validated. Version 0.1.

=== THE IDEA ===
A warm light held up in a dark place. The product is called Lightkeepers and the mark is a
lantern; this system takes that literally. The screen is dark, and the thing you should do next
is the brightest thing on it. Hierarchy is carried by light rather than by size or saturation.

=== WHY IT IS BUILT THIS WAY ===
The audience is largely reactive: most families were pushed into homeschooling rather than drawn
to it, and in Australian data roughly 28-30% of home-ed families cite autism or ADHD. Saturated
colour, constant motion and competitive mechanics are sensory and emotional load aimed at the
cohort least able to carry it. This system treats restraint as an accessibility requirement.

=== TYPEFACES ===
Display: Fraunces (variable: opsz, wght, SOFT, WONK). Headlines and the wordmark only.
Body and UI: Nunito Variable, weight axis 200-1000. Everything else.
No third face. Both are already vendored in the repo.

Fraunces is used at SOFT 60-100 and WONK 1 for warmth. It carries character at display sizes
and stays serious for a thirteen year old, which a rounded display face does not.

=== COLOUR: NIGHT (chrome) ===
--lk-night        #0E1626   Page ground
--lk-dusk         #16213A   Raised surface, cards on night
--lk-dusk-2       #1F2C49   Hover and elevated state
--lk-on-night     #EFE8DA   Primary text on night. Warm, never pure white
--lk-on-night-soft #AAB4C6  Secondary text on night

=== COLOUR: PAPER (reading) ===
--lk-paper        #FBF6EC   Reading ground. Warm cream, never pure white
--lk-paper-2      #F2EADC   Inset panels, quotes
--lk-ink          #1A1F2B   Body text on paper
--lk-ink-soft     #555F76   Secondary text on paper

=== COLOUR: LANTERN (the light) ===
--lk-flame        #FFB454   The primary action. Exactly one per screen
--lk-flame-deep   #D9862B   Pressed state and edges ONLY. Never text (2.6:1 on paper)
--lk-glow         #FFD9A0   Halo, highlight, lit edges
--lk-ember        #8C5516   Amber as TEXT on paper (links, eyebrows). See contrast note

=== COLOUR: STATE (reserved, never decorative) ===
--lk-correct      #3FBF87   Right, complete, on track
--lk-revisit      #F2845C   Worth another look. Never framed as failure
--lk-locked       #6B7590   Not reached yet
--lk-celebrate    #FFD447   Milestone reached
--lk-info         #5BA8D9   Neutral information, help

=== COLOUR: SUBJECT CODING (a spine, a chip or a rule; never a fill) ===
English      #E8836F
Maths        #6FA8DC
Science      #63BF95
Humanities   #C58FD8
The Arts     #E9779F
Health & PE  #7FC5C8

=== CONTRAST (measured, not assumed) ===
Body text on night          14.8:1
Secondary text on night     8.7:1
Text on a night card        13.1:1
Body text on paper          15.3:1
Secondary text on paper     5.9:1
Night text on flame button  10.3:1
Flame as text on night      10.3:1
Ember link on paper         5.7:1
All pairings above meet WCAG AA for body text (4.5:1) or better.

IMPORTANT: --lk-flame-deep is a NON-TEXT token. It is for pressed states and edges only.
It measures 2.6:1 on paper, so it must never carry text. Amber text on paper uses --lk-ember.

=== TYPE SCALE ===
h1      Fraunces  clamp(2.25rem, 5vw, 3.5rem)   weight 600, line-height 1.1, SOFT 80, WONK 1
h2      Fraunces  clamp(1.6rem, 3.2vw, 2.25rem) weight 600, line-height 1.2
h3      Nunito    1.15rem                        weight 800, letter-spacing -0.01em
body    Nunito    1.0625rem / 1.7                weight 500, max-width 66ch
reading Nunito    1.15rem / 1.75                 weight 500, max-width 62ch, on paper only
eyebrow Nunito    0.8125rem                      weight 800, uppercase, letter-spacing 0.1em
small   Nunito    0.875rem / 1.5                 weight 600

Display face is for h1 and h2 only. Everything smaller is Nunito.

=== BUTTONS ===
No hard bottom edge. The primary button is a lit surface, not a plastic key.

Primary    background --lk-flame, text --lk-night, radius 14px, padding 16px 32px, weight 800
           halo: 0 0 0 1px rgba(255,180,84,.30), 0 10px 30px rgba(255,180,84,.22)
           hover: halo widens. active: translateY(1px), halo tightens to 0 4px 14px
Secondary  transparent, 1.5px border rgba(239,232,218,.30), text --lk-on-night
           hover: border to rgba(239,232,218,.55)
On paper   background --lk-flame, text --lk-night, no halo (halo only reads on night)
Ghost      text --lk-ember, no fill, underline on hover
Child      same primary, min-height 56px, font-size 1.25rem, padding 18px 34px, radius 16px

Minimum tap target 44px everywhere, 56px on any child surface.

=== SHAPE AND SPACE ===
Radius: cards 20px, buttons 14px, chips 999px, inset panels 12px.
Spacing scale (8pt): 4, 8, 12, 16, 24, 32, 48, 64, 96.
Container: min(100% - 40px, 1080px).
Section rhythm: 88px desktop, 56px at 768px and below.
Card on night: background --lk-dusk, 1px border rgba(239,232,218,.08), no shadow.
Card on paper: background --lk-paper, 1px border rgba(26,31,43,.10), shadow 0 1px 2px rgba(26,31,43,.04).

=== MOTION ===
All transitions 180ms or less, ease-out.
Nothing loops. Nothing autoplays. No parallax.
prefers-reduced-motion: reduce removes all non-essential movement; the celebration becomes a
static state with no scale or fade.
Celebration is a single 600ms fade and settle, once, then it stops.

=== CONTENT RULES ===
Praise names the specific thing the child did. Generic approval is banned outright.
Behind is never framed as failure; the tone for behind is calm and forward-looking.
Never red for a child's own work.
Nothing about money, plans or tiers appears on a child surface.

=== TEN LAWS ===
1.  One light per screen. Exactly one flame-filled element, and it is the next action.
2.  Two surfaces, never nested. Night is chrome, paper is reading. Long text always on paper.
3.  Amber belongs to the lantern. No subject or state may use the flame hues.
4.  State colours are reserved for state, never decorative, never a text ground.
5.  Subject colour codes, it does not fill. Spine, chip, rule or icon only.
6.  Illustration is silhouette and light. No mascot in persistent UI.
7.  Motion is small, fast and interruptible. Reduced motion is fully honoured.
8.  Praise names the work.
9.  Progress is distance, not score. No leaderboards, no peer comparison, no streak penalty.
10. Nothing commercial renders on a child surface.

=== HARD BANS ===
A mascot living permanently in the interface.
Leaderboards or any peer comparison.
Streak-loss warnings, guilt copy, countdown pressure.
Looping confetti or autoplaying celebration.
Pure black or pure white as a text ground.
Body text over illustration or photography.
A third typeface.
A subject colour as a large fill behind text.
Gradients as decoration.
More than one flame-filled element on a screen.

=== KNOWN OPEN RISKS ===
1. No proven exemplar exists for a restrained aesthetic with 10-14 year olds. This system has not
   been tested on the older half of the age range.
2. Dark chrome plus light reading means two surfaces to maintain rather than one.
3. The system is unbuilt. Every value here is specified, none is validated with a real user.
4. Fraunces previously appeared in an older Lightkeepers brand that was explicitly retired. Reusing
   it is a deliberate choice, not an oversight, but it needs to be a conscious decision.

Feed this in the same way as the current spec, then ask for the same screen and compare what comes back.