> Atmospheric study inspired by Microsoft's publicly visible design language. Void Energy is not affiliated with, endorsed by, sponsored by, or licensed by Microsoft. The downloadable atmosphere file contains color, motion, and typographic-rhythm tokens only — no brand logos, marks, or proprietary assets. All trademarks are the property of their respective owners.

---

---
name: Microsoft
version: alpha
description: Microsoft's Fluent 2 web surface reading — the office.com / Microsoft 365 / outlook.live.com daylight register. Pure-white card on Fluent neutralBackground3 #f5f5f5 page background, canonical Microsoft Blue #0078d4 (the Windows / Fluent primary) carrying interactive elements, deeper #106ebe holding hover and secondary roles. Text rides the documented Fluent neutralForeground ramp (#242424 primary / #424242 secondary / #707070 muted). Brand profile carries the Fluent chrome: 2-12px modern-compact radii, semibold everywhere, durationNormal-200ms motion baseline, curveEasyEase ambient + curveDecelerateMax entrance. Distinguished from ibm-carbon-light by chrome shape and type (Fluent 2-12px radii + Open Sans humanist vs Carbon 0-2px rectangles + Plex enterprise-grotesque) and from apple-light-minimalist by register (productivity-platform semibold + Microsoft Blue vs Apple showroom regular + Action Blue).

colors:
  primary: "#0078d4"
  secondary: "#106ebe"
  neutral: "#707070"
  surface: "#fafafa"
  surface-container: "#f5f5f5"
  on-surface: "#242424"
  on-surface-variant: "#424242"
  outline: "#C8E0F2"
  error: "#a60000"

typography:
  display-lg:
    fontFamily: "'Open Sans', sans-serif"
    fontSize: 56px
    fontWeight: 700
    lineHeight: 1.1
    letterSpacing: "-0.02em"
  headline-lg:
    fontFamily: "'Open Sans', sans-serif"
    fontSize: 40px
    fontWeight: 600
    lineHeight: 1.15
    letterSpacing: "-0.015em"
  headline-md:
    fontFamily: "'Open Sans', sans-serif"
    fontSize: 32px
    fontWeight: 600
    lineHeight: 1.2
    letterSpacing: "-0.01em"
  headline-sm:
    fontFamily: "'Open Sans', sans-serif"
    fontSize: 24px
    fontWeight: 600
    lineHeight: 1.3
  body-lg:
    fontFamily: "'Open Sans', sans-serif"
    fontSize: 18px
    fontWeight: 400
    lineHeight: 1.5
  body-md:
    fontFamily: "'Open Sans', sans-serif"
    fontSize: 16px
    fontWeight: 400
    lineHeight: 1.5
  body-sm:
    fontFamily: "'Open Sans', sans-serif"
    fontSize: 14px
    fontWeight: 400
    lineHeight: 1.5
  label-md:
    fontFamily: "'Open Sans', sans-serif"
    fontSize: 14px
    fontWeight: 500
    lineHeight: 1.4
    letterSpacing: "0.02em"
  label-sm:
    fontFamily: "'Open Sans', sans-serif"
    fontSize: 12px
    fontWeight: 500
    lineHeight: 1.4
    letterSpacing: "0.02em"

spacing:
  xs: 8px
  sm: 16px
  md: 24px
  lg: 32px
  xl: 48px
  "2xl": 64px
  "3xl": 96px
  "4xl": 128px
  "5xl": 160px

rounded:
  sm: 2px
  md: 4px
  lg: 8px
  xl: 12px
  full: 9999px

components:
  button-primary:
    backgroundColor: "{colors.primary}"
    textColor: "{colors.surface-container}"
    rounded: "{rounded.full}"
    padding: 16px
    typography: "{typography.label-md}"
  button-primary-hover:
    backgroundColor: "{colors.primary}"
    textColor: "{colors.surface-container}"
  button-secondary:
    backgroundColor: "{colors.secondary}"
    textColor: "{colors.surface-container}"
    rounded: "{rounded.full}"
    padding: 16px
    typography: "{typography.label-md}"
  button-tertiary:
    backgroundColor: "{colors.surface-container}"
    textColor: "{colors.on-surface-variant}"
    rounded: "{rounded.full}"
    padding: 16px
    typography: "{typography.label-md}"
  text-disabled:
    textColor: "{colors.neutral}"
    typography: "{typography.body-sm}"
  button-error:
    backgroundColor: "{colors.error}"
    textColor: "{colors.surface-container}"
    rounded: "{rounded.full}"
    padding: 16px
    typography: "{typography.label-md}"
  input:
    backgroundColor: "{colors.surface}"
    textColor: "{colors.on-surface}"
    rounded: "{rounded.md}"
    padding: 12px
    typography: "{typography.body-md}"
  card:
    backgroundColor: "{colors.surface}"
    textColor: "{colors.on-surface}"
    rounded: "{rounded.md}"
    padding: 32px
  divider:
    backgroundColor: "{colors.outline}"
    height: 1px
---

# Microsoft

Microsoft's Fluent 2 web surface reading — the office.com / Microsoft 365 / outlook.live.com daylight register. Pure-white card on Fluent neutralBackground3 #f5f5f5 page background, canonical Microsoft Blue #0078d4 (the Windows / Fluent primary) carrying interactive elements, deeper #106ebe holding hover and secondary roles. Text rides the documented Fluent neutralForeground ramp (#242424 primary / #424242 secondary / #707070 muted). Brand profile carries the Fluent chrome: 2-12px modern-compact radii, semibold everywhere, durationNormal-200ms motion baseline, curveEasyEase ambient + curveDecelerateMax entrance. Distinguished from ibm-carbon-light by chrome shape and type (Fluent 2-12px radii + Open Sans humanist vs Carbon 0-2px rectangles + Plex enterprise-grotesque) and from apple-light-minimalist by register (productivity-platform semibold + Microsoft Blue vs Apple showroom regular + Action Blue).

This document describes the **Microsoft 365 Edition** atmosphere (`microsoft-fluent-light`) — a light/flat reading of Microsoft produced by the Void Energy design system. Render it live at https://voidenergy.dev/atmospheres/microsoft, or boot it in any Void Energy app:

```js
voidEngine.loadExternal('https://voidenergy.dev/atmospheres/microsoft/fluent-light.json');
```

## Overview

Microsoft's **Microsoft 365 Edition** reading. The mood: opaque surfaces with crisp shadows; the mode: light. Headings are set in Open Sans; body copy is Open Sans.

Two principles govern everything below:

1. **Generous whitespace over dense packing.** Surfaces breathe. When a gap feels tight, go one size up rather than down. Void Energy's spacing scale is intentionally wide (8 → 160px).
2. **Sentence case controls over uppercase shouting.** Buttons, inputs, and labels use natural sentence case with medium weight by default. Uppercase is an intentional, infrequent choice — never applied to metrics, chrome, or dashboard cards by default.

## Colors

The palette is built on three layers:

- **Primary (`#0078d4`)** — the single interactive accent. Used for buttons, links, focused inputs, and selection states. Do not repurpose for decoration.
- **Secondary (`#106ebe`)** — companion accent for secondary actions, charts, and data-series 2. Always distinguishable from primary; never a competing focal point.
- **Surface stack** — three background layers that convey depth:
  - `surface-container` (`#f5f5f5`) — the page canvas.
  - `surface` (`#fafafa`) — floating cards, panels, and chrome.
  - `outline` (`#C8E0F2`) — borders and dividers. Low-contrast by design: borders should whisper structure, not shout.

Text forms a descending-contrast hierarchy:

- `on-surface` (`#242424`) — primary text. WCAG AA against surface layers.
- `on-surface-variant` (`#424242`) — secondary text, captions, metadata.
- `neutral` (`#707070`) — disabled states and tertiary hints only.

Semantic signal:

- `error` (`#a60000`) — destructive actions and validation failures. Reserved for genuinely negative states; not for warnings or info.

## Typography

This atmosphere pairs **Open Sans** for headings and **Open Sans** for body. The full nine-level scale (display through label) is in the frontmatter `typography` block.

### Brand typography overrides

Microsoft's identity carries explicit overrides on the typographic axis. Anything not listed inherits the system default.

- **Display weight** (h1, h2): `600`
- **Heading weight** (h3, h4): `600`
- **Button weight** (.btn-*): `600`

## Layout & Spacing

Void Energy uses an **8px base grid** with a wide scale:

- **Component level** (tight): xs (8), sm (16), md (24), lg (32)
- **Layout level** (accelerated): xl (48), 2xl (64), 3xl (96), 4xl (128), 5xl (160)

Apply along two axes:

1. **Surface padding floor.** Floating surfaces use `lg` (32px) minimum padding and `lg` inner gaps. Sunk/inset surfaces drop to `md` (24px). Never use `sm` or `xs` on a floating card.
2. **Layout gaps.** Page sections use `2xl` (64px) between them. Content blocks inside a section use `xl` (48px). Grouped controls use `md` (24px). Tight couplings (label → input, icon + text) use `xs` (8px).

The scale density-scales at runtime across five presets: Compact (×0.8), Cozy (×0.9), Standard (×1), Roomy (×1.1), Airy (×1.2). Static snapshots assume Standard.

## Elevation & Depth

This is a **flat-physics** atmosphere. Surfaces are opaque (`#fafafa`); shadows are minimal (5–10% opacity in light mode, 30–40% in dark mode for visibility). Hover has no Y translation and no scale by default — flat physics expresses interactivity through tint changes, not lift.

### Brand motion overrides

Microsoft's identity carries explicit overrides on the motion axis. Speeds are in milliseconds; easings are CSS `<easing-function>` values. Anything not listed inherits the active physics preset.

- `--speed-fast`: 150ms
- `--speed-base`: 200ms
- `--speed-slow`: 300ms
- `--ease-spring-gentle`: `cubic-bezier(0.33, 0, 0.67, 1)`
- `--ease-spring-snappy`: `cubic-bezier(0.1, 0.9, 0.2, 1)`

## Shapes

Microsoft's radii reflect the brand's shape language. The active scale:

- `rounded.sm`: 2px
- `rounded.md`: 4px
- `rounded.lg`: 8px
- `rounded.xl`: 12px
- `rounded.full`: 9999px

## Components

The frontmatter `components` block covers the canonical atoms. Notes on applying them:

### Buttons

- `button-primary` — primary action, anchored on `#0078d4`. One per view.
- `button-secondary` — companion action, on `#106ebe`.
- `button-tertiary` — quietest button; for cancel, dismiss, tertiary navigation.

### Inputs & Cards

- `input` — surface background, `body-md` typography, 12px padding. Native `<input>` / `<select>` / `<textarea>` with SCSS providing the visual treatment.
- `card` — surface background, generous 32px padding (`lg`). The default container for content groups.

## Do's and Don'ts

**Do:**

- Use `primary` (`#0078d4`) for exactly one action per view.
- Default to sentence case on buttons and labels. Uppercase is a choice, not a default.
- Maintain WCAG AA contrast (4.5:1 for body text, 3:1 for UI components).
- Apply `lg` (32px) padding minimum to cards.
- Wrap native `<button>`, `<input>`, `<select>` rather than rebuilding interaction from `<div>`.

**Don't:**

- Don't substitute #0078d4 with Fluent v9's text-AA brandForeground1 #115ea3 — the canonical Microsoft / Windows brand hex IS #0078d4 (also written #0078d7 across older surfaces); the AA-darkened variant exists only because Fluent v9 lifts the floor for body-text reading, not for the primary interactive token.
- Don't promote pure-white bg-canvas — Fluent v9 neutralBackground3 #f5f5f5 IS the documented page background; cards lift to #ffffff. Pushing canvas to white flattens the surface ladder and breaks the Microsoft 365 visual hierarchy.
- Don't substitute Open Sans with Inter — Inter is neo-grotesque (Helvetica lineage); Open Sans shares Steve Matteson and the humanist-Frutiger DNA with Segoe UI. Inter reads as generic SaaS chrome and loses the Microsoft type voice.
- Don't add acrylic translucency to bg-surface — Fluent ships acrylic on Windows shell / Teams chrome, NOT on office.com / Microsoft 365 web. The flat-light atmosphere honors the production web surface; an acrylic variant would require glass physics on a separate atmosphere entry.
- Don't repurpose `primary` (`#0078d4`) for decoration. It is a load-bearing interaction signal.
- Don't use `error` (`#a60000`) for warnings. Error is reserved for destructive and failure states.
- Don't use `neutral` for body text — it is for disabled states and tertiary hints only.

## Responsive Behavior

Void Energy is mobile-first. Breakpoints:

- **mobile** 0px (default)
- **tablet** 768px
- **desktop** 1024px

Spacing, control heights, and typography all density-scale at runtime. Touch targets have a floor: 44px on coarse pointers (mobile/tablet), 36px on fine pointers (desktop).

## Agent Prompt Guide

When asked to build UI "in the Microsoft 365 Edition aesthetic," default to:

- **Backgrounds:** `#f5f5f5` for the page canvas; `#fafafa` for floating cards.
- **Text:** `#242424` for primary, `#424242` for secondary.
- **Accents:** `#0078d4` for the single most important action; `#106ebe` for companion actions.
- **Radii:** 4px on surfaces and inputs; pill on buttons.
- **Padding:** 32px on cards, 16px on buttons, 12px on inputs.
- **Typography:** Open Sans for headings; Open Sans for body and labels.

## Sources

The Microsoft 365 Edition palette and shape language derive from publicly visible Microsoft surfaces:

- https://fluent2.microsoft.design
- https://fluent2.microsoft.design/shapes
- https://www.microsoft.com/microsoft-365
- https://github.com/microsoft/fluentui

## License

Void Energy ships under the Business Source License (BSL 1.1). Source is visible; production use requires a license from DGRS Labs until the four-year auto-convert clause elapses. This DESIGN.md file itself is distributed under the same license as the repository it lives in.

This atmosphere is an atmospheric study of publicly visible Microsoft design language. Void Energy is not affiliated with, endorsed by, sponsored by, or licensed by Microsoft. The atmosphere file contains color, motion, and typographic-rhythm tokens only — no brand logos, marks, or proprietary assets.

## The Full System

This file describes the **Microsoft 365 Edition** atmosphere as a single snapshot. The Void Energy runtime is larger:

- **Microsoft variants** — see https://voidenergy.dev/atmospheres/microsoft for the full set of atmospheres in this brand (alternate modes, eras, or interpretations).
- **Three physics presets:** glass (translucent + blur), flat (opaque + crisp shadows), retro (CRT phosphor + steps motion). Physics controls blur, border width, motion, and radius behavior — never color.
- **Two color modes:** light and dark. Glass requires dark; flat and retro work with both.
- **Density scaling:** Compact / Cozy / Standard / Roomy / Airy (×0.8 – ×1.2), applied multiplicatively to the spacing scale.
- **Component library:** Svelte 5 components (Runes) with a native-first pattern — wrappers around `<button>`, `<input>`, `<select>`, `<dialog>`, etc.
- **JSON download:** https://voidenergy.dev/atmospheres/microsoft/fluent-light.json is a portable artifact. Boot it in any Void Energy app via `voidEngine.loadExternal()`, or hand it to any tool that consumes the @void-energy/atmosphere-spec format.

For the full installable system, see the Void Energy repository. For agent-to-agent communication outside the live runtime, this DESIGN.md is the authoritative snapshot of the Microsoft 365 Edition aesthetic.
