Design System
Innovative Computing Laboratory · University of Tennessee, Knoxville

ICL Design
System

One foundation for every ICL property — the lab site, project sites, and the newsletter — with a theming layer that gives each research project its own color identity. Version 0.7, a working draft for iteration.

Getting started

Introduction

ICL's web presence grew one site at a time: the lab site, a template shared by project sites, and the newsletter. Each is close in spirit but different in execution. This system extracts what already works — Tennessee Orange over dark structural bands (re-grounded on UT's warm Limestone), the Adobe Fonts pairing, the per-project color idea — and rebuilds it as a token-driven foundation everything can share.

Tier 1 · Primitives

Raw values

Color scales, type sizes, the 4px space scale. Defined once in tokens/tokens.css and tokens/tokens.json. Never referenced directly by components.

Tier 2 · Semantic

Roles, not colors

Components consume roles like --icl-color-accent and --icl-color-text-muted. Because meaning is separated from value, retheming is a five-token swap.

Tier 3 · Components

Built parts

css/icl.css ships buttons, cards, tables, publication lists, navigation, and page bands — the vocabulary of every ICL page.

<link rel="stylesheet" href="https://use.typekit.net/ucc2doj.css"> <!-- Adobe Fonts: proxima-nova, merriweather, rift --> <link rel="stylesheet" href="tokens/tokens.css"> <link rel="stylesheet" href="tokens/themes.css"> <link rel="stylesheet" href="css/icl.css"> <body data-theme="magma"> <!-- omit for the default ICL orange -->
Getting started

Principles

1 · Content is the interface

ICL pages exist to deliver software, papers, and people. Layouts stay quiet: generous whitespace, high contrast, restrained decoration. Nothing competes with a download link or a citation.

2 · One lab, many projects

Every property is unmistakably ICL — Limestone, Smokey, Rift headlines — while each project owns a single accent color. Family resemblance first, individuality second.

3 · Engineered, not decorated

The aesthetic borrows from the lab's work: grid textures like graph paper, hairline keylines, tabular data set with care, mono type for versions and code. Precision is the ornament.

4 · Accessible by default

Text colors meet WCAG AA out of the box. Tennessee Orange is an accent, never body text — the same rule UT's own brand guide applies. Focus states are visible everywhere.

Foundations

Color

Three families do the structural work: Tennessee Orange ties ICL to the university, Limestone is the structural neutral — warm light surfaces through the dark stone bands — and Smokey grays handle text. Globe blue is reserved for links. Per UT brand standards, pure black is never used. (The legacy site's cool Slate family was retired in v0.3 in Limestone's favor.)

Tennessee Orange · accent only

50#FFF4E5
100#FFE3C2
200#FFC58A
300#FFA64D
400#FF9124
500 ★#FF8200
600#D96F00
700 AA#AD5800
800#854400
900#5C2F00

★ PMS 151, the official UT primary. Steps 700+ pass AA as text on white.

Limestone · the structural neutral — surfaces & dark bands

50#F8F6F0
75 surface#F4F1EA
100 ★#F0EDE4
200 border#E1DBCB
300#CBC2A9
400#ACA083
500#8B8066
600#6C634D
700#524B3A
800#3A352A
900 bands#27231B
950 ink#181510

★ UT "Limestone" (CMYK 5 5 10 0), extended to a full ramp. 75 is the big-surface tint (100 reads strong across a whole band), 200 the default border, 900 the dark stone bands, 950 the ink for headings-on-accent and hovers. Adopted in v0.3, replacing the legacy site's cool Slate family.

Smokey · text and neutral surfaces

50#F6F6F6
100#EFEFEF
200#DDDEDF
300#C4C5C7
400#A5A7A9
500#838588
600#6E7072
700 ★#58595B
800#454648
900#2E2F30

★ UT "Smokey" gray. Body text is gray-800; muted text gray-600.

Globe · links only

300#7CC3E0
600 ★#006C93
700#00577A

★ UT secondary "Globe." Links are Globe 600 on every property and theme — historically, links are blue. 5.9:1 on white; Globe 300 is the link color on the dark bands. Globe is reserved for links; eyebrows use the accent hue (see the note below).

Semantic roles

Components never reference the scales above — they use roles. Themes override only the accent group.

accent
--icl-color-accent
accent-strong (AA text)
--icl-color-accent-strong
accent-soft (tint wash)
--icl-color-accent-soft
link (Globe, all themes)
--icl-color-link
eyebrow (themable)
--icl-color-eyebrow
text
--icl-color-text
text-muted
--icl-color-text-muted
heading
--icl-color-heading
inverse-bg
--icl-color-inverse-bg
border
--icl-color-border
surface-sunken
--icl-color-surface-sunken
Do
Use orange as a keyline, button fill, or eyebrow. On the limestone-900 stone bands true Tennessee Orange passes AA (6.3:1); on white it's reserved for eyebrows, which count as incidental text (the real headline sits below). Links are always Globe blue.
Don't
Set body or UI text in Tennessee Orange on white — 2.5:1 fails contrast. The eyebrow kicker is the one exception. Never use pure black anywhere.
Foundations

Typography

Four voices, all licensed on ICL's consolidated Adobe Fonts kit. Rift gives ICL its distinct engineered headline voice — and, because buttons are actions, the button voice; Proxima Nova does the everyday work; Merriweather handles long-form reading; mono handles code.

Rift · display
--icl-font-display
Numerical libraries for exascale systems
Proxima Nova · UI & body
--icl-font-sans
The Innovative Computing Laboratory advances scientific computing through software, standards, and collaboration. Weights 300, 400, 700 — semibold (600) is not in the kit; the browser substitutes 700.
Merriweather · editorial
--icl-font-serif
Long-form stories in the ICL newsletter, feature articles, and pull quotes are set in Merriweather — and the bold first name in the signature name style.
Mono · code
--icl-font-mono
system stack
magma_dgetrf( m, n, h_A, lda, ipiv, &info ); // v2.9.0

Headlines in Rift are always uppercase. Never letterspace lowercase Rift; never use Rift below 1rem except in table headers and small buttons. Badges are Proxima Nova — in Rift they would read as buttons.

Scale & roles

Eyebrow · .icl-eyebrow

Display

Heading 1 · 2.44rem fluid

Heading 2 · 1.95rem

Heading 3 · 1.56rem

Heading 4 · 1.25rem

Lede paragraph — 1.25rem, muted, for section introductions. .icl-lede

Body — 1rem / 1.6. Links look like this link — Globe blue (--icl-color-link), constant across every theme, because historically links on the web are blue.

Signature name style — Jack Dongarra: first name Merriweather bold, last name Proxima Nova caps. .icl-name__first / .icl-name__last

Small / meta — 0.875rem muted, for captions, dates, and attribution.

Foundations

Spacing & layout

A 4px base scale, a 1152px content container, and pages built as full-width alternating bands — white, sunken limestone, and dark stone.

--icl-space-1 · 4px
--icl-space-2 · 8px
--icl-space-3 · 12px
--icl-space-4 · 16px
--icl-space-5 · 24px
--icl-space-6 · 32px
--icl-space-7 · 48px
--icl-space-8 · 64px
--icl-space-9 · 96px
.icl-container /* max 72rem, fluid padding */ .icl-container--narrow /* 46rem reading measure */ .icl-section /* 64px vertical band */ .icl-section--sunken /* limestone band, hairlines */ .icl-section--inverse /* limestone-900 stone band */ .icl-section--accent /* accent band, on-accent ink */ .icl-grid--2 / --3 / --4 /* responsive card grids */
Foundations

Signature motifs

Three details make a page read as ICL — this very band demonstrates two of them.

The keyline

A 3px accent rule on the top edge of navs, cards, footers, and code blocks — inherited from the orange rules on today's icl.utk.edu. It's where the project theme shows up most often. .icl-keyline-top

The signature background effect

One adaptive effect, descended from the legacy grid-bg.jpg but built in pure CSS + SVG: soft, slightly grubby printed lines with a film-grain wash. It reads the band it's on — horizontal scanlines on light limestone (warm ink, multiply-blended) and the crossed graph-paper grid, light-on-dark, on stone bands. Either way it fades in relation to the heading: clean where the heading sits (upper left by default), emerging toward the opposite corner. Add .icl-background-fx--center on centered bands, or .icl-background-fx--spotlight to invert the veil — fullest at a focal point (--icl-fx-focus), fading away to nothing within an ellipse sized by --icl-fx-spotlight (default reach dies out by the top/bottom of a collage's photos), as behind the collage feature's images. .icl-background-fx

Stone bands

Dark limestone-900 sections anchor every page — hero at the top, footer at the bottom. Orange (or the project accent) appears against the warm stone as its accent-inverse step.

One class, two treatments

.icl-background-fx is context-aware: on a light surface it lays down scanlines, on a dark stone band it draws the grid. You don't pick — the band does. (Force the dark treatment on an otherwise-light element with .icl-background-fx--inverse.)

Light band

Scanlines on limestone

Dark band

Grid on stone

Components

Components

Every part below is built from semantic tokens only, so all of it rethemes automatically. The swatches shown use the default ICL orange theme — visit Project themes to see them change.

Buttons

<a class="icl-btn icl-btn--primary">Download MAGMA 2.9</a> <a class="icl-btn icl-btn--secondary">View on Bitbucket</a> <a class="icl-btn icl-btn--ghost icl-btn--sm">Release notes</a>

Badges & tags

New release v2.9.0 Archived Preprint Funded Beta Deprecated

Forms

Enter a valid email address.

Alerts

MAGMA 2.9.0 released

Adds support for CUDA 13 and unified memory batched routines.

Subscription confirmed

You'll receive release announcements at most monthly.

Beta interface

The counter API may change before the stable release.

End of life

PLASMA 2.x is no longer maintained — migrate to the 17+ series.

Cards

<a class="icl-card icl-card--feature" href="…"> <p class="icl-card__kicker">Software</p> <h4 class="icl-card__title">MAGMA</h4> <p class="icl-card__body">Dense linear algebra …</p> <p class="icl-card__meta">Latest release · v2.9.0</p> </a>

People

Photo of Heike Jagode

Heike Jagode

Interim Director of ICL

Photo of Jack Dongarra

Jack Dongarra

Research Professor Emeritus

Photo of Piotr Luszczek

Piotr Luszczek

Research Associate Professor

AA

Ahmad Abdelfattah

Research Assistant Professor

<div class="icl-person__photo-frame"> <img class="icl-person__photo" src="…" alt="Photo of Stan Tomov"> </div> <p class="icl-person__name"> <span class="icl-name__first">Stan</span> <span class="icl-name__last">Tomov</span> </p>

The signature name style — first name Merriweather bold, last name Proxima Nova caps — comes from the PAPI team grid and works anywhere names appear (team grids, bylines, directory listings). Wrap photos in .icl-person__photo-frame for the duotone treatment — a CSS gradient map that renders the photo as accent ink on warm white and returns it to full color on hover (demo photos load live from icl.utk.edu). Tune per use via --icl-duotone-ink-mix, --icl-duotone-contrast, and --icl-duotone-paper. When no photo is available, use the initials block (.icl-person__photo.icl-person__initials) as the fallback, shown last.

Stats

40+
Years of research software
1.2M
Downloads per year
60
Researchers & students

Tabs

The overview panel — mirrors the section nav on today's project sites (Overview · Downloads · Papers · Team).

Tables

Release history
VersionDateHighlightsDownload
2.9.02026-05-14CUDA 13, batched unified-memory routinestar.gz
2.8.02025-11-02HIP backend parity, mixed-precision GMREStar.gz
2.7.22025-03-19Bug fixes, oneAPI experimental supporttar.gz

Publication list

  1. Accelerating Mixed-Precision Iterative Refinement on Exascale GPUs

    A. Haidar, S. Tomov, J. Dongarra

    Proceedings of SC '25, Atlanta, GA, November 2025

  2. PAPI 7: Counter Analysis for Heterogeneous Memory Systems

    H. Jagode, A. Danalis, D. Barry

    Concurrency and Computation: Practice and Experience, 2026

Code

Inline code like --icl-color-accent, and blocks:

git clone https://bitbucket.org/icl/magma.git
cd magma && mkdir build && cd build
cmake -DMAGMA_ENABLE_CUDA=ON ..
make -j

The sticky navbar at the top of this page and the footer below are the live components: limestone-900 stone surfaces with the accent keyline. On project sites the brand slot reads ICL | Project Name — see the project template.

The active link carries a keyline-colored underline that lands exactly on the navbar's bottom keyline. Add data-scrollspy to the .icl-navbar__nav and that highlight follows the page as you scroll — js/icl.js moves aria-current="page" to the link whose in-page section is under the navbar. It's opt-in, so multi-page sites that set the current page server-side are left alone. Anchor jumps clear the sticky navbar via scroll-padding-top.

Theming

Project themes

Each ICL project keeps the whole foundation and overrides exactly five accent tokens. Tennessee Orange stays reserved for the lab itself. Try it — everything inside the frame below rethemes from one attribute.

An ICL software project

Themed hero

The keyline, eyebrow, buttons, badges, and selection color follow the project accent. Links stay Globe blue on every property.

Feature card

Keyline follows the theme

Semantic tokens mean no component ships project-specific CSS.

5
tokens per theme
/* tokens/themes.css */ [data-theme="magma"] { --icl-color-accent: #E03A2F; /* fills, keylines */ --icl-color-accent-strong: #AC2A21; /* AA text & links */ --icl-color-accent-soft: #FCEAE8; /* tint washes */ --icl-color-on-accent: #FFFFFF; /* text atop the accent */ --icl-color-accent-inverse: #F0776D; /* accent on the stone bands */ } <body data-theme="magma">

Choosing a new project color

  1. Stay off Tennessee Orange. Orange marks lab-level properties; projects get their own hue.
  2. Check contrast. accent-strong must reach 4.5:1 on white; on-accent must reach 4.5:1 on accent.
  3. Derive the family. From the base accent, create the soft tint (≈ 92% lightness) and the inverse step (lightened for the limestone-900 bands).
  4. Register it. Add the block to tokens/themes.css and the entry to tokens/tokens.json — that's the entire cost of onboarding a project.
Next

Page patterns

Full-page compositions assembled from the components above.

Hero backgrounds

A framework for hero and feature-band backgrounds, in the manner of the ACS NUCL fx panels: base color, an optional photo layer, and the signature effect, layered under the content. The suite composes with .icl-background-fx — the band still picks scanlines or grid on its own — and adds only the photo machinery. Three surfaces, all band classes the system already has (plus one new one): dark stone (.icl-section--inverse / .icl-hero), light limestone (.icl-section--sunken), and the new accent band .icl-section--accent — Tennessee Orange at lab level, each project its own hue. The photo (--icl-hero-image) anchors right and masks out toward the content side, so it cross-fades against the pattern and the heading sits on calm base color. The pattern also rides over the photo — the suite re-draws the line layer above the image with the adaptive contrast blends: scanlines color-burn on light and accent bands (etched into the image's darks, clear of its highlights), the grid color-dodges on stone (lit out of the highlights, absent from the blacks). The texture keys itself to the image, so it is strongest where the photo's tonality matches the band — and fades out where it doesn't; for a tonally mismatched photo, set --icl-hero-overlay-blend to the even-handed multiply (light bands) or screen (stone) on that band. The whole treatment is width-adaptive: each band is a size query container, and at 48rem of container width the overlay steps up to the feature-strength inks (scanline-strong / grid-inverse-strong) and the photo gets the long eased cross-fade; below that, a panel is card-scale — quiet inks, compressed fade. Browsers without container queries get the quiet treatment everywhere. Type is part of the formula: titles wear the display voice — Rift, uppercase — sized by the same threshold (card scale below, hero scale above), and body copy runs semibold, one step up; a heading carrying .icl-display keeps its own scale. .icl-hero-bg

Add .icl-hero-bg--duotone and the photo takes the people-photo gradient map at band scale: grayscale, then blended into the band's own hue — ink-print multiply on light limestone, a screened [surface → warm white] map on stone and accent bands, with the printed lines showing through the image. Tune with --icl-hero-duotone-contrast / --icl-hero-duotone-paper; reposition with --icl-hero-position, re-shape the cross-fade with --icl-hero-mask, set the pattern overlay's reach with --icl-hero-overlay-mask, or flip the whole composition with .icl-hero-bg--flip. On accent bands, eyebrow and link text drop to on-accent (their usual hues fail against the accent itself) — keep inline links off accent bands and let buttons carry the CTA; accent-filled buttons there wear a white outline, since their fill matches the band, and secondary (outline) buttons drop their text and border to on-accent. A hero can also carry a content image — a publication cover, a screenshot — in the body slot: .icl-hero__media wraps an .icl-hero__thumb image with the body copy to its right. And the suite works with no photo at all — leave --icl-hero-image unset and the band's own motif carries the background.

Click any panel to see the same composition at hero scale. Nothing but the width changes between the card and the modal — the container query does the rest: the cards sit below the 48rem threshold (quiet card treatment), the modal above it (feature strength, long cross-fade).

Open the hero builder → — fill in your own eyebrow, headline, copy, buttons, and photos; preview all eight variations live (photo, duotone, and plain motif-only); and copy the markup for any of them.

Stone · photo

Dark warm neutral

Photo holds the right, grid emerges in the cross-fade.

Limestone · photo

Light warm neutral

Photo over scanlined limestone.

Accent · photo

Accent

Orange at lab level; the project hue on themed sites.

Stone · duotone

Warm silver print

Screened [stone → white]; the grid prints through.

Limestone · duotone

Ink print

Multiplied down like ink on the limestone.

Accent · duotone

The orange map

Screened [accent → white] — the people-photo treatment at band scale.

<!-- dark stone hero with a photo layer --> <section class="icl-hero icl-background-fx icl-hero-bg" style="--icl-hero-image: url('server-room.jpg')">…</section> <!-- accent feature band, duotone photo --> <section class="icl-section icl-section--accent icl-background-fx icl-hero-bg icl-hero-bg--duotone" style="--icl-hero-image: url('server-room.jpg')">…</section>

Text halo

Hero text carries a soft halo in the band's own base color (--icl-grid-fade): where copy crosses into the photo, the bloom lifts it off the image; over the flat band color it disappears, because it is the same color as what sits behind it — no new color enters the system, and the demo panels above all wear it. Three knobs shape it (defaults 0.4 / 2 / 1): --icl-hero-halo (size — scales every blur radius; 0 is the opt-out), --icl-hero-halo-spread (reach of the outer bloom layers — text-shadow has no true spread, so this is the layered equivalent), and --icl-hero-halo-opacity (bloom color strength, 0–1). A raised card sitting on a hero band should set --icl-hero-halo: 0 — the band-colored bloom would show against the card's white.

Collage feature

A staggered three-image collage beside a headline and body copy — adapted from the UT System homepage's "How UT Impacts Your Life" section. Each image sits in an .icl-frame: the frame owns its aspect ratio (--icl-frame-ratio) and the real image rides behind as a cover background (--icl-frame-image), so a source of any dimensions fills the slot without distorting the composition. The demo sources below are deliberately mismatched — a wide image in the portrait slot, a square in the wide slot — to show the frames holding shape. .icl-collage

Research that ships

Software the world computes with

Through four decades of numerical libraries, performance tools, and distributed runtimes, ICL software runs on everything from laptops to the world's largest machines — LAPACK descendants in every scientific stack, PAPI counters in every profiler, and solvers tuned for each new generation of hardware.

Each image sits in a frame that keeps the composition's shape no matter what dimensions the source arrives in.

Template

Project site

Hero, quick-start, releases table, publications, team grid, and footer — with a live theme switcher. The replacement for the current "projector" template.

docs/project-template.html →

Planned

Lab homepage & newsletter article

Next iterations: the icl.utk.edu homepage (news river, project directory, people) and the long-form newsletter article pattern built on .icl-prose.

Next

Roadmap

ItemStatusNotes
Tokens, components, project themingv0.1This guide
Globe blue links, Proxima eyebrows, signature name style, rounded buttonsv0.2This iteration's revisions
Limestone replacing Slate as the structural neutralv0.3Adopted — warm stone bands, limestone-75 surfaces; the cool Slate family is retired
Adaptive background effect, accent eyebrows, navbar scrollspyv0.4.icl-background-fx picks scanlines or grid by band; eyebrows wear the pure accent (incidental text); active nav link tracks scroll
Publication cards, limestone content practice, collage featurev0.5Publications as raised cards with outline/download buttons; content-in-cards rule on limestone bands (AA-retuned grays); sunken inset shadows; one Adobe Fonts kit; .icl-frame + .icl-collage + spotlight veil
Legacy-embed build; first production embedv0.6dist/icl-embed.css scopes the system under .icl-zone for legacy pages (live on icl.utk.edu/jobs); base64 grain (aggregator-proof); --icl-fx-grain / --icl-fx-spotlight knobs; embed type pinned rem→px at 90% scale
Hero background suite, accent bandv0.7.icl-hero-bg photo layer + duotone gradient map over the fx surfaces; .icl-section--accent band (orange / project hue)
Per-project background effectPlannedBespoke .icl-project-background-fx per project, scoped by data-theme — waiting on real project art
Consolidated Adobe Fonts kitDoneOne kit (ucc2doj): proxima-nova, merriweather, rift — single request per page
Lab homepage & newsletter patternsPlannedNews river, project directory, long-form article
Dark modePlannedSemantic layer is ready for a data-mode="dark" mapping
Figma library & logo guidancePlannedMirror tokens.json into Figma variables; formalize ICL + project lockups