Array UI is built around mathematical restraint: an editorial paper & obsidian canvas, 1px warm hairline borders, and strict semantic accents. Zero arbitrary gradients, zero neon glows.
tokens.css
/
base.css
/
shadcn.css
Semantic tokens that automatically swap between Paper light and Obsidian dark. Click any card to copy its CSS variable.
--aui-bg-primary
--aui-bg-secondary
--aui-bg-tertiary
--aui-primary
--aui-border-color
--aui-border-strong
--aui-text-primary
--aui-text-secondary
--aui-text-muted
--aui-success
--aui-warning
--aui-danger
--aui-pre-bg
--aui-clickable-hover
--aui-clickable-active
--aui-bg-glass
Engineered hierarchy: Assistant headings and body, Lora serif pull quotes, and IBM Plex Mono code.
1px hairlines everywhere, flat card surfaces, and restrained shadows.
How Array UI bidirectional tokens interoperate with shadcn/ui.
Array UI integrates directly with shadcn/ui. CSS variables defined in shadcn.css automatically map to --primary, --secondary, --background, --border, etc.
:root { --background: 43 25% 97%; /* #faf9f5 Paper */ --foreground: 247 7% 19%; /* #2d2c33 Carbon */ --primary: 356 100% 45%; /* #e5000f Signature Crimson */ --border: 41 24% 86%; /* #e5e0d3 Hairline */}.dark { --background: 240 6% 7%; /* #111113 Obsidian Carbon */ --foreground: 240 5% 85%; /* #d6d6dc Soft White */ --primary: 355 100% 60%; /* #ff3344 Crimson Dark */ --border: 240 5% 16%; /* #27272c Hairline */}Predictable proportional spacing scale from 2xs (4px) to 4xl (128px) for Gutter spacers, Stack gaps, and Row flow.
2xs
0.25rem · 4px
xs
0.5rem · 8px
sm
0.75rem · 12px
md
1.5rem · 24px
lg
2.25rem · 36px
xl
3rem · 48px
2xl
4.5rem · 72px
3xl
6rem · 96px
4xl
8rem · 128px
.aui-stack
Gap: 1rem (16px)
Vertical flex column flow
.aui-row
Gap: 0.75rem (12px)
Horizontal flex row with vertical centering
.aui-gutter
Gap: 1.5rem (24px default)
Whitespace blank spacer primitive
.aui-theatre-grid
Gap: 1.5rem
Responsive 2-column player layout with sticky sidebar
.aui-stack and .aui-theatre-main, margins on nested headings, breadcrumbs (.aui-breadcrumbs), and tabs (.aui-tabs) are normalized to zero to prevent margin collapsing and preserve mathematically pure layout rhythm.
Global browser resets and core invariants enforced by base.css and Array UI design rules.
[hidden] { display: none !important; }
Forces display: none with !important on any element with the hidden attribute, ensuring zero DOM footprint regardless of framework or specificity.
*, *::before, *::after { box-sizing: border-box; }
Predictable mathematical geometry across cards, inputs, and hairline borders without padding overflow.
html { scroll-behavior: smooth; scroll-padding-top: 4.5rem; }
Smooth anchor navigation with automatic offset clearance for fixed headers.
0% Custom CSS Invariant
Application pages must remain 100% free of ad-hoc .css files and <style> tags, driven entirely by native components and tokens.