# Anatomy of a Dark Theme: Prague

> Anatomy of Prague, a dark IDE theme: deep Vltava blues for the frame and the keywords, lit by gas lamp amber, rooftop copper and straw gold.

- URL: https://codigrate.com/blog/anatomy-of-the-prague-theme
- Published: 2026-10-09
- Category: Inspiration
- Theme: [Prague](https://codigrate.com/theme?product=prague)
- Publisher: Codigrate (https://codigrate.com)

Prague lit its first two hundred gas lamps on 15 September 1847. By 1940 there were close to nine
thousand of them, and then the city slowly gave them up: the last ones, on Hradčany Square and
Loretánská street up by the castle, were switched to electricity in 1985. In 2002 the gas came
back along the Royal Route, the road the Bohemian kings walked to their coronations, and about seven
hundred lamps burn on it again today. In Advent the lamps on Charles Bridge are lit by hand at dusk,
by a lamplighter carrying a pole from the late nineteenth century.

Codigrate's Prague theme is that walk at dusk. The river and the sky over the castle are deep blue,
and against them the gas lamps, the copper roofs and the old gold of the stone come on one at a
time. What follows takes it apart color by color. It is the seventh city in this series after
[Miami](https://codigrate.com/blog/anatomy-of-the-miami-theme), [Istanbul](https://codigrate.com/blog/anatomy-of-the-istanbul-theme),
[Paris](https://codigrate.com/blog/anatomy-of-the-paris-theme), [Rio de Janeiro](https://codigrate.com/blog/anatomy-of-the-rio-de-janeiro-theme),
[Tokyo](https://codigrate.com/blog/anatomy-of-the-tokyo-theme) and [Tallinn](https://codigrate.com/blog/anatomy-of-the-tallinn-theme), and the
third premium theme after [Ocean](https://codigrate.com/blog/anatomy-of-the-ocean-theme) and
[Salda](https://codigrate.com/blog/anatomy-of-the-salda-theme). Tokyo also dresses its night in one blue, but lights it
with neon; Prague lights it with fire.

## A River And Its Lamps

The theme's own description sets the scene: Prague after dark, the deep blues of the Vltava and the
gas lamps glowing along its bridges, midnight navy and castle blue shadows with amber, copper and
straw gold accents. The palette names walk across the bridge from one side to the other. Old Town
Shadow, Vltava Night, Castle Night, Bohemian Blue, Bridge Blue, Slate Blue, Stone Blue and Moonstone
are the night and the water; Pale Vltava and Daylight Blue are the river catching the last of the
sky. Candle Gold, Parchment Gold, Straw Gold, Amber Lantern, Rooftop Copper and Brass Shadow are the
lamps and the roofs.

The interface leans on both. A bridge blue [#5BA0E5](https://codigrate.com/tools/color/5BA0E5) is the accent for links
and the small marks that need to stand out, and an amber [#C78921](https://codigrate.com/tools/color/C78921) is its second
accent. In the code the same split runs through every line: daylight blue
[#74ADF8](https://codigrate.com/tools/color/74ADF8) and pale Vltava [#89C5F8](https://codigrate.com/tools/color/89C5F8) for the language,
amber lantern [#EFBA5A](https://codigrate.com/tools/color/EFBA5A), rooftop copper [#DF865B](https://codigrate.com/tools/color/DF865B) and straw
gold [#E3CA77](https://codigrate.com/tools/color/E3CA77) for the warm side.

## The Harmony: River Against Lamplight

On a wheel, Prague is a [complementary](https://codigrate.com/blog/harmony-in-opposites) pair in the plainest sense. The
blues all gather near 210 degrees: every background, the interface text, the caret, the keywords,
the strings and the static members, between 206 and 214. The opposite of 210 is 30, an amber, and
that is where the lamps are. Rooftop copper sits at 20, the amber lantern at 39, straw gold at 46
and parchment at 48, a short warm arc straight across from the river.

Two colors step off the axis on purpose. Local variables are a lavender at 256, a little past the
blues toward violet, the color the sky turns over the castle just after the sun goes. Global
variables are a faded brick at 3, a little past the coppers toward red, like the tiled roofs of the
Lesser Town. They keep the theme from being a strict two color poster without breaking its idea: cool
for the river, warm for the lamps, and a little dusk and a little brick in between.

## Backgrounds, Down To The River

Prague's backgrounds are four blues on the same hue, near 210 degrees:

- Input [#070F17](https://codigrate.com/tools/color/070F17), old town shadow, the darkest well, where you type into
  search fields and dialogs.
- Editor [#0D1D2E](https://codigrate.com/tools/color/0D1D2E), Vltava night, the river the code is written on.
- Window [#123151](https://codigrate.com/tools/color/123151), castle night, for the tool windows and panels.
- Surface [#113E6B](https://codigrate.com/tools/color/113E6B), Bohemian blue, the outer frame the whole window sits in.

What changes from one to the next is not only lightness. The higher the panel, the more color it
holds: the editor sits at about 56 percent saturation, the windows at 64 and the frame at 73. So the
code area stays close to a black water, and the panels around it read as a clearer blue sky above
it, the way the river at dusk is always darker than the air over the castle. A selected row in the
project tree stays in that sky, a deeper blue [#18406A](https://codigrate.com/tools/color/18406A) edged in bridge blue
[#1E5FA0](https://codigrate.com/tools/color/1E5FA0).

The lamps are where the window tells you something. Selected text in the editor turns a dark brass
[#544410](https://codigrate.com/tools/color/544410). The active editor tab sits on a brass shadow
[#544723](https://codigrate.com/tools/color/544723) with an old gold underline [#C49D3A](https://codigrate.com/tools/color/C49D3A), and the
progress bar runs in amber [#C78921](https://codigrate.com/tools/color/C78921). Search matches glow copper,
[#DDAE94](https://codigrate.com/tools/color/DDAE94) on [#61351E](https://codigrate.com/tools/color/61351E). Even the word under the caret
plays the same game: where it is read it stays in the river, a pale blue
[#C3D7E3](https://codigrate.com/tools/color/C3D7E3) on [#346C8F](https://codigrate.com/tools/color/346C8F), and where it is written to it turns
gold, [#E8E4CB](https://codigrate.com/tools/color/E8E4CB) on [#857D3D](https://codigrate.com/tools/color/857D3D). Reads are water, writes are
lamplight.

## One Foreground, Several Voices

Code is written in a near white [#EBEBEC](https://codigrate.com/tools/color/EBEBEC) at about 14:1 against the editor, and
class names, function names and constants stay a plain light grey [#E0E0E0](https://codigrate.com/tools/color/E0E0E0) at
about 13:1. The interface around it uses moonstone [#BBC9D7](https://codigrate.com/tools/color/BBC9D7), the pale blue of
the moon over the castle, and one level down a slate [#89A2BC](https://codigrate.com/tools/color/89A2BC) for hints and
secondary labels, both on the same hue as the river.

Comments are a stone blue [#92A3B3](https://codigrate.com/tools/color/92A3B3) set in italics, at about 6.6:1. That is
brighter than most comments in this series, and it suits a theme this dark: on a near black page a
dim grey would sink out of sight, so Prague keeps its notes readable and lets the italic and the
missing color do the stepping back. They sit one rung below the code on the ladder from
[the readability post](https://codigrate.com/blog/introduction-to-readability).

The gutter is the river itself. Line numbers are a quiet blue [#3168A4](https://codigrate.com/tools/color/3168A4) at
about 3:1, the number on the current line brightens to [#4C91D7](https://codigrate.com/tools/color/4C91D7), and the caret
is a pale steel [#90B2D1](https://codigrate.com/tools/color/90B2D1), so your place on the left edge shows as a little more
light on the water.

## Syntax: River Blues And Lamplight

Open a file and the bridge fills in:

- Keywords in daylight blue [#74ADF8](https://codigrate.com/tools/color/74ADF8), the most saturated blue in the theme,
  the most common colored words in any file.
- Strings, numbers and escapes in pale Vltava [#89C5F8](https://codigrate.com/tools/color/89C5F8), a lighter, softer blue.
- Static fields and methods in an italic ice blue [#A8D4F6](https://codigrate.com/tools/color/A8D4F6), lighter again.
  Keywords, values and statics climb the same blue toward white, so the language reads as one
  river at three depths.
- Local variables in a dusk lavender [#BEB2DF](https://codigrate.com/tools/color/BEB2DF), the sky over the castle.
- Instance fields and methods in amber lantern [#EFBA5A](https://codigrate.com/tools/color/EFBA5A), and JavaScript member
  functions in a deeper amber [#F4AA49](https://codigrate.com/tools/color/F4AA49), the gas lamps on the bridge.
- Parameters, and HTML and XML tags, in rooftop copper [#DF865B](https://codigrate.com/tools/color/DF865B).
- Attributes in straw gold [#E3CA77](https://codigrate.com/tools/color/E3CA77), and annotations in parchment
  [#DCCF9D](https://codigrate.com/tools/color/DCCF9D), the faded paper of an old city archive.
- Global variables in a faded brick [#D88783](https://codigrate.com/tools/color/D88783), the roofs of the Lesser Town.

With the names left a plain grey, a Prague file splits cleanly in two. The blue half is the language
and its values, the part you read; the warm half is the members, the parameters and the attributes,
the part you follow from one call to the next.

## The Final Product

Here is Prague put back together. The deep blue fills a JetBrains IDE and Sublime Text, Slack and
Ghostty keep the same river night around the chat and the shell, and in Rhino the viewports turn the
navy of the Vltava after dark, with old gold marking the active tab and the switches that are on.

<!--SHOTS-START-->
<div class="post-shots">
<figure><img src="https://codigrate.com/assets/themes/cities/prague-theme/jetbrains-screenshot-1.webp" alt="Prague theme in a JetBrains IDE" width="1200" height="787" loading="lazy"><figcaption>JetBrains</figcaption></figure>
<figure><img src="https://codigrate.com/assets/themes/cities/prague-theme/sublime-screenshot-1.webp" alt="Prague theme in Sublime Text" width="1200" height="787" loading="lazy"><figcaption>Sublime Text</figcaption></figure>
<figure><img src="https://codigrate.com/assets/themes/cities/prague-theme/slack-screenshot-1.webp" alt="Prague theme in Slack" width="1200" height="787" loading="lazy"><figcaption>Slack</figcaption></figure>
<figure><img src="https://codigrate.com/assets/themes/cities/prague-theme/ghostty-screenshot-1.webp" alt="Prague theme in Ghostty" width="1200" height="787" loading="lazy"><figcaption>Ghostty</figcaption></figure>
<figure><img src="https://codigrate.com/assets/themes/cities/prague-theme/rhino-screenshot-1.webp" alt="Prague theme in Rhino" width="1200" height="787" loading="lazy"><figcaption>Rhino</figcaption></figure>
</div>
<!--SHOTS-END-->

## Reading It Back

Taken apart, Prague is a river and its lamps. The backgrounds, the gutter, the interface text and
the language itself are all one blue, darkest where the code sits and clearest in the frame above
it. The warm colors are rationed to the members, the parameters and the attributes, and to the
marks that tell you where you are: the selection, the open tab, the search match and every place a
variable is written to. A lavender and a brick step just off that line to keep it from feeling like
a diagram.

It is a theme for evening work in a dim room, which is also the hour the real city is at its best,
the bridge lit and the river turning black below it. Prague is a premium theme: a paid plugin for
JetBrains IDEs on the JetBrains Marketplace and part of the All In One bundle, a one time purchase
for Sublime Text, Ghostty, iTerm2, macOS Terminal, Slack and Rhino from the Codigrate store, and a
LINE theme in the LINE theme shop, all from its [theme page](https://codigrate.com/theme?product=prague).

## Frequently Asked Questions

### What is the Prague theme?

Prague is one of Codigrate's premium dark city themes, built around Prague after dark: the Vltava running black and blue under the castle, and the gas lamps of Charles Bridge burning along it. The frame of the editor is the river and the night sky, four deep blues on one hue. The code is split between the two: the language itself in river and daylight blues, and the members, parameters and attributes in the warm colors of the old town, amber lantern, rooftop copper, straw gold and parchment.

### Why does Prague mark selections in gold instead of blue?

Because in a window built entirely from blue, gold is the color that reads as light. Selected text turns a dark brass #544410, the active editor tab sits on a brass shadow #544723 with an old gold underline #C49D3A, the progress bar runs in amber and search matches glow copper. Everything that tells you where you are or what you picked looks like a lamp on the river, and it never gets confused with the blue keywords and strings around it.

### How are the syntax colors chosen in Prague?

The blues and the golds sit on opposite sides of the color wheel, near 210 and near 30 degrees, and each side gets its own kind of token. The blues carry the language and its values: daylight blue keywords, pale river blue strings and numbers, and an even paler italic blue for static members. The warm side carries what belongs to objects and calls: amber lantern for fields and methods, rooftop copper for parameters and tags, straw gold for attributes and parchment for annotations. A lavender for local variables and a faded brick for globals sit between them.

### Where can I get the Prague theme?

Prague is a premium theme. On JetBrains IDEs it is a paid plugin on the JetBrains Marketplace and is also part of the All In One bundle. For Sublime Text, Ghostty, iTerm2, macOS Terminal, Slack and Rhino it is a one time purchase from the Codigrate store, delivered as a download, and the LINE version is sold in the LINE theme shop. All of them are linked from the Prague theme page.
