DesignMD Maker
← Home Report · Code analysis
H
Design System

Huxley | Home

Design system extracted from https://www.huxleysaga.com/ on 2026-10-27 (code-based analysis).

Source · https://www.huxleysaga.com/ Engine · Code analysis Created · Oct 27, 2026 04:39 Cost · $0.0000
Detected Language

Design Style

gradient-rich / aurora
many gradient definitions
Palette

Colors

primary
#9C0703
8.59 on white · 2.45 on black · 2° 96% 31%
secondary
#000000
21 on white · 1 on black · 0° 0% 0%
accent
#FF0000
4 on white · 5.25 on black · 0° 100% 50%
Token Roles 12 tokens
background
#FFFFFF · 21:1 vs black
surface
#F2F2F2 · 18.76:1 vs black
text-primary
#000000 · 21:1 vs white
text-secondary
#999999 · 2.85:1 vs white
border
#666666 · 5.74:1 vs white
on-primary
#FFFFFF · 21:1 vs black
on-secondary
#FFFFFF · 21:1 vs black
on-accent
#FFFFFF · 21:1 vs black
surface-container-lowest
#FFFFFF · 21:1 vs black
surface-container-low
#F2F2F2 · 18.76:1 vs black
surface-container
#D9D9D9 · 14.88:1 vs black
surface-container-high
#CCCCCC · 13.08:1 vs black
Detected Palette 11 colors by frequency in source CSS
#000000
used 39× · 0° 0% 0%
#9C0703
used 20× · 2° 96% 31%
#111111
used 20× · 0° 0% 7%
#FF0000
used 19× · 0° 100% 50%
#FFFFFF
used 8× · 0° 0% 100%
#999999
used 2× · 0° 0% 60%
#666666
used 1× · 0° 0% 40%
#CCCCCC
used 1× · 0° 0% 80%
#F2F2F2
used 1× · 0° 0% 95%
#D9D9D9
used 1× · 0° 0% 85%
#1A1A1A
used 1× · 0° 0% 10%
Surface Treatments

Gradients

linear-gradient(#000,#000,transparent)
linear-gradient(0deg,transparent,rgba(0,0,0,.48) 90%)
linear-gradient(#fff,#fff),linear-gradient(#fff,#fff)
Type System

Typography

title-lg
inherit
20px · 300 · LH 1.4
Typography is the discipline of rendering language visible. Spacing, weight, and rhythm carry meaning long before words are read.
label-sm
inherit
12px · 300 · LH 1.4 · LS 1.92px
Typography is the discipline of rendering language visible. Spacing, weight, and rhythm carry meaning long before words are read.
Detected Font Stacks
NB Architekt Light,sans-serifNB Architekt Regular,sans-serifNB Architekt LightNB Architekt Regular
Structure

Layout

Container
Section padding: — · card padding: —
Grid
12-column reference grid · gap —
Spacing Scale
unit
4px
xs
4px
sm
8px
md
16px
lg
32px
xl
64px
detected
1px
detected
4px
detected
6px
detected
8px
detected
12px
detected
16px
detected
24px
detected
32px
detected
64px
Breakpoints
949px950px1680px
Depth

Elevation & Depth

level 1
inset 0 0 0 1000px transparent
Tokens in Context

Components

card
background{colors.surface}
border1px solid {colors.border}
radius12px
button-primary
background{colors.primary}
radius12px
Animation

Motion

Keyframes 15 found
@keyframes blink-46cae32c
0%{opacity:1}8.3333333333%{opacity:0}16.6666666667%{opacity:1}25%{opacity:0}33.3333333333%{opacity:1}41.6666666667%{opacity:0}50%{opacity:1}58.3333333333%{opacity:0}66.6666666667%{opacity:1}75%{opacity:0}83.3333333333%{opacity:1}91.6666666667%{opacity:0}to{opacity:1}
@keyframes blink-13c796a0
0%{opacity:1}8.3333333333%{opacity:0}16.6666666667%{opacity:1}25%{opacity:0}33.3333333333%{opacity:1}41.6666666667%{opacity:0}50%{opacity:1}58.3333333333%{opacity:0}66.6666666667%{opacity:1}75%{opacity:0}83.3333333333%{opacity:1}91.6666666667%{opacity:0}to{opacity:1}
@keyframes scroll-d50c44b4
0%{opacity:1;transform:translateY(0)}20%{transform:translateY(6px)}40%{opacity:0;transform:translateY(12px)}to{opacity:0;transform:translateY(12px)}
@keyframes scrollIn-d50c44b4
0%{opacity:0;transform:translateY(-12px)}20%{opacity:1;transform:translateY(-6px)}40%{transform:translateY(0)}to{transform:translateY(0)}
@keyframes blink-ee3e284c
0%{opacity:1}8.3333333333%{opacity:0}16.6666666667%{opacity:1}25%{opacity:0}33.3333333333%{opacity:1}41.6666666667%{opacity:0}50%{opacity:1}58.3333333333%{opacity:0}66.6666666667%{opacity:1}75%{opacity:0}83.3333333333%{opacity:1}91.6666666667%{opacity:0}to{opacity:1}
@keyframes blink-096735d2
0%{opacity:1}8.3333333333%{opacity:0}16.6666666667%{opacity:1}25%{opacity:0}33.3333333333%{opacity:1}41.6666666667%{opacity:0}50%{opacity:1}58.3333333333%{opacity:0}66.6666666667%{opacity:1}75%{opacity:0}83.3333333333%{opacity:1}91.6666666667%{opacity:0}to{opacity:1}
@keyframes blink-957aad69
0%{opacity:1}8.3333333333%{opacity:0}16.6666666667%{opacity:1}25%{opacity:0}33.3333333333%{opacity:1}41.6666666667%{opacity:0}50%{opacity:1}58.3333333333%{opacity:0}66.6666666667%{opacity:1}75%{opacity:0}83.3333333333%{opacity:1}91.6666666667%{opacity:0}to{opacity:1}
@keyframes blink-5eb20d15
0%{opacity:1}8.3333333333%{opacity:0}16.6666666667%{opacity:1}25%{opacity:0}33.3333333333%{opacity:1}41.6666666667%{opacity:0}50%{opacity:1}58.3333333333%{opacity:0}66.6666666667%{opacity:1}75%{opacity:0}83.3333333333%{opacity:1}91.6666666667%{opacity:0}to{opacity:1}
@keyframes blink-2a59b454
0%{opacity:1}8.3333333333%{opacity:0}16.6666666667%{opacity:1}25%{opacity:0}33.3333333333%{opacity:1}41.6666666667%{opacity:0}50%{opacity:1}58.3333333333%{opacity:0}66.6666666667%{opacity:1}75%{opacity:0}83.3333333333%{opacity:1}91.6666666667%{opacity:0}to{opacity:1}
Applied Animations
blink-46cae32c .12s step-end forwardsblink-13c796a0 .12s step-end forwardsname alternateblink-ee3e284c .12s step-end forwardsblink-096735d2 .12s step-end forwardsblink-957aad69 .12s step-end forwardsblink-5eb20d15 .12s step-end forwardsblink-2a59b454 .12s step-end forwardsblink-bc5e17d8 .12s step-end forwardsblink .12s step-end forwards
Easing Curves
steps(3)cubic-bezier(.4,0,.2,1)cubic-bezier(.47,0,.745,.715)cubic-bezier(.39,.575,.565,1)cubic-bezier(.445,.05,.55,.95)cubic-bezier(.55,.085,.68,.53)
Transitions
padding-right var(--d-slide) var(--ease-out-quint)opacity var(--d-slide) var(--ease-out-quint)transform var(--d-slide) var(--ease-out-quint)opacity var(--d-fast) steps(3)clip-path 10ms var(--ease-in-out-quint)transform var(--d-fast,.2s) steps(3)background-color 9999s ease-in-out 0stransform var(--d-fast) var(--ease-in-out-circ)
Proof

Live Preview

Complete Reference

Full design.md Specification

Design Specification — Huxley | Home

FieldValue
Site / Projecthttps://www.huxleysaga.com/
Analyzed on2026-10-27
Analysis modeAutomated code extraction (no AI)

Overview

This design system was extracted programmatically from the source page. It is built on a light canvas (#FFFFFF), ink text (#000000), a vivid accent (#FF0000). All type is set in NB Architekt Light,sans-serif. Detected font weights: 300, 400. Detected style signatures: gradient-rich / aurora.

Color System

Detected palette (by frequency)

HexRGBHSLCount
#0000000, 0, 00° 0% 0%39
#9C0703156, 7, 32° 96% 31%20
#11111117, 17, 170° 0% 7%20
#FF0000255, 0, 00° 100% 50%19
#FFFFFF255, 255, 2550° 0% 100%8
#999999153, 153, 1530° 0% 60%2
#666666102, 102, 1020° 0% 40%1
#CCCCCC204, 204, 2040° 0% 80%1
#F2F2F2242, 242, 2420° 0% 95%1
#D9D9D9217, 217, 2170° 0% 85%1
#1A1A1A26, 26, 260° 0% 10%1

Assigned roles

Roles are taken from the page's own semantic CSS custom properties when present, otherwise inferred from usage frequency + luminance/saturation.

TokenHexRGBHSL
--color-primary#9C0703156, 7, 32° 96% 31%
--color-accent#FF0000255, 0, 00° 100% 50%
--color-background#FFFFFF255, 255, 2550° 0% 100%
--color-surface#F2F2F2242, 242, 2420° 0% 95%
--color-text-primary#0000000, 0, 00° 0% 0%
--color-secondary#0000000, 0, 00° 0% 0%
--color-text-secondary#999999153, 153, 1530° 0% 60%
--color-border#666666102, 102, 1020° 0% 40%
--color-on-primary#FFFFFF255, 255, 2550° 0% 100%
--color-on-secondary#FFFFFF255, 255, 2550° 0% 100%
--color-on-accent#FFFFFF255, 255, 2550° 0% 100%

Surface ramp (derived from detected light neutrals)

TokenHex
--color-surface-container-lowest#FFFFFF
--color-surface-container-low#F2F2F2
--color-surface-container#D9D9D9
--color-surface-container-high#CCCCCC

Gradients

  • linear-gradient(#000,#000,transparent)
  • linear-gradient(0deg,transparent,rgba(0,0,0,.48) 90%)
  • linear-gradient(to bottom,transparent,#000)
  • linear-gradient(#fff,#fff),linear-gradient(#fff,#fff)
  • conic-gradient(#000 0 25%, 0 50%)
  • conic-gradient(transparent 0 25%,hsla(0,0%,100%,0) 0 50%)

> 1 additional gradient definitions were framework utility templates (unresolvable var(--tw-gradient-stops)) and were omitted.

Typography

Primary typeface: NB Architekt Light — stack: NB Architekt Light,sans-serif

Font stacks (most used first)

  • NB Architekt Light,sans-serif
  • NB Architekt Regular,sans-serif
  • NB Architekt Light
  • NB Architekt Regular

Derived type scale

TokenSize
title-lg20px
label-sm12px

Font sizes (by frequency)

SizeCount
1.25rem1
12px1
20px1

Weights in use: 300, 400

Line heights (by frequency)

ValueCount
.81
1.231
2.461

Letter spacing (by frequency)

ValueCount
1.92px10
1.6px6
2px2
1.2px1

Spacing

Derived spacing scale

TokenValue
unit4px
xs4px
sm8px
md16px
lg32px
xl64px

Raw values (by frequency)

ValueCount
12px33
8px11
24px5
32px4
4px4
16px3
6px2
1px2
64px2

Borders & Radius

RadiusCount

Shadows

  • inset 0 0 0 1000px transparent
  • inset 0 1px 0

Layout

Container max-width: 949px

Grid columns (largest detected grid): 9

Breakpoints

  • 949px
  • 950px
  • 1680px

Animation & Motion

Transitions

  • padding-right
  • opacity
  • transform
  • opacity steps(3)
  • clip-path 10ms
  • transform .2s steps(3)
  • background-color 9999s ease-in-out 0s
  • transform
  • none
  • opacity .4s ease-out
  • width steps(3),background-color
  • height steps(3),background-color

Easing curves

  • steps(3)
  • cubic-bezier(.4,0,.2,1)
  • cubic-bezier(.47,0,.745,.715)
  • cubic-bezier(.39,.575,.565,1)
  • cubic-bezier(.445,.05,.55,.95)
  • cubic-bezier(.55,.085,.68,.53)
  • cubic-bezier(.25,.46,.45,.94)
  • cubic-bezier(.455,.03,.515,.955)

Keyframes

@keyframes blink-46cae32c { 0%{opacity:1}8.3333333333%{opacity:0}16.6666666667%{opacity:1}25%{opacity:0}33.3333333333%{opacity:1}41.6666666667%{opacity:0}50%{opacity:1}58.3333333333%{opacity:0}66.6666666667%{opacity:1}75%{opacity:0}83.3333333333%{opacity:1}91.6666666667%{opacity:0}to{opacity:1} }
@keyframes blink-13c796a0 { 0%{opacity:1}8.3333333333%{opacity:0}16.6666666667%{opacity:1}25%{opacity:0}33.3333333333%{opacity:1}41.6666666667%{opacity:0}50%{opacity:1}58.3333333333%{opacity:0}66.6666666667%{opacity:1}75%{opacity:0}83.3333333333%{opacity:1}91.6666666667%{opacity:0}to{opacity:1} }
@keyframes scroll-d50c44b4 { 0%{opacity:1;transform:translateY(0)}20%{transform:translateY(6px)}40%{opacity:0;transform:translateY(12px)}to{opacity:0;transform:translateY(12px)} }
@keyframes scrollIn-d50c44b4 { 0%{opacity:0;transform:translateY(-12px)}20%{opacity:1;transform:translateY(-6px)}40%{transform:translateY(0)}to{transform:translateY(0)} }
@keyframes blink-ee3e284c { 0%{opacity:1}8.3333333333%{opacity:0}16.6666666667%{opacity:1}25%{opacity:0}33.3333333333%{opacity:1}41.6666666667%{opacity:0}50%{opacity:1}58.3333333333%{opacity:0}66.6666666667%{opacity:1}75%{opacity:0}83.3333333333%{opacity:1}91.6666666667%{opacity:0}to{opacity:1} }
@keyframes blink-096735d2 { 0%{opacity:1}8.3333333333%{opacity:0}16.6666666667%{opacity:1}25%{opacity:0}33.3333333333%{opacity:1}41.6666666667%{opacity:0}50%{opacity:1}58.3333333333%{opacity:0}66.6666666667%{opacity:1}75%{opacity:0}83.3333333333%{opacity:1}91.6666666667%{opacity:0}to{opacity:1} }
@keyframes blink-957aad69 { 0%{opacity:1}8.3333333333%{opacity:0}16.6666666667%{opacity:1}25%{opacity:0}33.3333333333%{opacity:1}41.6666666667%{opacity:0}50%{opacity:1}58.3333333333%{opacity:0}66.6666666667%{opacity:1}75%{opacity:0}83.3333333333%{opacity:1}91.6666666667%{opacity:0}to{opacity:1} }
@keyframes blink-5eb20d15 { 0%{opacity:1}8.3333333333%{opacity:0}16.6666666667%{opacity:1}25%{opacity:0}33.3333333333%{opacity:1}41.6666666667%{opacity:0}50%{opacity:1}58.3333333333%{opacity:0}66.6666666667%{opacity:1}75%{opacity:0}83.3333333333%{opacity:1}91.6666666667%{opacity:0}to{opacity:1} }
@keyframes blink-2a59b454 { 0%{opacity:1}8.3333333333%{opacity:0}16.6666666667%{opacity:1}25%{opacity:0}33.3333333333%{opacity:1}41.6666666667%{opacity:0}50%{opacity:1}58.3333333333%{opacity:0}66.6666666667%{opacity:1}75%{opacity:0}83.3333333333%{opacity:1}91.6666666667%{opacity:0}to{opacity:1} }
@keyframes blink-bc5e17d8 { 0%{opacity:1}8.3333333333%{opacity:0}16.6666666667%{opacity:1}25%{opacity:0}33.3333333333%{opacity:1}41.6666666667%{opacity:0}50%{opacity:1}58.3333333333%{opacity:0}66.6666666667%{opacity:1}75%{opacity:0}83.3333333333%{opacity:1}91.6666666667%{opacity:0}to{opacity:1} }
@keyframes blink-fb04ef3f { 0%{opacity:1}4.1666666667%{opacity:0}8.3333333333%{opacity:1}12.5%{opacity:0}16.6666666667%{opacity:1}20.8333333333%{opacity:0}25%{opacity:1}29.1666666667%{opacity:0}33.3333333333%{opacity:1}37.5%{opacity:0}41.6666666667%{opacity:1}45.8333333333%{opacity:0}50%{opacity:1}54.1666666667%{opacity:0}58.3333333333%{opacity:1}62.5%{opacity:0}66.6666666667%{opacity:1}70.8333333333%{opacity:0}75%{opacity:1}79.1666666667%{opacity:0}83.3333333333%{opacity:1}87.5%{opacity:0}91.6666666667%{opacity:1}95.83333 }
@keyframes glyph-blink { 0%{filter:blur(2px);opacity:0;transform:scale(.9)}15%{opacity:1;transform:scale(1)}30%{filter:blur(0)}50%{opacity:1}90%{background-image:repeating-conic-gradient(var(--black) 0 25%,var(--white) 0 50%);background-size:2px 2px}to{background-image:repeating-conic-gradient(var(--black-0) 0 25%,var(--white-0) 0 50%);opacity:0} }
@keyframes char-blink { 0%{color:transparent}50%{color:transparent}80%{color:var(--black)}95%{color:var(--current-color)}to{color:var(--current-color)} }
@keyframes char-only-blink { 0%{color:transparent}20%{color:var(--current-color);opacity:1}40%{color:var(--current-color);opacity:.8}90%{color:var(--current-color);opacity:1}to{color:var(--current-color)} }
@keyframes mask-glitch-1 { 0%{clip-path:polygon(0 48%,100% 48%,100% 49%,0 49%);opacity:0}14%{clip-path:polygon(0 12%,100% 12%,100% 52%,0 52%);opacity:1}28%{clip-path:polygon(0 5%,100% 5%,100% 45%,0 45%)}42%{clip-path:polygon(0 67%,100% 67%,100% 97%,0 97%)}56%{clip-path:polygon(0 30%,100% 30%,100% 60%,0 60%)}70%{clip-path:polygon(0 55%,100% 55%,100% 80%,0 80%)}84%{clip-path:polygon(0 18%,100% 18%,100% 38%,0 38%)}to{clip-path:polygon(0 0,100% 0,100% 100%,0 100%);opacity:1} }

Animations

  • blink-46cae32c .12s step-end forwards
  • blink-13c796a0 .12s step-end forwards
  • name alternate
  • blink-ee3e284c .12s step-end forwards
  • blink-096735d2 .12s step-end forwards
  • blink-957aad69 .12s step-end forwards
  • blink-5eb20d15 .12s step-end forwards
  • blink-2a59b454 .12s step-end forwards
  • blink-bc5e17d8 .12s step-end forwards
  • blink .12s step-end forwards

CTA labels found on page

  • VIEW THE ORACLE
  • VIEW HUXLEY
  • Discover More
  • SHOP ALL

Effects

  • backdrop-filter: blur(8px)
  • backdrop-filter: blur()

> Page contains canvas/WebGL elements — consider ambient effects layers.

Source Design Tokens (CSS custom properties)

:root {
  --perc: 100%;
  --hud-tick-size: 8px;
  --white-0: hsla(0,0%,100%,0);
  --white-5: hsla(0,0%,100%,.05);
  --white-10: hsla(0,0%,100%,.1);
  --white-15: hsla(0,0%,100%,.15);
  --white-20: hsla(0,0%,100%,.2);
  --white-25: hsla(0,0%,100%,.25);
  --white-30: hsla(0,0%,100%,.3);
  --white-35: hsla(0,0%,100%,.35);
  --white-40: hsla(0,0%,100%,.4);
  --white-45: hsla(0,0%,100%,.45);
  --white-50: hsla(0,0%,100%,.5);
  --white-55: hsla(0,0%,100%,.55);
  --white-60: hsla(0,0%,100%,.6);
  --white-65: hsla(0,0%,100%,.65);
  --white-70: hsla(0,0%,100%,.7);
  --white-75: hsla(0,0%,100%,.75);
  --white-80: hsla(0,0%,100%,.8);
  --white-85: hsla(0,0%,100%,.85);
  --white-90: hsla(0,0%,100%,.9);
  --white-95: hsla(0,0%,100%,.95);
  --black: #000;
  --black-0: transparent;
  --black-5: rgb(0 0 0/5%);
  --black-10: rgba(0,0,0,.1);
  --black-15: rgba(0,0,0,.15);
  --black-20: rgba(0,0,0,.2);
  --black-25: rgba(0,0,0,.25);
  --black-30: rgba(0,0,0,.3);
  --black-35: rgba(0,0,0,.35);
  --black-40: rgba(0,0,0,.4);
  --black-45: rgba(0,0,0,.45);
  --black-50: rgba(0,0,0,.5);
  --black-55: rgba(0,0,0,.55);
  --black-60: rgba(0,0,0,.6);
  --black-65: rgba(0,0,0,.65);
  --black-70: rgba(0,0,0,.7);
  --black-75: rgba(0,0,0,.75);
  --black-80: rgba(0,0,0,.8);
  --black-85: rgba(0,0,0,.85);
  --black-90: rgba(0,0,0,.9);
  --black-95: rgba(0,0,0,.95);
  --red: red;
  --red-0: rgba(255,0,0,0);
  --red-5: rgb(255 0 0/5%);
  --red-10: rgba(255,0,0,.1);
  --red-15: rgba(255,0,0,.15);
  --red-20: rgba(255,0,0,.2);
  --red-25: rgba(255,0,0,.25);
  --red-30: rgba(255,0,0,.3);
  --red-35: rgba(255,0,0,.35);
  --red-40: rgba(255,0,0,.4);
  --red-45: rgba(255,0,0,.45);
  --red-50: rgba(255,0,0,.5);
  --red-55: rgba(255,0,0,.55);
  --red-60: rgba(255,0,0,.6);
  --red-65: rgba(255,0,0,.65);
  --red-70: rgba(255,0,0,.7);
  --red-75: rgba(255,0,0,.75);
}

Do's and Don'ts

Do

  • Do reserve the accent #FF0000 for interactive highlights and key moments — it is used sparingly on the source page.
  • Do keep the canvas at #FFFFFF; surfaces should stay within the detected neutral ramp.
  • Do stick to the detected font weight(s): 300, 400.
  • Do align spacing to the 4px base unit derived from the page.

Don't

  • Don't introduce colors outside the detected palette — every hue above was found in the source.

Design Tokens (copy-paste)

:root {
  --color-primary: #9C0703;
  --color-accent: #FF0000;
  --color-background: #FFFFFF;
  --color-surface: #F2F2F2;
  --color-text-primary: #000000;
  --color-secondary: #000000;
  --color-text-secondary: #999999;
  --color-border: #666666;
  --color-on-primary: #FFFFFF;
  --color-on-secondary: #FFFFFF;
  --color-on-accent: #FFFFFF;
  --color-surface-container-lowest: #FFFFFF;
  --color-surface-container-low: #F2F2F2;
  --color-surface-container: #D9D9D9;
  --color-surface-container-high: #CCCCCC;
  --font-sans: NB Architekt Light,sans-serif;
  --font-size-title-lg: 20px;
  --font-size-label-sm: 12px;
  --space-xs: 4px;
  --space-sm: 8px;
  --space-md: 16px;
  --space-lg: 32px;
  --space-xl: 64px;
  --tracking-label: 1.92px;
  --container-max: 949px;
}

Generated by DesignMD Maker · analyze responsibly — only scan pages you're permitted to study.