A single-file, zero-dependency CSS library for beautiful dark-themed interfaces. Built for git viewers, webmail clients, portfolios, and developer tools.
<link rel="stylesheet" href="kranium.css">
~28 KB
Zero dependencies
CSS Custom Properties
Drop kranium.css into your project โ no build step, no npm, no bundler required.
<!-- Option 1: Local file -->
<link rel="stylesheet" href="kranium.css">
<!-- Option 2: Direct import in CSS -->
@import url('kranium.css');
font-family: var(--k-font-mono) from a CDN like Google Fonts (JetBrains Mono) for the best monospace rendering in code components.All design tokens are defined as CSS custom properties on :root. Override any variable to theme your project without touching the source file.
/* Override in your own stylesheet after importing kranium.css */
:root {
--k-accent: #1a4b8c; /* change brand color */
--k-accent-bright: #2563eb;
--k-accent-dim: rgba(37, 99, 235, 0.18);
--k-accent-glow: 0 0 18px #1d4ed8;
--k-bg-deep: #080c14; /* darker background */
}
Semantic heading scale, display/hero text helpers, gradient text, and utility classes for color and size.
Body text โ secondary color, 1.5 line-height
Inline code โ monospace with accent color
"A stylish blockquote with accent border and subtle background."
<h1 class="k-display">Big Hero Title</h1>
<h2 class="k-headline">Section Headline</h2>
<p class="k-lead">Intro paragraph with larger font</p>
<span class="k-gradient-text k-display">Gradient Text</span>
Container widths, responsive grid columns, column span helpers, and the app-shell layout for sidebar-based interfaces.
<div class="k-app-shell">
<aside class="k-sidebar">...</aside>
<main class="k-main-content">
<div class="k-page">
<!-- your content -->
</div>
</main>
</div>
<!-- 2-column grid -->
<div class="k-grid k-grid-cols-2">
<div class="k-card">...</div>
<div class="k-card">...</div>
</div>
<!-- 12-column with spans -->
<div class="k-grid k-grid-cols-12">
<div class="k-col-span-8">Main</div>
<div class="k-col-span-4">Sidebar</div>
</div>
Six variants, five sizes, icon-only, full-width, and a button group component.
<button class="k-btn k-btn-primary">Primary</button>
<button class="k-btn k-btn-secondary">Secondary</button>
<button class="k-btn k-btn-outline">Outline</button>
<button class="k-btn k-btn-ghost">Ghost</button>
<button class="k-btn k-btn-success">Success</button>
<button class="k-btn k-btn-danger">Danger</button>
<button class="k-btn k-btn-primary" disabled>Disabled</button><button class="k-btn k-btn-primary k-btn-xs">XS</button>
<button class="k-btn k-btn-primary k-btn-sm">SM</button>
<button class="k-btn k-btn-primary">Default</button>
<button class="k-btn k-btn-primary k-btn-lg">LG</button>
<button class="k-btn k-btn-primary k-btn-xl">XL</button><div class="k-btn-group">
<button class="k-btn k-btn-secondary">Code</button>
<button class="k-btn k-btn-secondary">Issues</button>
<button class="k-btn k-btn-secondary">Pull Requests</button>
</div>Base card, interactive hover, accent borders, stat cards, and card header/footer structure.
A standard card with header.
Hover to see lift + border glow.
Accent left border.
<!-- Interactive card -->
<div class="k-card k-card-interactive">
<div class="k-card-header">
<span class="k-card-title">Title</span>
<button class="k-btn k-btn-ghost k-btn-sm">Action</button>
</div>
<p>Card content.</p>
<div class="k-card-footer">
<button class="k-btn k-btn-secondary k-btn-sm">Cancel</button>
<button class="k-btn k-btn-primary k-btn-sm">Save</button>
</div>
</div>
<!-- Stat card -->
<div class="k-card k-stat-card">
<div class="k-stat-label">Total Commits</div>
<div class="k-stat-value">2,491</div>
<div class="k-stat-delta up">โ 12% this month</div>
</div>Text inputs, select, textarea, input groups with affixes, search input, toggle switches, checkboxes.
<div class="k-form-group">
<label class="k-label k-label-required">Name</label>
<input class="k-input" placeholder="Enter name">
<span class="k-hint">Max 100 characters</span>
</div>
<!-- Input group with prefix -->
<div class="k-input-group">
<span class="k-input-affix">https://</span>
<input class="k-input" placeholder="example.com">
</div>
<!-- Toggle -->
<label class="k-toggle">
<input type="checkbox">
<div class="k-toggle-track"></div>
Enable feature
</label><span class="k-badge k-badge-success">Success</span>
<span class="k-badge k-badge-danger k-badge-dot">Error</span>
<!-- Deletable tag -->
<span class="k-tag">rust <span class="k-tag-close">ร</span></span><div class="k-alert k-alert-success">
<span class="k-alert-icon">โ
</span>
<div>
<div class="k-alert-title">Deployed</div>
<div class="k-alert-body">Version 2.4.1 is live.</div>
</div>
</div>
<!-- Toast container (fixed position) -->
<div class="k-toast-container">
<div class="k-toast k-toast-success">โ
Commit pushed successfully</div>
</div><div class="k-tabs">
<div class="k-tab active">Overview</div>
<div class="k-tab">Commits</div>
<div class="k-tab">Branches</div>
</div>
<div class="k-segmented">
<div class="k-segmented-item active">Day</div>
<div class="k-segmented-item">Week</div>
<div class="k-segmented-item">Month</div>
</div><div class="k-avatar k-avatar-lg">JD</div>
<!-- With image -->
<div class="k-avatar k-avatar-md">
<img src="avatar.jpg" alt="Jane">
</div>
<!-- Online status -->
<div class="k-avatar-wrap">
<div class="k-avatar">AB</div>
<div class="k-avatar-status online"></div>
</div>
<!-- User row -->
<div class="k-user-row">
<div class="k-avatar k-avatar-sm">MK</div>
<div>
<div class="k-user-row-name">Martin K.</div>
<div class="k-user-row-meta">Maintainer</div>
</div>
</div>Purpose-built for git web interfaces: diff viewer, commit list, code blocks, branch/ref chips, PR/issue status badges.
<span class="k-ref k-ref-branch">main</span>
<span class="k-ref k-ref-tag">v2.1.0</span>
<span class="k-ref k-ref-head">HEAD</span>
<span class="k-issue-state k-issue-open">โ Open</span>
<span class="k-issue-state k-issue-merged">โ Merged</span><div class="k-file-tree">
<a class="k-tree-item dir">๐ src</a>
<div class="k-tree-indent">
<a class="k-tree-item active">๐ index.ts</a>
<a class="k-tree-item">๐ app.ts</a>
</div>
<a class="k-tree-item">๐ package.json</a>
</div>Mail rows (unread state, starred), mail thread reader, and compose window.
<div class="k-mail-row unread">
<div class="k-mail-star starred">โ
</div>
<div class="k-avatar k-avatar-xs">L</div>
<div class="k-mail-from">Linus T.</div>
<div class="k-mail-subject">Re: Kernel patch...</div>
<div class="k-mail-time">09:41</div>
</div>Hero section, eyebrow label, glow orbs, feature cards, tech badges, and project cards.
<section class="k-hero">
<div class="k-glow-orb k-glow-orb-primary" style="width:400px;height:400px;top:-100px;right:-100px"></div>
<div class="k-container">
<span class="k-hero-eyebrow">โจ Available for hire</span>
<h1 class="k-display k-gradient-text">Full-Stack Dev</h1>
<p class="k-lead">Building fast, beautiful web apps.</p>
<div class="k-hero-cta">
<button class="k-btn k-btn-primary k-btn-lg">View Work</button>
<button class="k-btn k-btn-ghost k-btn-lg">Contact Me</button>
</div>
</div>
</section>Pure CSS tooltips via data-tooltip attribute. Supports four positions.
<button data-tooltip="Tooltip text">Top (default)</button>
<button data-tooltip="Below" data-tooltip-pos="bottom">Bottom</button>
<button data-tooltip="Right" data-tooltip-pos="right">Right</button>
<button data-tooltip="Left" data-tooltip-pos="left">Left</button><div class="k-skeleton k-skeleton-title"></div>
<div class="k-skeleton k-skeleton-text"></div>
<!-- Skeleton row (avatar + lines) -->
<div class="k-skeleton-row">
<div class="k-skeleton k-skeleton-avatar"></div>
<div class="k-skeleton-row-body">
<div class="k-skeleton k-skeleton-text" style="width:55%"></div>
<div class="k-skeleton k-skeleton-text" style="width:35%"></div>
</div>
</div>A comprehensive set of utility classes for display, flexbox, spacing, text, colors, borders, and more.
| Category | Classes | Description |
|---|---|---|
display | .k-flex .k-inline-flex .k-block .k-hidden | Display values |
flex | .k-flex-col .k-items-center .k-justify-between .k-flex-1 | Flexbox helpers |
gap | .k-gap-1 โ .k-gap-8 | 4px increments |
padding | .k-p-1 โ .k-p-6 .k-px-* .k-py-* | Padding utilities |
margin | .k-mt-* .k-mb-* .k-mx-auto .k-ml-auto | Margin utilities |
font size | .k-text-xs .k-text-sm .k-text-lg .k-text-2xl | Type scale |
font weight | .k-font-bold .k-font-semibold .k-font-mono | Weight & family |
color | .k-text-primary .k-text-muted .k-text-accent .k-text-success | Text colors |
layout | .k-w-full .k-h-full .k-min-h-screen .k-min-w-0 | Sizing |
misc | .k-truncate .k-rounded .k-glass .k-hover-lift .k-no-select | Visual helpers |
responsive | .k-hidden-sm .k-hidden-md .k-hidden-lg | Hide at breakpoints |