Across UI Kit v2.0

Foundation

Core tokens, typography, and the signature Across Wing pattern. Use these primitives as the base for all components across the suite.

Design Tokens

Foundation

CSS custom properties that define the visual language of the Across suite. All colors, spacing values, and typography are exposed as tokens for consistent theming.

Colors

Brand Neutrals

Primary background and surface colors defining the Across aesthetic.

Obsidian
--obsidian
#0b0f14
Platinum
--platinum
#e8eaee

Neutral Scale

A comprehensive scale for borders, text, and surfaces. Bridges the gap between Platinum (200) and Obsidian (950).

50
--neutral-50
100
--neutral-100
200
--neutral-200
300
--neutral-300
400
--neutral-400
500
--neutral-500
600
--neutral-600
700
--neutral-700
800
--neutral-800
900
--neutral-900
950
--neutral-950

App Accents

Core application colors. Use the base variable (e.g., --look) for automatic theme switching. Use specific tints (Light/Dark) when you need a fixed shade regardless of theme.

Look (Blue)
Base
--look
Adaptive
Light
--look-light
#60a5fa
Dark
--look-dark
#0066cc
Work (Green)
Base
--work
Adaptive
Light
--work-light
#4ade80
Dark
--work-dark
#16a34a
Share (Orange)
Base
--share
Adaptive
Light
--share-light
#fb923c
Dark
--share-dark
#ea580c
Parent (Teal)
Base
--teal
Adaptive
Light
--teal-light
#67e8f9
Dark
--teal-dark
#00a8b5

Spacing Scale (8px Grid)

--space-1: 4px
--space-2: 8px
--space-3: 12px
--space-4: 16px
--space-5: 24px
--space-6: 32px
--space-8: 48px
--space-10: 64px

Typography

Foundation

Plus Jakarta Sans serves as the primary typeface, offering excellent legibility at all sizes. The type scale uses REM units for responsive scaling.

Display --text-4xl · 3rem (48px)
Heading 1 --text-3xl · 2.5rem (40px)
Heading 2 --text-2xl · 2rem (32px)
Heading 3 --text-xl · 1.5rem (24px)
Heading 4 --text-lg · 1.25rem (20px)
Body Large --text-md · 1rem (16px)
Body --text-base · 0.875rem (14px)
Navigation --text-nav · 0.8125rem (13px)
Small --text-sm · 0.75rem (12px)
Extra Small --text-xs · 0.625rem (10px)

The Across Wing

Signature

The defining interaction pattern of the Across suite. On hover, elements transform from a subtle static state to an asymmetric "flight" configuration with a racing bar animation and left-side glow.

Hover me
Work variant
How it works

Static state: border-radius: 4px 4px 32px 4px — subtle bottom-right curve
Flight state: border-radius: 4px 32px 32px 4px — asymmetric right-side curve
Racing bar: ::before pseudo-element with scaleX() transform
Glow: Left-side box-shadow using --wing-glow

HTML
<div class="across-wing">
  Content here
</div>

<!-- With accent variant -->
<div class="across-wing across-wing--work">
  Work Across themed
</div>

Layout Grid

Foundation

A 12-column CSS Grid utility system based on the 8px Swiss Grid. Use .across-grid as the container and .col-span-N to size children.

col-span-12
col-span-6
col-span-6
col-span-4
col-span-4
col-span-4
col-span-3
col-span-3
col-span-3
col-span-3
HTML
<div class="across-grid">
  <div class="col-span-12">Full width</div>
  <div class="col-span-6">Half width</div>
  <div class="col-span-6">Half width</div>
  <div class="col-span-4">Third width</div>
</div>

Aspect Ratio

Foundation

Utilities to control the aspect ratio of images, videos, or containers.

16 / 9
.aspect-video
1 / 1
.aspect-square
3 / 4
.aspect-portrait
HTML
<img src="..." class="aspect-video">
<div class="aspect-square">...</div>

Separator

Foundation

A simple hairline divider for separating content sections.

Section A

Section B
HTML
<hr class="across-separator">
<!-- Or vertical -->
<div class="across-separator--vertical"></div>

Scroll Area

Foundation

A utility for custom, cross-browser styled scrollbars.

Scroll me to see the custom bar.

The scrollbar is thin and styled to match the theme border colors.

It supports both light and dark modes automatically.

End of content.

HTML
<div class="across-scroll-area" style="height: 200px;">
  <!-- Content -->
</div>

Modal Example

This is a demo modal dialog. You can close it by clicking the X button, clicking the backdrop, or pressing the Escape key.

Modals are useful for focused interactions like confirmations, forms, or displaying detailed information.

Drawer Example

This drawer slides in from the right

Drawers are useful for secondary content, filters, settings, or detailed information that doesn't require a full modal.

Close by clicking the X, the backdrop, or pressing Escape.

Bottom Sheet

Mobile-friendly slide-up panel

Bottom sheets are great for mobile interfaces where screen real estate is limited. They can contain actions, forms, or any content.