opaline 0.4.1

A token-based theme engine for Rust applications
Documentation
# Everforest Light — Comfortable green forest theme for bright environments
# https://github.com/sainnhe/everforest

[meta]
name = "Everforest Light"
author = "sainnhe"
variant = "light"
version = "1.0"
description = "Warm green forest palette for daylight coders"

[palette]
# Backgrounds (medium contrast)
bg0 = "#FDF6E3"
bg1 = "#F4F0D9"
bg2 = "#EFEBD4"
bg3 = "#E6E2CC"
bg4 = "#E0DCC7"
bg5 = "#BDC3AF"

# Foreground
fg = "#5C6A72"

# Accent colors — darkened from upstream Everforest for cream-bg readability
red = "#D14545"
orange = "#C05E15"
yellow = "#A88300"
green = "#6B7D00"
aqua = "#268A62"
blue = "#2F80AE"
purple = "#B84E95"

# Grey scale — darkened for light background contrast
grey0 = "#8B9684"
grey1 = "#758573"
grey2 = "#617161"

[tokens]
"text.primary" = "fg"
"text.secondary" = "grey2"
"text.muted" = "grey1"
"text.dim" = "grey0"

"bg.base" = "bg0"
"bg.panel" = "bg1"
"bg.code" = "bg2"
"bg.highlight" = "bg2"
"bg.elevated" = "bg3"
"bg.active" = "bg4"
"bg.selection" = "bg3"

"accent.primary" = "green"
"accent.secondary" = "blue"
"accent.tertiary" = "aqua"
"accent.deep" = "purple"

success = "green"
error = "red"
warning = "yellow"
info = "blue"

"border.focused" = "green"
"border.unfocused" = "grey1"

"code.keyword" = "red"
"code.function" = "blue"
"code.string" = "green"
"code.number" = "orange"
"code.comment" = "grey1"
"code.type" = "yellow"
"code.line_number" = "grey0"

[styles]
keyword = { fg = "accent.primary", bold = true }
line_number = { fg = "code.line_number" }
cursor_line = { bg = "bg.highlight" }
selected = { fg = "accent.secondary", bg = "bg.highlight" }
active_selected = { fg = "accent.primary", bg = "bg.active", bold = true }
focused_border = { fg = "border.focused" }
unfocused_border = { fg = "border.unfocused" }
success_style = { fg = "success" }
error_style = { fg = "error" }
warning_style = { fg = "warning" }
info_style = { fg = "info" }
dimmed = { fg = "text.dim" }
muted = { fg = "text.muted" }
inline_code = { fg = "success", bg = "bg.code" }

[gradients]
primary = ["green", "blue"]
warm = ["orange", "yellow"]
success_gradient = ["green", "aqua"]
error_gradient = ["red", "orange"]
aurora = ["green", "aqua", "blue", "purple", "red"]