Style Teardownteardown
← all teardowns

www.mozilla.org

open ↗ 2026-06-11 12:11 UTC · 35 css files · 1123kb css
rendered capture (headless)
desktop
desktop capture
mobile · 390px
mobile capture

Live reference

Preview — our components × captured values

Quick look above; the showcases render the full Slipstream bank with sample data. Captured values only on A-side — anatomy stays ours until we craft a library.

Style Guide preset (skin)

primary
pri-accent
secondary
sec-accent
Surfaces — page · alt · emphasis · inverse
page
#ffffff
alt
emphasis
inverse
#161616
Heading font
Mozilla Headline → Google: Inter
Body font
Mozilla Text → Google: Inter
Heading line-height
1.1
Mobile h1
48px → 38px ⚠ big
Mobile overflow
none
Base size
16px
Type scale
not detected
Rounding
not detected
Line width
not detected
Button hover
brighten background + shadow
Text-over-image halo
not detected
Heading tracking
not detected
Label tracking
not detected
Focus ring
not detected
Easing
not detected
Container max
1232px
Section padding
106px
Accent gradient
not detected
Icon stroke
not detected
Spacing unit
not detected
Transition
not detected
Link underline
false
Button
not detected

rendered (getComputedStyle on laid-out page) — higher fidelity than the regex engine

Contact form — how the fields render

field border
#fafafa
field fill
#161616
field text
#fafafa
focus
#fafafa
Captured from
www.mozilla.org/id/contact/ (inner page)
Fields
1 · single-column
Field border
2px solid #fafafa
Field radius
0px
Field height
40px
Field padding
8px 40px 8px 36px
Field font
Mozilla Text 16px
Field shadow
not detected
Focus state
shadow (3px #fafafa)
Label
no visible labels
Submit
not detected

Captured form-field facts. These feed the contact-form component — see the field-token proposal in docs/contact-form-component.md.

Capture audit — what's real vs default

8 of 27 values captured from this site. The rest fall back to library defaults — shown so nothing hardcoded can pass as captured.

  • Brand primarydefault
  • Secondary colourdefault
  • Page backgroundcaptured: #ffffff
  • Text colourdefault
  • Text colour (inverse)default
  • Heading colourdefault
  • Link colourdefault
  • Link colour (inverse)default
  • Heading fontcaptured: Mozilla Headline
  • Body fontcaptured: Mozilla Text
  • Heading size (H1)captured: 66px
  • Heading weightcaptured: 600
  • Heading trackingdefault
  • Primary button bgdefault
  • Primary button radiusdefault
  • Roundingdefault
  • Line / border widthdefault
  • Button hoverdefault
  • Focus ringdefault
  • Easingdefault
  • Transition speeddefault
  • Container max-widthcaptured: 1232px
  • Section paddingcaptured: 106px
  • Accent gradientdefault
  • Image treatmentcaptured: captured
  • Text-over-image halodefault
  • Icon strokedefault
  • Alt background (derived from page)library default
  • Card paddinglibrary default
  • Small/large shadow scalelibrary default
  • Secondary-button outline stylelibrary default

Inventory (raw evidence)

Palette by frequency
#000000 ·706
#ffffff ·578
#0060df ·190
#d70022 ·126
#5e5e72 ·98
#cdcdd4 ·88
#ededf0 ·77
#0250bb ·77
#0090ed ·70
#161616 ·65
#ff4f5e ·56
#fafafa ·48
#42425a ·46
#1d1133 ·44
#9595a2 ·43
#810220 ·42
#f9f9fa ·42
#aaf2ff ·37
Radii
0px2px4px16px
Shadow samples
0 0 0 2px rgba(0,144,237,.5)
0 0 0 2px #80c8f6
0 0 0 2px rgba(255,79,94,.5)
0 0 0 2px rgba(0,144,237,.5)
0 0 0 2px rgba(255,79,94,.5)

Character & component map

Shadow usage
heavy
Border usage
heavy
Gradients
present
Uppercase labels
no
Letter-spacing
yes
Components observed vs gaps (gaps left empty — never auto-filled)
  • navobserved
  • heroobserved
  • buttonsobserved
  • cardGAP
  • pricingGAP
  • testimonialGAP
  • feature-gridobserved
  • galleryobserved
  • accordion-faqGAP
  • tabsobserved
  • tableGAP
  • formobserved
  • footerobserved
  • dropdownGAP

Worth considering — seen here, not yet captured

Notable styling present in this site's CSS that the tool doesn't yet turn into a captured value — candidates for future capture. Full coverage & roadmap →

  • sticky positioning14×

Beyond the capture — Claude's read & generative proposals

The character CSS mining can't reach — bespoke anatomy, motifs, the "feel". These are my interpretations and generative suggestions. They are NOT applied to the reconstruction above — they're ideas to react to when this becomes a library's seed.

Mozilla's site is deliberately stark, boxy and editorial — black-and-white with a single coral accent, heavy tight display type, zero rounding. The capture nails the facts; these proposals push that character further into a confident library.

  1. Commit to true zero rounding

    observed Radius motif is mostly 0 with a stray 4px; buttons captured with no radius.

    proposal Force every radius token to 0 on the B-side. Half-measures read as generic; Mozilla's strength is its hard corners.

  2. Promote the coral to a deliberate accent

    observed Coral #ff4f5e is the most frequent chromatic hue but it's a logo/illustration colour — the action colour is black #161616.

    proposal Keep black as the action colour, but use coral as a confident editorial accent: link-hover, eyebrows, and a coral outline that the black CTA flips to on hover.

  3. Heavier, tighter display type

    observed Headings use Mozilla Headline at weight 700; type scale is a Perfect Fourth.

    proposal Push heading weight to 800 and tighten tracking to -0.02em for a louder masthead, and add a 2px rule under H2s for a magazine feel.

  4. Snappier motion

    observed Transitions captured at ~100ms, ease-in-out, no button lift.

    proposal Keep it quick (120ms) but give it a deliberate cubic-bezier so interactions feel engineered rather than soft.

Read by Claude · 2026-06-04. Tell me which proposals to pursue.