# SilkCircuit Neon — Electric meets elegant
# The default theme for Opaline

[meta]
name = "SilkCircuit Neon"
author = "hyperb1iss"
variant = "dark"
version = "1.0"
description = "Electric purple and neon cyan with a dark base"

# ═══════════════════════════════════════════════════════════════════════════════
# Palette — Raw color primitives
# ═══════════════════════════════════════════════════════════════════════════════

[palette]
# Core brand colors
purple_500 = "#e135ff"
cyan_400 = "#80ffea"
coral_400 = "#ff6ac1"
yellow_400 = "#f1fa8c"
green_400 = "#50fa7b"
red_400 = "#ff6363"

# Extended palette
purple_400 = "#bd93f9"
purple_600 = "#8c1eba"
cyan_500 = "#3cb4a0"
magenta_400 = "#ff55ff"
purple_300 = "#b482ff"
pink_400 = "#ff00ff"
pink_300 = "#ff99ff"

# Backgrounds
gray_950 = "#121218"
gray_900 = "#181820"
gray_850 = "#1e1e28"
gray_800 = "#37324b"
gray_750 = "#37324b"
gray_700 = "#3c2d55"
gray_600 = "#3c3c50"

# Text colors
gray_50 = "#f8f8f2"
gray_200 = "#bcbcca"
gray_400 = "#82879f"
gray_500 = "#6e7daf"

# ═══════════════════════════════════════════════════════════════════════════════
# Tokens — Semantic color assignments
# ═══════════════════════════════════════════════════════════════════════════════

[tokens]
# Text hierarchy
"text.primary" = "gray_50"
"text.secondary" = "gray_200"
"text.muted" = "gray_400"
"text.dim" = "gray_500"

# Backgrounds
"bg.base" = "gray_950"
"bg.panel" = "gray_900"
"bg.code" = "gray_850"
"bg.highlight" = "gray_800"
"bg.elevated" = "gray_750"
"bg.active" = "gray_700"
"bg.selection" = "gray_600"

# Accent colors
"accent.primary" = "purple_500"
"accent.secondary" = "cyan_400"
"accent.tertiary" = "coral_400"
"accent.deep" = "purple_400"

# Semantic colors
success = "green_400"
error = "red_400"
warning = "yellow_400"
info = "cyan_400"

# UI elements
"border.focused" = "cyan_400"
"border.unfocused" = "gray_400"

# Code elements
"code.keyword" = "purple_500"
"code.function" = "cyan_400"
"code.string" = "pink_300"
"code.number" = "coral_400"
"code.comment" = "gray_500"
"code.type" = "yellow_400"
"code.line_number" = "gray_500"

# ═══════════════════════════════════════════════════════════════════════════════
# Styles — Composed styles with modifiers
# ═══════════════════════════════════════════════════════════════════════════════

[styles]
# Keywords and importance
keyword = { fg = "accent.primary", bold = true }

# Line numbers
line_number = { fg = "code.line_number" }

# Cursor line
cursor_line = { bg = "bg.highlight" }

# Selection states
selected = { fg = "accent.secondary", bg = "bg.highlight" }
active_selected = { fg = "accent.primary", bg = "bg.active", bold = true }

# Borders
focused_border = { fg = "border.focused" }
unfocused_border = { fg = "border.unfocused" }

# Status messages
success_style = { fg = "success" }
error_style = { fg = "error" }
warning_style = { fg = "warning" }
info_style = { fg = "info" }

# Text styles
dimmed = { fg = "text.dim" }
muted = { fg = "text.muted" }

# Inline code
inline_code = { fg = "success", bg = "bg.code" }

# ═══════════════════════════════════════════════════════════════════════════════
# Gradients — Color transitions
# ═══════════════════════════════════════════════════════════════════════════════

[gradients]
# Primary brand gradient: Electric Purple -> Neon Cyan
primary = ["purple_500", "cyan_400"]

# Warm accent gradient: Coral -> Electric Yellow
warm = ["coral_400", "yellow_400"]

# Success gradient: Green -> Cyan
success_gradient = ["green_400", "cyan_400"]

# Error gradient: Red -> Coral
error_gradient = ["red_400", "coral_400"]

# Aurora gradient (5-stop): Purple -> Pink -> Cyan
aurora = ["purple_500", "#f31bff", "#ff00ff", "#bf80f4", "cyan_400"]
