For Jellyfin

Abyss

A clean, minimal dark theme. Frosted glass surfaces,
refined typography, and smooth transitions.

Abyss theme - Jellyfin home screen showing My Media section with frosted glass header

Crafted for clarity.

Every element - from toasts and dialogs to the media player OSD - has been considered and styled. Here is what Abyss brings to your Jellyfin.

One-Click Installer

Download abyss-setup.exe and run it. It applies the CSS, sets the dark theme, configures home sections, installs Spotlight, and restarts Jellyfin - fully automatic.

Spotlight Home Banner

A cinematic banner shows your current Continue Watching item - backdrop image, metadata pills for rating, runtime, and score, and a direct resume button.

Frosted Glass UI

Header, drawer, dialogs, toasts, and footer all use backdrop-filter blur. Every surface layers naturally for depth without feeling heavy.

Animations Throughout

Home sections fade up with staggered entrance animations on load. The favourite button has a spring pop. Every interaction uses tuned cubic-bezier easing - nothing snaps.

Every Element Targeted

Cards, sliders, checkboxes, form inputs, the OSD, now playing bar, chapter thumbnails, search page, cast thumbnails at 9 breakpoints, login page, detail pages, and the metadata manager.

Refined Typography

Google Sans throughout, with consistent weight and spacing. Section titles, card text, and metadata sit in a clear visual hierarchy at every screen size.

See it in action.

Abyss theme home screen Home
Abyss sidebar navigation Sidebar
Abyss Video player Player
Abyss card layout Cards
Abyss card hover state Card Hover
Abyss UI detail UI Detail
Abyss movies library Movies
Abyss shows library Shows
Abyss music suggestions Music
Abyss music albums grid Music Albums
Abyss now playing screen Now Playing
Abyss music queue Queue

Make it yours.

Override variables after your import. Use the controls on the right to preview changes live in the code.

css
@import url('https://cdn.jsdelivr.net/gh/AumGupta/abyss-jellyfin@main/abyss.css');

/* Accent colour 
   Format: R, G, B  (no rgb() wrapper)
   Used for highlights, active states, progress bars. */
:root {
    --abyss-accent:    245, 245, 247;
    --abyss-radius:    12px;
    --abyss-indicator: 55, 55, 55;
}

/* Custom font: Import any Google Font and override body. */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap');

body {
    font-family: "Inter", sans-serif;
}

Accent colour

Corner radius - 12px

Preview

Movies
Home
Favourites

Variables

--abyss-accent Highlight colour (R, G, B)
--abyss-radius Global corner rounding
--abyss-indicator Episode count pill colour

One click. Done.

Download the installer and run it. It handles everything.

Download Latest Installer

Windows only · Requires Jellyfin admin credentials

Download blocked? Here's what to do.

Click on the Three dots icon (…) > Keep > (Keep anyway).

Browsers may warn that the file is unsafe, this happens with new releases that have not yet built a download reputation as safe, but it doesn't imply it is not safe : )

The installer is automatically compiled from setup.ps1 via GitHub Actions on every release. You can read every line before running — View source.

The installer asks for your Jellyfin server URL, admin username, and password. These are sent directly to your own local Jellyfin server using the standard Jellyfin API, the same one your browser uses when you log in. Nothing is sent to any external server and credentials are never stored anywhere.

or install manually

Paste into Dashboard → Branding → Custom CSS and save. Then go to Settings → Home and arrange sections: Continue Watching, Next Up, My Media, Recently Added.

css
@import url('https://cdn.jsdelivr.net/gh/AumGupta/abyss-jellyfin@main/abyss.css');

Note: Manual install only applies the theme, the spotlight feature on homescreen doesn't gets added, so if you want the spotlight too, use the setup.