--- 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}" # ─── Examples (illustrative) — kit-mirror demonstration surfaces ─── 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 Nintendo.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:** - Every UI region is a **beveled metal plate** in `{colors.canvas}` periwinkle, edge-lit on top and shadow-lined with `{colors.chrome-indigo}` below — the page is assembled, not laid out. - **Chamfered (cut-corner) panel geometry** on the largest modules; most chrome is sharp-edged (`{rounded.none}`), with rounding reserved for the logo pill, radio dots, and circle-arrow badges (`{rounded.full}`). - A **carbon-navy command layer** (`{colors.carbon}`) with halftone-dot texture carries the top nav, right-rail buttons, and footer. - Warmth is rationed as **directional signal only**: `{colors.nav-gold}` for menu words, `{colors.amber}` for utility chips/badges, `{colors.signal}` for every forward/Submit cue. - **Photographic hero fields** cycle a page-specific accent tint (`{colors.lavender}` home → `{colors.systems-teal}` systems → `{colors.games-red}` games) under outlined `{typography.display}` box-art wordmarks. - A dense, **modular grid** — masthead, dual nav bars, hero, then a two-thirds content column of stacked list/feature panels beside a one-third right action rail — packed with minimal whitespace. - **Character-led**: the Mario mascot speech-bubble masthead and ESRB badge frame the chrome with brand personality and regulatory trust marks. ## Colors The 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 - **Nintendo Red** (`{colors.primary}` — #e60012): The racetrack logo wordmark and the brand's anchor hue. Used sparingly as pure brand identity and doubled as the validation/alert color. Never a surface fill outside the logo plate. - **Signal Orange** (`{colors.signal}` — #f68d1f): The "go forward" color. Fills every round arrow button, every chevron chip beside a headline, the Submit button, and the "Play It On" platform badges. If something advances you, it is orange. - **Amber** (`{colors.amber}` — #ecab37): Utility energy. Fills the Code Bank / Game Finder / Go chips, the info-box header tabs, the sweepstakes stars, and the ESRB Privacy-Certified badge. Distinguished from Signal Orange by being more golden and reserved for *tools and marks* rather than *forward motion*. - **Nav Gold** (`{colors.nav-gold}` — #e48600): The deeper orange-gold reserved exclusively for the primary navigation words (Games, Systems, News, Nsider, Downloads) glowing on the carbon bar. ### Surface - **Periwinkle Metallic** (`{colors.canvas}` — #7a8aba): The primary interface body — the brushed-metal chrome that every module is inset into. - **Light Periwinkle** (`{colors.periwinkle}` — #8ba1d4): Raised mid panels (poll panel, system tiles) — one step brighter than canvas for elevation. - **Pale Sky** (`{colors.sky}` / `{colors.canvas-soft}` — #9fbee7): The secondary-nav strip and light inset panel fills. - **Pale Lavender** (`{colors.lavender}` — #acace7): The home hero field and side promo cards. - **Pale Ice** (`{colors.ice}` — #c0d5e6): The News hero panel field. - **Chrome Indigo** (`{colors.chrome-indigo}` — #3d4f97): The beveled border / shadow line under every plate, and the leading angled edge of nav tabs. - **Muted Indigo** (`{colors.muted-indigo}` — #60619c): Inactive tabs and recessed chrome. - **Platinum Gray** (`{colors.platinum}` — #dedede): The list-row and inset content surface — news headlines and archive rows sit on this cool platinum. - **White** (`{colors.surface}` — #ffffff): Content cards, form fields, the logo pill, and list-row highlight. ### Text - **Carbon Navy** (`{colors.ink}` — #21242e): Primary text on light chrome, and the fill of the dark command layer (nav bar, rail buttons, footer). - **Chrome Indigo** (`{colors.ink-soft}` — #3d4f97): Secondary text and small-caps chrome labels. - **White** (`{colors.on-primary}` — #ffffff): Text on carbon, red, and orange chrome. ### Semantic - **Error / Alert** (`{colors.error}` — #e60012): Validation and destructive states reuse the brand red. - **Systems Teal** (`{colors.systems-teal}` — #206479): Page-accent tint — the Systems hero's circuit-board cyan field. - **Games Red** (`{colors.games-red}` — #a7282b): Page-accent tint — the Games hero's motion-blurred racetrack field. ## Typography ### Font Family The 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 | 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 - **Uppercase + tracking is the chrome voice.** Every structural label — nav words, panel headers ("Official News", "Featured Sites", "Player's Poll"), button text — is uppercase Arial Bold with a half-pixel of tracking. It reads like silkscreened legends on a controller. - **Display type is outlined, never flat.** Hero wordmarks always carry a thick contrasting outline and a hard offset shadow so they pop off the photographic field — the box-art convention. - **Body stays small and quiet.** At 12px, descriptive copy never competes with the chrome; the hierarchy is carried entirely by the labels and the photography. ### Note on Font Substitutes Arial 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 ### Spacing System - **Base unit**: 8px (`{spacing.sm}`) — the gutter rhythm between list rows and grid cells. - **Tokens**: `{spacing.xxs}` 2px · `{spacing.xs}` 4px · `{spacing.sm}` 8px · `{spacing.md}` 12px · `{spacing.lg}` 16px · `{spacing.xl}` 24px · `{spacing.xxl}` 32px · `{spacing.section}` 48px - Panels carry **12px interior padding** (`{spacing.md}`); larger content modules use **16px** (`{spacing.lg}`). Inter-module gaps run 16–24px. The layout is deliberately dense — whitespace is a structural seam between plates, not a luxury. ### Grid & Container - **Fixed-width canvas** ~780–830px wide (a desktop-era fixed table layout, centered). No fluid scaling — the interface is sized to a single target window like an application. - **Masthead row**: Mario mascot + speech bubble (left) and search module (right) float above the chrome. - **Dual nav bars**: a carbon primary bar (logo + 5 section words + Code Bank / Game Finder utility chips) stacked over a periwinkle secondary strip (Parents, Customer Service, Corporate, Global, Privacy, Store, Contact). - **Body**: a full-width hero panel, then a **two-column split** — a ~two-thirds content column of stacked panels (Official News list, Featured Sites 2×2 grid, etc.) beside a ~one-third **right action rail** (Login / Subscribe / Newsletter / Help buttons, an info box, a side promo card). - **Left rail**: a thin vertical strip of rotated tabs (Top Ten, Top Rentals, Player's Choice, ESRB Ratings) clipped to the chrome edge. ### Whitespace Philosophy Empty 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 #### Breakpoints | 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 Not 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 On 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 Hero 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 Depth 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 Depth 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 ### Border Radius Scale | 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 Hero 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 > No hover states are documented. Each spec below covers Default and (where extracted) Pressed/Active. Variants live as separate `components:` entries. ### Navigation **`nav-bar`** — Primary top navigation - `{colors.carbon}` slab with a faint halftone-dot texture, ~28px tall, carrying the `{components.logo-pill}` at left, the five `{colors.nav-gold}` section words in `{typography.nav-link}` uppercase, and the amber Code Bank / Game Finder utility chips at right. Sharp corners (`{rounded.none}`), `{spacing.sm}` padding. **`subnav-strip`** — Secondary navigation - A `{colors.canvas-soft}` pale-sky strip directly beneath the nav bar, carrying utility links (Parents, Customer Service, Corporate, Global, Privacy, Store, Contact) in `{typography.ui-label}` `{colors.ink}`, separated by thin dividers. Sharp, `{spacing.xs}` padding. **`left-rail-tab`** — Rotated section tabs - A thin vertical strip of `{colors.carbon}` tabs (Top Ten, Top Rentals, Player's Choice, ESRB Ratings) with vertically-rotated `{typography.ui-label}` text in `{colors.canvas-soft}`, clipped to the left chrome edge. Sharp corners, `{spacing.xs}` padding. ### Brand & Masthead **`logo-pill`** — Nintendo racetrack logo - The wordmark in `{colors.primary}` red set inside a white `{rounded.full}` racetrack pill, outlined. Sits at the left of the nav bar. `{spacing.xs}` padding. **`mascot-bubble`** — Mario welcome speech bubble - A white `{rounded.lg}` rounded-rectangle speech bubble with a tail, carrying "Welcome to Nintendo.com!" in `{typography.micro}` `{colors.carbon}`, paired with the Mario cutout in the masthead. `{spacing.sm}` padding. ### Buttons **`button-primary`** — Amber utility / Go chip - `{colors.amber}` fill, `{colors.carbon}` text in `{typography.ui-label}`, `{rounded.xs}` corners, `{spacing.md}` padding, with a beveled top highlight. The everyday tool button (Code Bank, Game Finder, Go). - Pressed state in **`button-primary-pressed`** — fill deepens to `{colors.nav-gold}`. **`button-submit`** — Forward / Submit - `{colors.signal}` orange fill, `{colors.on-primary}` white text in `{typography.ui-label}`, `{rounded.xs}`, `{spacing.lg}` padding. The "commit" action (poll Submit, Go on archives). **`button-secondary`** — Right-rail action button - `{colors.carbon}` near-black slab, `{colors.on-primary}` white text in `{typography.ui-label}`, sharp `{rounded.none}` corners, `{spacing.md}` padding, with a small leading icon. Used for Login / Subscribe / Newsletter / Help in the right rail. **`button-icon-arrow`** — Round forward arrow - A 22px `{colors.signal}` orange `{rounded.full}` disc with a white chevron — the primary "go" affordance on hero panels and section links. **`button-arrow-chip`** — Headline chevron chip - An 18px `{colors.signal}` orange `{rounded.xs}` chip with a white forward chevron, sitting at the right end of each `{components.news-row}` to advance to the article. ### Inputs & Forms **`search-field`** — Masthead search input - White `{colors.surface}` field, `{colors.ink}` text in `{typography.body}`, `{rounded.xs}` corners, 1px `{colors.hairline}` border, ~20px tall, paired with an "All" category dropdown and an amber Go chip. **`text-input`** — Generic text field - Same chassis as `search-field`: white fill, `{colors.ink}` text, `{rounded.xs}`, `{colors.hairline}` 1px border, `{spacing.xs}` padding. Used in the Login form (Username / Password / E-mail), news-archive keyword, and date fields. **`select-dropdown`** — Native select ("Click to choose") - A white `{colors.surface}` field with `{colors.ink}` text in `{typography.body}`, `{rounded.xs}` corners, and a hard 1px `{colors.carbon}` border (sharper than the inputs) closing on a beveled native dropdown-chevron button at the right edge. ~24px tall, `{spacing.xs}` padding. Used for the Register form's Month / Year pickers. **`field-label`** — Inline form label - A bold `{colors.ink}` label in `{typography.link}` (Arial Bold 12px) sitting left of its input (Username, Password, E-mail, Month, Year). `{rounded.none}`, `{spacing.xxs}` padding. **`radio-option`** — Poll radio button - A 12px white `{rounded.full}` radio dot with a `{colors.hairline}` ring, paired with `{typography.body}` option text. Used in the Player's Poll. **`form-panel`** — Form container (Login / Register) - A `{colors.platinum}` light-gray `{rounded.md}` panel holding a form, capped by a `{components.section-label-bar}` header (≡ LOG IN / ≡ REGISTER). `{spacing.lg}` interior. The Login page pairs two side by side. **`dotted-divider`** — Dotted hairline rule - A 1px dotted `{colors.muted-indigo}` separator rule used between form sub-sections (the "Note:" line, "Forgot Your Password?"). A recurring Y2K-chrome detail — dotted rather than solid. ### Cards & Panels **`hero-panel`** — Photographic hero plate - A `{rounded.md}` beveled rectangle filled with full-bleed product photography over a page-tinted field (`{colors.lavender}` / `{colors.systems-teal}` / `{colors.games-red}`), topped with an outlined `{typography.display}` wordmark and a `{components.button-icon-arrow}` call-to-action. `{spacing.lg}` interior. **`section-label-bar`** — Panel header - A `{colors.canvas}` header strip with a small grid/list glyph and an uppercase `{typography.ui-label}` title ("Official News", "Featured Sites", "Player's Poll"). Sharp corners, `{spacing.sm}` padding. Caps every content module. **`news-row`** — Headline list row - A `{colors.platinum}` `{rounded.sm}` row with a small category icon, a `{typography.link}` headline in `{colors.ink-soft}`, and a trailing `{components.button-arrow-chip}`. `{spacing.sm}` padding. Stacked into the Official News / Other Headlines lists. **`featured-tile`** — Featured-site thumbnail - A `{colors.carbon}`-framed `{rounded.sm}` tile (~95×60px) holding a screenshot thumbnail with a `{typography.micro}` URL caption (e.g. www.pokemon.com). Tight `{spacing.xxs}` padding, arranged in a 2×2 grid. **`poll-panel`** — Player's Poll module - A `{colors.periwinkle}` raised `{rounded.md}` panel posing a question, listing `{components.radio-option}` choices, and closing with a `{components.button-submit}`. `{spacing.md}` interior. **`info-box`** — "What Is" explainer card - A white `{colors.surface}` `{rounded.sm}` card with an amber header tab ("What Is — Game Finder") and `{typography.body}` explanatory copy. `{spacing.md}` padding. Sits in the right rail. **`promo-card`** — Side product promo - A `{colors.lavender}` `{rounded.sm}` card carrying an outlined product wordmark (e.g. Game Boy Advance) over a small product render, in the right rail. `{spacing.md}` padding. **`system-tile`** — Hardware grid tile (Systems page) - A `{colors.periwinkle}` `{rounded.sm}` tile holding a console render over a circuit-board backdrop with an outlined system name (Nintendo 64, Super Nintendo, Game Boy). `{spacing.sm}` padding, arranged in a 2×3 grid. **`link-row-card`** — Utility link card (Systems page) - A white `{rounded.sm}` card with an amber label tab (Technical Help, Store Locator, Online Store), a character icon, and a one-line `{typography.body}` description. `{spacing.sm}` padding. **`calendar-widget`** — Month calendar (News page) - A white `{rounded.sm}` grid calendar in `{typography.micro}`, with a `{colors.carbon}` caption header (e.g. "June 01"), highlighted event dates, and a month-select dropdown. `{spacing.sm}` padding. ### Badges & Footer **`esrb-badge`** — ESRB Privacy-Certified mark - A small `{colors.amber}` `{rounded.xs}` badge reading "ESRB — Privacy Certified" in `{typography.micro}` `{colors.carbon}`, pinned in the footer. **`esrb-rating-square`** — Game content-rating square - A 20px white `{rounded.xs}` square stamping the content-rating letter (E, T) in `{typography.ui-label}` `{colors.carbon}`, on each game card. **`footer-bar`** — Page footer - A `{colors.carbon}` chamfered slab with the "©1997–2001 Nintendo…" copyright in `{typography.micro}` `{colors.canvas-soft}`, the ESRB badge, and a privacy link. Sharp corners, `{spacing.lg}` padding. ### Examples (illustrative) > 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. - Properties: `backgroundColor`, `textColor`, `borderColor`, `rounded`, `padding` **`ex-pricing-tier-featured`** — Featured/highlighted tier — polarity-flipped surface (dark fill + light text in light mode, light fill + dark text in dark mode). - Properties: `backgroundColor`, `textColor`, `rounded`, `padding` **`ex-product-selector`** — What's Included summary card — re-purposed for SaaS / B2B verticals (NOT a literal product gallery). - Properties: `backgroundColor`, `rounded`, `padding` **`ex-cart-drawer`** — Subscription summary — re-purposed for SaaS / B2B (line items per add-on, not literal cart). - Properties: `backgroundColor`, `rounded`, `padding`, `item-divider` **`ex-app-shell-row`** — Sidebar nav row inside the App Shell example. Active state uses brand primary as the indicator. - Properties: `backgroundColor`, `activeIndicator`, `rounded`, `padding` **`ex-data-table-cell`** — Default data-table th + td chrome. Header uses mono-caps eyebrow typography; body uses body-sm. - Properties: `headerBackground`, `headerTypography`, `bodyTypography`, `cellPadding`, `rowBorder` **`ex-auth-form-card`** — Sign-in / sign-up card. Re-uses feature-card chrome with text-input primitives inside. - Properties: `backgroundColor`, `rounded`, `padding` **`ex-modal-card`** — Modal dialog surface — same chrome as feature-card with elevated shadow. - Properties: `backgroundColor`, `rounded`, `padding` **`ex-empty-state-card`** — Empty-state illustration frame. - Properties: `backgroundColor`, `rounded`, `padding`, `captionTypography` **`ex-toast`** — Toast notification surface — feature-card shape + medium shadow. - Properties: `backgroundColor`, `rounded`, `padding`, `typography` ## Do's and Don'ts ### Do - Build every region as a **beveled plate**: a `{colors.canvas}` body with a brighter top edge and a `{colors.chrome-indigo}` shadow line beneath. The "assembled machine" feel depends on it. - Reserve warm color for **wayfinding only** — `{colors.nav-gold}` for nav words, `{colors.amber}` for utility/badges, `{colors.signal}` for forward/Submit. Cool chrome never carries action color. - Keep structural labels **uppercase Arial Bold with 0.5px tracking** (`{typography.ui-label}`) — it is the silkscreen-legend voice of the whole system. - Render hero wordmarks as **outlined + drop-shadowed `{typography.display}`** over full-bleed photographic fields tinted per page. - Use `{colors.carbon}` with halftone texture for the **command layer** (nav, right rail, footer) to separate "system controls" from "content." - Let panels **butt together** with thin bevel seams; density is the intended texture. - Default corners to **sharp/chamfered** (`{rounded.none}`); spend roundness only on the logo pill, radio dots, and circle-arrow badges. ### Don't - Don't soften every corner — turning the sharp chrome into a uniformly rounded card system erases the manufactured-faceplate identity. - Don't introduce a **soft blurred drop-shadow** elevation language; depth here is hard bevels and pictorial photography, not Material elevation. - Don't let `{colors.signal}` and `{colors.amber}` bleed into decorative use — warm color must always mean "act here." - Don't add accent colors outside the page-tint heroes (`{colors.systems-teal}`, `{colors.games-red}`); the steady-state chrome is strictly cool periwinkle + carbon. - Don't widen body copy or whitespace into an airy modern layout; the packed, fixed-canvas density is the brand. - Don't flatten the dual-nav structure (gold primary words over the pale secondary strip) into one bar — the layered command hierarchy is signature. - Don't render hero or system wordmarks as flat text; without the outline + shadow they lose the box-art reference entirely.