Overview
NOVA is Blacklink Education's dark-first design system built on modular CSS custom properties, utility classes, and reusable components. Each product has its own identity while staying cohesive within the brand family.
Installation
Add NOVA to any project with a single CSS file and optional JS module. No build tools required.
<link rel="stylesheet" href="https://nova.blacklink.net/nova-main.css" />
<script type="module" src="https://cdn.blacklink.net/nova/nova.js"></script>
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link href="https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Syne:wght@500;600;700;800&display=swap" rel="stylesheet" />
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/all.min.css" />
NOVA UI by Blacklink Education ©2026
Colors
NOVA uses a dark-first palette anchored by an amber accent #ffb020. All colors are available as CSS custom properties.
| Variable | Value | Usage |
|---|---|---|
| --accent | #ffb020 | Primary accent, CTAs, highlights |
| --bg | #08080f | Page background |
| --surface | #0f0f1a | Card / container background |
| --sur2 | #141420 | Secondary surface (hover, inputs) |
| --sur3 | #191928 | Tertiary surface (code blocks) |
| --border | #1e1e30 | Default borders |
| --border2 | #252538 | Stronger borders |
| --text | #e8e8f0 | Primary text |
| --muted | #555570 | Secondary / subdued text |
| --success | #65db93 | Success states |
| --danger | #ff6f71 | Error / destructive states |
| --blue | #55b5ff | Info / link states |
.my-element {
background: var(--surface);
border: 1px solid var(--border);
color: var(--text);
}
.my-button {
background: var(--accent);
color: #08080f;
}
Typography
NOVA uses Syne for display and headings (bold, geometric) and DM Mono for labels, data, and monospace contexts. Both are available via Google Fonts.
| Class | Size | Weight | Font |
|---|---|---|---|
| .hero-title | 26px | 800 | Syne |
| .section-title | 24px | 700 | Syne |
| .subsection-title | 18px | 700 | Syne |
| .card-title | 16px | 800 | Syne |
| .body-primary | 14px | 700 | Syne |
| .body-secondary | 13px | 400 | DM Mono |
| .caption | 12px | 400 | DM Mono |
| .micro | 10px | 500 | DM Mono |
| .tiny | 9px | 400 | DM Mono |
<h1 class="hero-title">Welcome Back</h1>
<h2 class="section-title">Your Courses</h2>
<h3 class="subsection-title">Active Projects</h3>
<p class="body-secondary">Description text here...</p>
<span class="micro">Label Text</span>
Spacing
Consistent spacing creates rhythm and hierarchy. NOVA uses an 8px base unit for all spacing decisions, reflected in helper classes.
| Class | Value | Equivalent |
|---|---|---|
| .gap-xs | 8px | 0.5rem |
| .gap-sm | 12px | 0.75rem |
| .gap-md | 16px | 1rem |
| .gap-lg | 24px | 1.5rem |
| .gap-xl | 32px | 2rem |
| .stack-xs | 8px grid gap | Vertical stack |
| .stack-sm | 12px grid gap | Vertical stack |
| .stack-md | 16px grid gap | Vertical stack |
| .stack-lg | 24px grid gap | Vertical stack |
<div class="stack-md">
<div>Item 1</div>
<div>Item 2</div>
<div>Item 3</div>
</div>
<div class="flex-row gap-sm">
<span>Inline</span>
<span>Items</span>
</div>
Cards
Cards are the primary container pattern in NOVA. Multiple variants exist for different contexts.
<!-- Standard card -->
<div class="card">
<h3 class="card-title">Title</h3>
<p class="body-secondary">Content...</p>
</div>
<!-- App card (hoverable product card) -->
<div class="app-card">
<div class="app-card-top">
<div class="app-icon"><i class="fa-solid fa-rocket"></i></div>
</div>
<div class="app-meta">Category</div>
<h2>Title</h2>
<div class="app-description">Description...</div>
</div>
Badges & Chips
Badges are pill-shaped labels for status, categories, and metadata. Chips are compact inline indicators.
<!-- Badges -->
<span class="badge-pill accent">Accent</span>
<span class="badge-pill default">Default</span>
<span class="badge-pill success">Success</span>
<span class="badge-pill danger">Danger</span>
<span class="badge-pill info">Info</span>
<!-- Chips -->
<span class="chip">Default</span>
<span class="chip success">Verified</span>
<span class="chip danger">Expired</span>
Forms
Form fields follow a consistent layout with labels, inputs, and helper hints. Use .form-grid for multi-column layouts.
<div class="form-grid">
<div class="field">
<label for="name">Full Name</label>
<input id="name" type="text" placeholder="Enter name" />
</div>
<div class="field">
<label for="email">Email</label>
<input id="email" type="email" placeholder="you@school.edu" />
</div>
<div class="field full">
<label for="bio">Bio</label>
<textarea id="bio" placeholder="Tell us..."></textarea>
</div>
</div>
Notifications & Alerts
Info boxes, alerts, and status messages for communicating feedback to users.
<!-- Info box -->
<div class="info-box">
<div class="info-box-title">
<i class="fa-solid fa-circle-info"></i> Title
</div>
<div class="info-box-content">Content...</div>
</div>
<!-- Info box with success state -->
<div class="info-box success">
<div class="info-box-title">Success</div>
<div class="info-box-content">Content...</div>
</div>
<!-- Product alert banner -->
<div class="product-alert">
<div class="product-alert-copy">
Announcement text here...
</div>
</div>
Guidelines
These guidelines ensure consistency across all Blacklink Education communications, from digital products to marketing materials.
"Welcome back! Ready to continue where you left off?"
Do"Authentication successful. Proceed to dashboard interface."
Don'tDownloads & Resources
Download official Blacklink brand assets, templates, and resources for your projects.
NOVA CSS
NOVA UI by Blacklink Education ©2026
Questions or Feedback?
Have questions about these guidelines or need help with a specific use case? Our design team is here to help.