<!-- MIT licensed. Copyright and license: https://opendesignmd.com/licenses/ -->

# How exa.ai is designed

## Overview

exa.ai presents a mixed light and dark surface treatment in the captured pages. The system is anchored by `#ffffff`, `#000000`, and `#faf9f7`, with typography led by **Abc Diatype**, **Inter**, **Suisse Intl**, **Times**, **Abc Arizona Flare Unlicensed**, **Abc Arizona Flare**, **Applesystem**, **Geist Mono**, **Iowan Old St Bt**, and **Font**. The guide below names reusable design roles only where the captured evidence supports them.

The reference set uses representative captured pages. It is a design reference, not a claim about the site's private source code or a complete responsive specification.

## Design tokens

The token names are practical labels for the recorded values. They are not claims about the source site's variable names.

### Colors

| token | value | observed use |
| --- | --- | --- |
| color.text | `#ffffff` | text on page content |
| color.text | `#000000` | text on page content |
| color.surface | `#faf9f7` | surface on page content |
| color.surface | `#181815` | surface on page content |
| color.text | `#1f40ed` | text on page content in the nav |
| color.surface | `#f5f5f5` | surface on page content in the main |
| color.surface | `#fafafa` | surface on page content |
| color.border | `#e5e7eb` | border on page content in the nav |
| color.text | `#111827` | text on page content |
| color.text | `#374151` | text on page content in the nav |
| color.border | `#e7ecf0` | border on page content in the nav |
| color.text | `#333333` | text on page content in the main |

### Typography

| token | font family | size | weight | line height | letter spacing | observed use |
| --- | --- | --- | --- | --- | --- | --- |
| type.body-16px | **Abc Diatype** | 16px | 400 | 24px | normal | `<body>`, `<div>`, `<div>` in the nav, `<nav>` in the nav, `<ul>` in the nav, `<div>` in the main, `<main>` in the main, `<section>` in the main, `<img>` in the main, `<html>`, `<section>`, `<img>`, `<div>` in the button, `<button>` in the button, `<a>`, `<svg>`, `<form>`, `<a>` in the main, and `<div>` in the footer |
| type.body-16px | **Inter** | 16px | 400 | 24px | normal | `<div>` in the nav and `<nav>` in the nav |
| type.body-16px | **Suisse Intl** | 16px | 400 | 24px | normal | `<div>` in the footer, `<li>` in the footer, and `<ul>` in the footer |
| type.body-16px | **Times** | 16px | 400 | 24px | normal | `<div>` in the footer and `<div>` |
| type.body-14px | **Applesystem** | 14px | 400 | normal | normal | `<div>` |
| type.body-18px | **Abc Diatype** | 18px | 400 | 28.05px | -0.18px | `<p>` in the main |
| type.utility-12px | **Geist Mono** | 12px | 400 | 18.6px | normal | `<div>` |
| type.body-14px | **Abc Diatype** | 14px | 500 | 20px | normal | `<svg>` in the button, `<div>` in the button, `<div>`, `<a>`, and `<button>` in the button |
| type.display-41.6px | **Abc Arizona Flare** | 41.6px | 400 | 45.76px | -1.248px | `<h2>` |
| type.body-14px | **Abc Diatype** | 14px | 400 | 22.75px | -0.28px | `<p>` |
| type.body-16px | **Abc Diatype** | 16px | 400 | 22.4px | -0.32px | `<p>` |
| type.body-15px | **Iowan Old St Bt** | 15px | 400 | 22.5px | -0.3px | `<p>` |
| type.display-76.8px | **Abc Arizona Flare Unlicensed** | 76.8px | 300 | 76.8px | -3.072px | `<h1>` in the footer |
| type.display-36px | **Abc Arizona Flare Unlicensed** | 36px | 500 | 40px | -1.44px | `<h2>` |
| type.body-15px | **Abc Diatype** | 15px | 400 | 24px | normal | `<div>` in the nav and `<a>` in the nav |
| type.body-14px | **Abc Diatype** | 14px | 400 | 20px | -0.28px | `<span>` |
| type.body-18px | **Abc Diatype** | 18px | 400 | 27px | -0.18px | `<p>` |
| type.body-28px | **Abc Arizona Flare** | 28px | 400 | 33.6px | -0.84px | `<blockquote>` in the main |
| type.body-15px | **Abc Diatype** | 15px | 400 | 21px | -0.3px | `<span>` in the nav, `<span>`, and `<p>` in the main |
| type.display-51px | **Abc Arizona Flare** | 51px | 400 | 56.1px | -1.53px | `<h1>` |

### Spacing

| value | property | observed element |
| --- | --- | --- |
| `24px` | padding-right | page content |
| `24px` | padding-left | page content |
| `0px 212.5px` | margin | page content |
| `212.5px` | margin-right | page content |
| `212.5px` | margin-left | page content |
| `0px 24px` | padding | page content |
| `112px 0px` | padding | page content |
| `112px` | padding-top | page content |

### Shape and depth

The captured pages use `0px none 6px`, `0px none 2px`, `0px 0px 1px 1px solid 0px`, `0px none 0px 0px 12px 12px`, `0px none 8px`, `0px none 4px`, `1px solid 10px`, and `1px solid 8px` border treatments. Recorded gradients include `linear-gradient(to top, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.1))` and `linear-gradient(rgba(168, 211, 240, 0.55), rgba(168, 211, 240, 0.55))`. Recorded shadows include `rgba(0, 0, 0, 0.1) 0px 10px 15px -3px, rgba(0, 0, 0, 0.1) 0px 4px 6px -4px`, `rgba(0, 0, 0, 0.04) 0px 0px 0px 1px inset`, `rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.05) 0px 1px 2px 0px`, `rgba(0, 0, 0, 0.04) 0px 0px 0px 1px inset, rgba(0, 0, 0, 0.08) 0px 1px 2px 0px, rgba(0, 0, 0, 0.06) 0px 4px 12px 0px`, and `rgba(0, 0, 0, 0.01) 0px 68px 27px 0px, rgba(0, 0, 0, 0.02) 0px 38px 23px 0px, rgba(0, 0, 0, 0.04) 0px 17px 17px 0px, rgba(0, 0, 0, 0.04) 0px 4px 9px 0px`.

## Colors

The visual system is mixed light and dark surface treatment. Surface colors include `#faf9f7`, `#181815`, and `#f5f5f5`. Text colors include `#ffffff`, `#000000`, and `#1f40ed`. Keep image-derived colors separate from interface colors.

## Typography

The captured type system uses **Abc Diatype**, **Inter**, **Suisse Intl**, **Times**, **Applesystem**, **Geist Mono**, **Abc Arizona Flare**, **Iowan Old St Bt**, and **Abc Arizona Flare Unlicensed**. The table records measured size, weight, leading, and tracking where available; it does not establish licensing or a complete fallback stack.

## Layout

The captured pages use values such as `24px`, `24px`, `0px 212.5px`, `212.5px`, and `212.5px` for padding and margin. These are measured usages, not a resolved scale. The available evidence does not establish container widths, grid rules, or breakpoints.

## Visual language

The captured visual language is mixed light and dark surface treatment. Surface treatment centers on `#faf9f7`, `#181815`, `#f5f5f5`, and `#fafafa`. Depth is supported by the returned gradients and shadows.

## Components and states

The captured pages include repeated styling on `<div>`, `<body>`, `<nav>`, `<ul>`, `<h3>`, `<a>`, `<li>`, and `<main>` elements. The evidence does not identify reusable component boundaries or interaction states. Treat loading, focus, hover, pressed, error, and disabled states as implementation work to validate rather than as captured facts.

## Responsive behavior

The captured token set does not establish breakpoint values or mobile behavior. Validate stacking, navigation changes, image treatment, and type scaling against the representative captures before implementing a responsive adaptation.

## Practical implementation guidance

- Preserve the mixed light/dark surface relationship and the measured type hierarchy before adding decorative treatment.
- Start from the returned typography, spacing, color, and border values; name any new scale or semantic role as an adaptation rather than as a source fact.
- Keep the captured font families separate from licensing decisions.
- Use screenshots to validate component anatomy, responsive behavior, focus treatment, and motion before shipping.
- Avoid introducing gradients or shadows beyond the captured treatment; the returned evidence includes those treatments.

## Scope note

The guide uses representative captured pages. The evidence supports the values and observations above; it does not establish component semantics, interaction states, motion timing, breakpoint rules, font licensing, or a complete source stylesheet.