Skip to content
zeroslop.design

www.base31.ca

Base31

Awwwards listed website captured as a design reference.

Full-page screenshot of the Base31 website

Source

www.base31.ca

Awwwards listed website captured as a design reference.

Status

Draft

Captured

awwwards

Version
20261005T211850Z-7a577680
Views
1440 × 900, 390 × 664
Format
0 errors, 0 warnings

DESIGN.md · Base31

Download
---
version: "alpha"
name: "Base31"
description: "Reference design from a website capture. Computed values and representative element roles remain draft."
x-zsd:
  profile: "0.1"
  kind: "reference"
  source:
    method: "generated"
    url: "https://www.base31.ca/"
    captured: "2026-10-05"
  review:
    status: "draft"
  unresolved:
    - "Role assignments use representative DOM elements and need visual inspection."
    - "Audience, design rationale, alternate routes, and theme coverage need inspection."
    - "Interaction states, keyboard behavior, and reduced motion need direct inspection."
    - "Color counts and font declarations do not establish semantic roles."
    - "The capture omits 31 requested assets. Archive coverage needs inspection."
  layout:
    desktop-viewport: "1440px"
    desktop-content-width: "1440px"
    desktop-display: "block"
    mobile-viewport: "390px"
    mobile-content-width: "390px"
  evidence:
    method: "computed-style"
    scope: "Computed styles and representative visible elements. No interaction-state or visual fidelity review."
    selectors:
      colors.primary: "html > body > main > section:nth-of-type(3) > div > div:nth-of-type(3) > div:nth-of-type(1) > div > div:nth-of-type(2) > div:nth-of-type(1) > a"
      colors.on-primary: "html > body > main > section:nth-of-type(3) > div > div:nth-of-type(3) > div:nth-of-type(1) > div > div:nth-of-type(2) > div:nth-of-type(1) > a"
      colors.surface: "html > body"
      colors.on-surface: "html > body > main > section:nth-of-type(4) > div > div:nth-of-type(2) > div > p"
      typography.headline-lg: "html > body > main > section:nth-of-type(1) > div > div:nth-of-type(3) > div:nth-of-type(2) > h1"
      typography.body-md: "html > body > main > section:nth-of-type(4) > div > div:nth-of-type(2) > div > p"
      typography.label-md: "html > body > main > section:nth-of-type(3) > div > div:nth-of-type(3) > div:nth-of-type(1) > div > div:nth-of-type(2) > div:nth-of-type(1) > a"
      typography.headline-md: "html > body > main > section:nth-of-type(3) > div > div:nth-of-type(3) > div:nth-of-type(1) > div > h2"
    viewports:
      - {"width": 1440, "height": 900}
      - {"width": 390, "height": 664}
    mobile-typography:
      headline:
        fontFamily: "\"Ivar Mono\", monospace"
        fontSize: "14px"
        fontWeight: 400
        lineHeight: 1.3
        letterSpacing: "0px"
      body:
        fontFamily: "Denim, serif"
        fontSize: "14px"
        fontWeight: 500
        lineHeight: 1.4
        letterSpacing: "0.14px"
      action:
        fontFamily: "\"Saans Mono\", monospace"
        fontSize: "11.5008px"
        fontWeight: 500
        lineHeight: 1
        letterSpacing: "0.115px"
    imagery:
      images: 51
      canvases: 0
      svg: 21
    action-label: "What we're building together"
  motion:
    action-transition:
      duration: "0.15s"
      timing: "cubic-bezier(0, 0, 0.2, 1)"
  elevation:
    action-shadow: "none"
colors:
  primary: "#FFFFFF"
  on-primary: "#002800"
  surface: "#FFFFFF"
  on-surface: "#002800"
typography:
  headline-lg:
    fontFamily: "\"Ivar Mono\", monospace"
    fontSize: "16px"
    fontWeight: 400
    lineHeight: 1.3
    letterSpacing: "0px"
  body-md:
    fontFamily: "Denim, serif"
    fontSize: "16px"
    fontWeight: 500
    lineHeight: 1.4
    letterSpacing: "0.16px"
  label-md:
    fontFamily: "\"Saans Mono\", monospace"
    fontSize: "13px"
    fontWeight: 500
    lineHeight: 1
    letterSpacing: "0.13px"
  headline-md:
    fontFamily: "\"Ivar Headline\", serif"
    fontSize: "58px"
    fontWeight: 400
    lineHeight: 1.25
    letterSpacing: "0.31px"
spacing:
  space-1: "4px"
  space-2: "8px"
  space-3: "12px"
  space-4: "15px"
  space-5: "16px"
  space-6: "20px"
  space-7: "24px"
  space-8: "28px"
  space-9: "32px"
  space-10: "48px"
  space-11: "64px"
  space-12: "96px"
  action-x: "16px"
  action-y: "12px"
  control-height: "36px"
rounded:
  action: "0px"
components:
  action-primary:
    backgroundColor: "{colors.primary}"
    textColor: "{colors.on-primary}"
    typography: "{typography.label-md}"
    height: "{spacing.control-height}"
    rounded: "{rounded.action}"
---

# Base31

## Overview

A reference record of the captured page. Values come from visible elements and computed styles at the recorded viewports.
Role assignments remain draft. Compare the record with the source screenshots before use.

## Colors

- `primary`: Use for the sampled action surface.
- `on-primary`: Use for text on the sampled action.
- `surface`: Use for the observed page surface.
- `on-surface`: Use for the sampled body text.

## Typography

- `headline-lg`: Use for the sampled page title.
- `body-md`: Use for the sampled body text.
- `label-md`: Use for the sampled action label.
- `headline-md`: Use for the sampled section title.

## Layout

`x-zsd.layout.desktop-content-width` records the sampled main element width.
`x-zsd.layout.desktop-viewport` records its viewport.
Spacing tokens record observed intervals. They do not establish an approved spacing scale.

### Responsive behavior

Compare `x-zsd.layout.mobile-content-width` at `x-zsd.layout.mobile-viewport` with the desktop observation.
Intermediate widths, overflow rules, and layout breakpoints need direct inspection.

## Elevation & Depth

`x-zsd.elevation.action-shadow` records the sampled action shadow. Other depth rules need direct inspection.

## Shapes

- `action`: Use for the sampled action radius.

## Components

### Action

Use `action-primary` for the representative action. Use `action-x` and `action-y` for its horizontal and vertical padding.
Use `control-height` for its observed height.
Hover, focus, pressed, disabled, loading, empty, error, and success states need direct inspection.

## Do's and Don'ts

- Do keep the source URL and capture date with this reference.
- Do compare representative roles with the source screenshots.
- Do keep missing behavior explicit.
- Do not substitute the plugin starter values.
- Do not treat a format check as visual approval.
- Do not infer interaction behavior from static screenshots.

## Motion

`x-zsd.motion.action-transition` records the sampled action transition. Animation timing and reduced motion need direct inspection.

## Iconography

Icon sources and stroke rules need direct inspection.

## Imagery

`x-zsd.evidence.imagery` records counts for images and graphics. Image treatment and crop rules need direct inspection.

## Accessibility

Token contrast checks apply to the sampled pairs. Keyboard paths, labels, and screen reader behavior need direct inspection.
This reference does not establish accessibility conformance.