─── Examples (illustrative) — kit-mirror demonstration surfaces ───
---
version: alpha
name: Nintendo.com (2001) Analysis
description: An analysis of Nintendo.com's 2001 design language — a brushed-periwinkle "console chrome" interface where every panel is a beveled metal plate, navigation glows amber over a halftone-dotted carbon bar, and bold outlined display type sits on circuit-board hero fields. A Y2K hardware aesthetic that treats the web page like the faceplate of a game system.
colors:
primary: "#e60012" # Nintendo Red — racetrack logo, alert
signal: "#f68d1f" # Signal Orange — forward cues, submit, "Play It On"
amber: "#ecab37" # Amber — utility buttons, info-box tabs, badges
nav-gold: "#e48600" # Nav Gold — top-nav menu links
canvas: "#7a8aba" # Periwinkle metallic — primary interface body
canvas-soft: "#9fbee7" # Pale Sky — secondary-nav strip, light inset panels
sky: "#9fbee7" # Pale Sky alias
lavender: "#acace7" # Pale Lavender — home hero field
ice: "#c0d5e6" # Pale Ice — news hero field
periwinkle: "#8ba1d4" # Light Periwinkle — raised mid panels
chrome-indigo: "#3d4f97" # Chrome Indigo — beveled borders, tab edges
muted-indigo: "#60619c" # Muted Indigo — inactive tabs, secondary chrome
platinum: "#dedede" # Platinum Gray — list-row / inset content surface
surface: "#ffffff" # White — content cards, list-row highlight
carbon: "#21242e" # Carbon Navy — nav bar, dark buttons, footer, ink
hairline: "#5a5f8c" # blended bevel divider
ink: "#21242e" # primary text on light
ink-soft: "#3d4f97" # secondary text / chrome labels
on-primary: "#ffffff" # text on dark/red/orange chrome
systems-teal: "#206479" # Systems hero circuit-board cyan
games-red: "#a7282b" # Games F-1 racing hero
error: "#e60012" # validation / destructive (shares brand red)
typography:
nav-link:
fontFamily: Arial
fontSize: 13px
fontWeight: 700
lineHeight: 1
letterSpacing: 0.5px
ui-label:
fontFamily: Arial
fontSize: 11px
fontWeight: 700
lineHeight: 1.1
letterSpacing: 0.5px
display:
fontFamily: Arial Black
fontSize: 44px
fontWeight: 900
lineHeight: 1
letterSpacing: 0
hero-tagline:
fontFamily: Arial
fontSize: 15px
fontWeight: 700
lineHeight: 1.3
letterSpacing: 0
body:
fontFamily: Arial
fontSize: 12px
fontWeight: 400
lineHeight: 1.4
letterSpacing: 0
link:
fontFamily: Arial
fontSize: 12px
fontWeight: 700
lineHeight: 1.4
letterSpacing: 0
micro:
fontFamily: Arial
fontSize: 10px
fontWeight: 400
lineHeight: 1.3
letterSpacing: 0
rounded:
none: 0px
xs: 2px
sm: 4px
md: 6px
lg: 10px
full: 9999px
spacing:
xxs: 2px
xs: 4px
sm: 8px
md: 12px
lg: 16px
xl: 24px
xxl: 32px
section: 48px
components:
nav-bar:
backgroundColor: "{colors.carbon}"
textColor: "{colors.nav-gold}"
typography: "{typography.nav-link}"
rounded: "{rounded.none}"
padding: "{spacing.sm}"
height: 28px
subnav-strip:
backgroundColor: "{colors.canvas-soft}"
textColor: "{colors.ink}"
typography: "{typography.ui-label}"
rounded: "{rounded.none}"
padding: "{spacing.xs}"
logo-pill:
backgroundColor: "{colors.surface}"
textColor: "{colors.primary}"
typography: "{typography.display}"
rounded: "{rounded.full}"
padding: "{spacing.xs}"
button-primary:
backgroundColor: "{colors.amber}"
textColor: "{colors.carbon}"
typography: "{typography.ui-label}"
rounded: "{rounded.xs}"
padding: "{spacing.md}"
button-primary-pressed:
backgroundColor: "{colors.nav-gold}"
textColor: "{colors.carbon}"
typography: "{typography.ui-label}"
rounded: "{rounded.xs}"
padding: "{spacing.md}"
button-submit:
backgroundColor: "{colors.signal}"
textColor: "{colors.on-primary}"
typography: "{typography.ui-label}"
rounded: "{rounded.xs}"
padding: "{spacing.lg}"
button-secondary:
backgroundColor: "{colors.carbon}"
textColor: "{colors.on-primary}"
typography: "{typography.ui-label}"
rounded: "{rounded.none}"
padding: "{spacing.md}"
button-icon-arrow:
backgroundColor: "{colors.signal}"
textColor: "{colors.on-primary}"
rounded: "{rounded.full}"
size: 22px
button-arrow-chip:
backgroundColor: "{colors.signal}"
textColor: "{colors.on-primary}"
rounded: "{rounded.xs}"
padding: "{spacing.xs}"
size: 18px
search-field:
backgroundColor: "{colors.surface}"
textColor: "{colors.ink}"
typography: "{typography.body}"
rounded: "{rounded.xs}"
padding: "{spacing.xs}"
height: 20px
text-input:
backgroundColor: "{colors.surface}"
textColor: "{colors.ink}"
typography: "{typography.body}"
rounded: "{rounded.xs}"
padding: "{spacing.xs}"
height: 20px
select-dropdown:
backgroundColor: "{colors.surface}"
textColor: "{colors.ink}"
typography: "{typography.body}"
rounded: "{rounded.xs}"
padding: "{spacing.xs}"
height: 24px
field-label:
backgroundColor: "{colors.surface}"
textColor: "{colors.ink}"
typography: "{typography.link}"
rounded: "{rounded.none}"
padding: "{spacing.xxs}"
form-panel:
backgroundColor: "{colors.platinum}"
textColor: "{colors.ink}"
typography: "{typography.body}"
rounded: "{rounded.md}"
padding: "{spacing.lg}"
dotted-divider:
backgroundColor: "{colors.muted-indigo}"
textColor: "{colors.muted-indigo}"
rounded: "{rounded.none}"
height: 1px
hero-panel:
backgroundColor: "{colors.lavender}"
textColor: "{colors.surface}"
typography: "{typography.display}"
rounded: "{rounded.md}"
padding: "{spacing.lg}"
section-label-bar:
backgroundColor: "{colors.canvas}"
textColor: "{colors.ink}"
typography: "{typography.ui-label}"
rounded: "{rounded.none}"
padding: "{spacing.sm}"
news-row:
backgroundColor: "{colors.platinum}"
textColor: "{colors.ink-soft}"
typography: "{typography.link}"
rounded: "{rounded.sm}"
padding: "{spacing.sm}"
featured-tile:
backgroundColor: "{colors.carbon}"
textColor: "{colors.on-primary}"
typography: "{typography.micro}"
rounded: "{rounded.sm}"
padding: "{spacing.xxs}"
poll-panel:
backgroundColor: "{colors.periwinkle}"
textColor: "{colors.ink}"
typography: "{typography.body}"
rounded: "{rounded.md}"
padding: "{spacing.md}"
radio-option:
backgroundColor: "{colors.surface}"
textColor: "{colors.ink}"
typography: "{typography.body}"
rounded: "{rounded.full}"
size: 12px
info-box:
backgroundColor: "{colors.surface}"
textColor: "{colors.ink}"
typography: "{typography.body}"
rounded: "{rounded.sm}"
padding: "{spacing.md}"
promo-card:
backgroundColor: "{colors.lavender}"
textColor: "{colors.ink}"
typography: "{typography.display}"
rounded: "{rounded.sm}"
padding: "{spacing.md}"
system-tile:
backgroundColor: "{colors.periwinkle}"
textColor: "{colors.ink}"
typography: "{typography.ui-label}"
rounded: "{rounded.sm}"
padding: "{spacing.sm}"
link-row-card:
backgroundColor: "{colors.surface}"
textColor: "{colors.ink}"
typography: "{typography.body}"
rounded: "{rounded.sm}"
padding: "{spacing.sm}"
calendar-widget:
backgroundColor: "{colors.surface}"
textColor: "{colors.ink}"
typography: "{typography.micro}"
rounded: "{rounded.sm}"
padding: "{spacing.sm}"
left-rail-tab:
backgroundColor: "{colors.carbon}"
textColor: "{colors.canvas-soft}"
typography: "{typography.ui-label}"
rounded: "{rounded.none}"
padding: "{spacing.xs}"
footer-bar:
backgroundColor: "{colors.carbon}"
textColor: "{colors.canvas-soft}"
typography: "{typography.micro}"
rounded: "{rounded.none}"
padding: "{spacing.lg}"
esrb-badge:
backgroundColor: "{colors.amber}"
textColor: "{colors.carbon}"
typography: "{typography.micro}"
rounded: "{rounded.xs}"
padding: "{spacing.xxs}"
esrb-rating-square:
backgroundColor: "{colors.surface}"
textColor: "{colors.carbon}"
typography: "{typography.ui-label}"
rounded: "{rounded.xs}"
size: 20px
mascot-bubble:
backgroundColor: "{colors.surface}"
textColor: "{colors.carbon}"
typography: "{typography.micro}"
rounded: "{rounded.lg}"
padding: "{spacing.sm}"
ex-pricing-tier:
description: "Default Pricing tier card. Re-uses feature-card chrome with brand canvas-soft surface."
backgroundColor: "{colors.canvas-soft}"
textColor: "{colors.ink}"
borderColor: "{colors.hairline}"
rounded: "{rounded.lg}"
padding: "{spacing.md}"
ex-pricing-tier-featured:
description: "Featured/highlighted tier — polarity-flipped surface (dark fill + light text in light mode, light fill + dark text in dark mode)."
backgroundColor: "{colors.ink}"
textColor: "{colors.on-primary}"
rounded: "{rounded.lg}"
padding: "{spacing.md}"
ex-product-selector:
description: "What's Included summary card — re-purposed for SaaS / B2B verticals (NOT a literal product gallery)."
backgroundColor: "{colors.surface}"
rounded: "{rounded.lg}"
padding: "{spacing.md}"
ex-cart-drawer:
description: "Subscription summary — re-purposed for SaaS / B2B (line items per add-on, not literal cart)."
backgroundColor: "{colors.surface}"
rounded: "{rounded.lg}"
padding: "{spacing.md}"
item-divider: "{colors.hairline}"
ex-app-shell-row:
description: "Sidebar nav row inside the App Shell example. Active state uses brand primary as the indicator."
backgroundColor: "{colors.canvas}"
activeIndicator: "{colors.primary}"
rounded: "{rounded.sm}"
padding: "{spacing.sm} {spacing.md}"
ex-data-table-cell:
description: "Default data-table th + td chrome. Header uses mono-caps eyebrow typography; body uses body-sm."
headerBackground: "{colors.canvas-soft}"
headerTypography: "{typography.ui-label}"
bodyTypography: "{typography.body}"
cellPadding: "{spacing.xs} {spacing.sm}"
rowBorder: "{colors.hairline}"
ex-auth-form-card:
description: "Sign-in / sign-up card. Re-uses feature-card chrome with text-input primitives inside."
backgroundColor: "{colors.surface}"
rounded: "{rounded.lg}"
padding: "{spacing.md}"
ex-modal-card:
description: "Modal dialog surface — same chrome as feature-card with elevated shadow."
backgroundColor: "{colors.surface}"
rounded: "{rounded.lg}"
padding: "{spacing.md}"
ex-empty-state-card:
description: "Empty-state illustration frame."
backgroundColor: "{colors.canvas-soft}"
rounded: "{rounded.lg}"
padding: "{spacing.xl}"
captionTypography: "{typography.body}"
ex-toast:
description: "Toast notification surface — feature-card shape + medium shadow."
backgroundColor: "{colors.surface}"
rounded: "{rounded.md}"
padding: "{spacing.sm} {spacing.md}"
typography: "{typography.body}"
---
Overview
Section 01Nintendo.com circa 2001 is the web rendered as **console hardware**. Where most sites of the era reached for either grunge texture or corporate gradients, this interface builds itself out of **brushed-periwinkle metal plates** — every region is a discrete beveled panel, edge-lit with a brighter highlight on top and a `{colors.chrome-indigo}` shadow line beneath, as if stamped from the same injection-molded plastic as a Game Boy. The whole page reads as one machine faceplate: a body of `{colors.canvas}` periwinkle chrome carrying inset modules, with the corners of the largest panels physically **chamfered** (cut at 45°) rather than rounded, reinforcing the manufactured-object feeling.
The system runs on a tight three-voice contrast. The structural voice is the cool periwinkle-to-indigo chrome (`{colors.canvas}`, `{colors.periwinkle}`, `{colors.chrome-indigo}`). The authority voice is `{colors.carbon}` carbon-navy — the top navigation bar, the right-rail action buttons, and the footer, all near-black slabs printed with a faint **halftone dot-matrix texture** that evokes a speaker grille. The energy voice is warm and reserved for one job only: telling you where to go. `{colors.nav-gold}` lights the primary menu words, `{colors.amber}` fills the utility chips and badges, and `{colors.signal}` orange marks every "forward" cue — the round arrow buttons, the chevron chips beside each headline, the Submit button. Warmth in this system always means *action*; the cool chrome never carries it.
Atmosphere comes from the **hero fields**, which break the periwinkle calm with full-bleed product photography over textured backdrops — a circuit-board cyan on Systems, a motion-blurred racetrack red on Games, a soft lavender wash on Home — each topped with chunky `{typography.display}` wordmarks rendered in white with a heavy outline and hard drop shadow, the visual signature of game-box cover type. A pixel-eared Mario leans in from the masthead with a "Welcome to Nintendo.com!" speech bubble, anchoring the entire machine to the brand's playful character voice.
**Key Characteristics:**
Colors
Section 02The palette is a **cool metallic chassis with rationed warm signal**. Read it as three layers: the periwinkle chrome that everything is built from, the carbon command slabs, and the warm wayfinding accents that are the only saturated color in the steady-state interface.
Brand & Accent
Section 03Surface
Section 04Text
Section 05Semantic
Section 06Typography
Section 07Font Family
Section 08The era's web-safe reality is **Arial / Helvetica** throughout — there are no webfonts. The system gets its character not from typeface choice but from *treatment*: tight uppercase tracking on every chrome label, and a heavy outlined-and-shadowed display style for hero wordmarks that mimics console box-art logotype. Body copy is plain small Arial; links are the same family at bold weight in `{colors.ink-soft}`.
The micro-labels (vertical left-rail tabs, footer fine print) render with the soft pixelation characteristic of small bitmap-rendered Arial of the period — for a faithful reproduction, pair Arial with a pixel face such as **Silkscreen** or **VT323** at the 10–11px label sizes.
Hierarchy
Section 09| Token | Size | Weight | Line Height | Letter Spacing | Use |
|---|---|---|---|---|---|
| `{typography.display}` | 44px | 900 | 1 | 0 | Hero box-art wordmarks (white, heavy outline + hard drop shadow) |
| `{typography.hero-tagline}` | 15px | 700 | 1.3 | 0 | Hero supporting line ("Gorgeous graphics, great sound…") |
| `{typography.nav-link}` | 13px | 700 | 1 | 0.5px | Primary nav menu words, uppercase |
| `{typography.ui-label}` | 11px | 700 | 1.1 | 0.5px | Section header labels, panel titles, button text — uppercase |
| `{typography.link}` | 12px | 700 | 1.4 | 0 | News headline links, "Read More" |
| `{typography.body}` | 12px | 400 | 1.4 | 0 | Descriptions, poll text, info-box copy |
| `{typography.micro}` | 10px | 400 | 1.3 | 0 | Footer copyright, calendar cells, fine print |
Principles
Section 010Note on Font Substitutes
Section 011Arial is freely available system-wide and needs no substitute. To recreate the period bitmap rendering of micro-labels, layer a pixel font (**Silkscreen**, **VT323**, or **Press Start 2P** for the chunkiest legends) at 10–11px and disable anti-aliasing. The display wordmarks are bespoke logotypes; the closest open substitute is **Archivo Black** (italicized) or **Arial Black** with a CSS text-stroke outline and `text-shadow` offset.
Layout
Section 012Spacing System
Section 013Grid & Container
Section 014Whitespace Philosophy
Section 015Empty space is **engineered seam**, not breathing room. Modules butt against each other separated by thin `{colors.chrome-indigo}` bevel lines and a few pixels of canvas, so the eye reads grouped plates. The density is intentional: it makes the page feel like a packed control panel where everything is one click away.
Responsive Strategy
Section 016Breakpoints
Section 017| Name | Width | Key Changes |
|---|---|---|
| Desktop (only) | ~780–830px fixed | The native, sole target — a fixed-width application-style layout |
| Narrow window | < 780px | Horizontal scroll (no reflow); the table layout does not collapse |
This is a **pre-responsive, fixed-canvas** design. It was authored for a single desktop window size and does not reflow. A faithful *modern* re-implementation would preserve the fixed chrome metaphor on desktop and, below ~720px, stack the right action rail beneath the content column and collapse the dual nav bars into a single carbon bar with a disclosure toggle.
Touch Targets
Section 018Not a consideration in the original (mouse-only era); buttons and chips are 18–28px tall. A modern port must enlarge the `{components.button-primary}`, `{components.button-icon-arrow}`, and `{components.radio-option}` hit areas to a 44×44px minimum.
Collapsing Strategy
Section 019On a modern narrow viewport: dual nav bars → single carbon bar + menu disclosure; two-column body → single stacked column with the right rail moving below content; the left rotated-tab strip → a horizontal scroll chip row or removed; fixed hero → fluid full-bleed hero retaining the outlined wordmark.
Image Behavior
Section 020Hero fields are **full-bleed photographic plates** clipped to the panel's beveled rectangle; featured-site and game tiles are fixed-pixel thumbnails (~95×60px) in a tight grid. No lazy loading (era predates it). Product renders sit on textured backdrops rather than transparent cutouts.
Elevation & Depth
Section 021Depth in this system is **physical bevel simulation**, not soft shadow. There is no blurred drop-shadow vocabulary; instead every plate is given the illusion of being a raised piece of molded plastic.
| Level | Treatment | Use |
|---|---|---|
| 0 — Inset | Recessed into canvas; darker `{colors.chrome-indigo}` top edge, lighter bottom edge | List rows, form fields, the canvas body itself |
| 1 — Plate | Flush panel; lighter top highlight, `{colors.chrome-indigo}` shadow line beneath | Content panels, system tiles, info box |
| 2 — Raised chip | Beveled button with bright top edge + hard bottom shadow | Utility chips, Go/Submit buttons, nav tabs |
| 3 — Command slab | `{colors.carbon}` near-black with halftone texture, sits "above" the chrome | Top nav bar, right-rail buttons, footer |
Decorative Depth
Section 022Depth is also carried by **texture and photography**: the halftone dot-matrix on carbon slabs reads as a recessed speaker grille; hero fields use motion-blur, circuit-board patterns, and product renders with their own cast shadows to create literal pictorial depth; chamfered corners on the outer chrome suggest a machined faceplate edge. The left-rail rotated tabs appear to tuck *behind* the main chrome, a small but effective layered cue.
Shapes
Section 023Border Radius Scale
Section 024| Token | Value | Use |
|---|---|---|
| `{rounded.none}` | 0px | The default — nav bar, footer, most chrome plates (sharp / chamfered, not rounded) |
| `{rounded.xs}` | 2px | Utility buttons, form fields, badges |
| `{rounded.sm}` | 4px | Small panels, featured tiles, list rows |
| `{rounded.md}` | 6px | Content panels, hero panel |
| `{rounded.lg}` | 10px | Outer section panels, mascot bubble |
| `{rounded.full}` | 9999px | Logo racetrack pill, radio dots, circle-arrow badges |
The signature is **sharpness with rationed roundness**. The chrome is hard-edged and frequently *chamfered* (corners cut at 45° rather than curved) — this is the manufactured-faceplate look. Roundness appears only where it signals a physical control: the fully-pill logo, the round radio buttons, and the round Signal-Orange arrow badges. A modern reproduction should resist the urge to soften every corner; the tension between sharp plates and the few pill elements is the whole character.
Photography Geometry
Section 025Hero photography fills beveled rectangles at roughly 4:1 (banner) and 16:9 proportions, full-bleed within the panel. Featured-site and game thumbnails are near-4:3 fixed tiles (~95×60px) framed by a 1–2px `{colors.chrome-indigo}` edge with `{rounded.sm}` corners. The mascot is a transparent cutout overlapping the masthead, breaking the rectangular grid for personality.
Components
Section 026> No hover states are documented. Each spec below covers Default and (where extracted) Pressed/Active. Variants live as separate `components:` entries.
Navigation
Section 027**`nav-bar`** — Primary top navigation
**`subnav-strip`** — Secondary navigation
**`left-rail-tab`** — Rotated section tabs
Brand & Masthead
Section 028**`logo-pill`** — Nintendo racetrack logo
**`mascot-bubble`** — Mario welcome speech bubble
Buttons
Section 029**`button-primary`** — Amber utility / Go chip
**`button-submit`** — Forward / Submit
**`button-secondary`** — Right-rail action button
**`button-icon-arrow`** — Round forward arrow
**`button-arrow-chip`** — Headline chevron chip
Inputs & Forms
Section 030**`search-field`** — Masthead search input
**`text-input`** — Generic text field
**`select-dropdown`** — Native select ("Click to choose")
**`field-label`** — Inline form label
**`radio-option`** — Poll radio button
**`form-panel`** — Form container (Login / Register)
**`dotted-divider`** — Dotted hairline rule
Cards & Panels
Section 031**`hero-panel`** — Photographic hero plate
**`section-label-bar`** — Panel header
**`news-row`** — Headline list row
**`featured-tile`** — Featured-site thumbnail
**`poll-panel`** — Player's Poll module
**`info-box`** — "What Is" explainer card
**`promo-card`** — Side product promo
**`system-tile`** — Hardware grid tile (Systems page)
**`link-row-card`** — Utility link card (Systems page)
**`calendar-widget`** — Month calendar (News page)
Badges & Footer
Section 032**`esrb-badge`** — ESRB Privacy-Certified mark
**`esrb-rating-square`** — Game content-rating square
**`footer-bar`** — Page footer
Examples (illustrative)
Section 033> Kit-mirror demonstration surfaces. Each `ex-*` entry references brand-native primitives so downstream consumers (`/preview-design`, `/generate-kit`) re-skin the same 10 surfaces consistently.
**`ex-pricing-tier`** — Default Pricing tier card. Re-uses feature-card chrome with brand canvas-soft surface.
**`ex-pricing-tier-featured`** — Featured/highlighted tier — polarity-flipped surface (dark fill + light text in light mode, light fill + dark text in dark mode).
**`ex-product-selector`** — What's Included summary card — re-purposed for SaaS / B2B verticals (NOT a literal product gallery).
**`ex-cart-drawer`** — Subscription summary — re-purposed for SaaS / B2B (line items per add-on, not literal cart).
**`ex-app-shell-row`** — Sidebar nav row inside the App Shell example. Active state uses brand primary as the indicator.
**`ex-data-table-cell`** — Default data-table th + td chrome. Header uses mono-caps eyebrow typography; body uses body-sm.
**`ex-auth-form-card`** — Sign-in / sign-up card. Re-uses feature-card chrome with text-input primitives inside.
**`ex-modal-card`** — Modal dialog surface — same chrome as feature-card with elevated shadow.
**`ex-empty-state-card`** — Empty-state illustration frame.
**`ex-toast`** — Toast notification surface — feature-card shape + medium shadow.