muowl
PTEN
Dark theme · Original palette · v1.6.0

Carmilla

crypt warmth for nights of code

Thirteen colours distilled around a rosé-wine background. Warm accents — carmine, wisteria, absinthe mint, peach velvet, champagne — over a dark boudoir.

I.

The palette

thirteen tones, one mood

#16101A#18101A
Crypt
deepest background — page, gutter
#2E1B2D#2A1B2E
Boudoir
main background — editor, panels
#3A2438#35243A
Velvet
elevated surface — cards, status bar
#523950#4C3952
Selection
current line, selection, ranges
#FF5FA2#C474D3
CarmineAmethyst
keywords, storage — const, let, class, if, return
#D5A6FF
Wisteria
language instances — this, super, null
#5ED0D8
Verdigris
classes, types, support
#7AE0A6
Absinthe
functions, methods
#EDD795
Champagne
strings, template literals
#FFAE8A
Peach Velvet
numbers, booleans
#E84B6E
Pomegranate
errors, deletions, alerts
#9E83A4
Ash Mauve
comments — a warm mauve that converses with the background
#F5EADA
Pearl
primary text, foreground
II.

In the editor

how it behaves in real code

carmilla / countess.ts
countess.ts
palette.css
README.md
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
// Carmilla — an original palette, warm accents over wine
// Comments in ash-mauve converse with the boudoir background.

import { Slayer } from "./hunters";

class Countess extends Immortal {
    private readonly name: string;
    private centuriesLived: number;

    constructor(name: string, age: number) {
        super();
        this.name = name;
        this.centuriesLived = age;
    }

    whisper(guest: string): string {
        this.centuriesLived += 0.01;
        return `🥀 ${this.name} whispers to ${guest}`;
    }

    getEra(): string {
if (this.centuriesLived > 5) return "🕯️ Ancient of ancients";
if (this.centuriesLived > 1) return "🌙 A mature immortal"; return "🩸 Newly turned"; } } const carmilla = new Countess("Mircalla Karnstein", 3); const awake: boolean = true; if (awake) console.log(carmilla.getEra()); else console.error("❌ still resting in the coffin");
⎇ main↑ 2 ↓ 0● 0 errors▲ 1 warning
Ln 21, Col 9Spaces: 4UTF-8TypeScript🥀 Carmilla Amethyst
III.

Anatomy

each token, its colour, its role

keywordconst x = "…"
variable.langthis.name
entity.type: string
entity.functionlog()
string"Carmilla"
constant.numeric42
invalidundefined_var
comment// ash mauve
variableguest
IV.

The flavors

the same theme in a different light

A flavor swaps the signature accent and re-temperatures the neutral backgrounds; the content colours — Pearl, the syntax hues, the Ash-Mauve comments — stay untouched. Amethyst was born from an orchid inspiration, #7A4186: its hue was kept exact (OKLCH ≈ 320°) and lifted into legibility — ≈ 5.2:1 (AA) on its Boudoir — while the wine backgrounds rotate from 303° to 286° at identical saturation and lightness. Pick a flavor below and watch the whole page change its light.

← All themes