Files
ObsidianDragon/res/themes/obsidian.toml
DanS 1c5bc0d4d6 fix(theme): per-skin legibility polish from the sweep review
Address the high-severity, systemic legibility issues found in the per-skin
screenshot review (verified across all 9 skins):

- Status pills (history): "Confirmed" text was 55%-alpha (dim); make it full
  opacity, and give status/shield pills a visible tinted fill (a48) + 1px border
  (a90) so they stop vanishing on dark-red / near-white / gradient skins.
- Console light theming: light skins now use a near-white terminal surface, and
  the log text/JsonBrace colors switch to the dark defaults in light themes (the
  schema colors are dark-terminal-authored — honor them only in dark themes) so
  text isn't pale-on-white.
- Dark-skin muted text: bump --on-surface-medium 0.85 / --on-surface-disabled
  0.58 on dragonx/dark/color-pop-dark/obsidian (obsidian addresses were ~1.1:1).
- Disabled Send button: the disabled fill was hardcoded white (invisible on
  light skins) — use a dark overlay in light themes.
- Light-skin inputs: stronger frame fill + border color and a 1px frame border
  for light themes so fields (and buttons) have defined boundaries on white/
  pastel surfaces.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-04 23:33:48 -05:00

167 lines
6.1 KiB
TOML

[theme]
name = "Obsidian"
author = "The Hush Developers"
dark = true
elevation = { --elevation-0 = "#0E0B14", --elevation-1 = "#17121E", --elevation-2 = "#252030", --elevation-3 = "#2D2838", --elevation-4 = "#353040" }
images = { background_image = "backgrounds/texture/obsidian_bg.png", logo = "logos/logo_ObsidianDragon_dark.png" }
[theme.palette]
--primary = "#9A6BA8"
--primary-variant = "#7A4888"
--primary-light = "#C5A8CC"
--secondary = "#A898D8"
--secondary-variant = "#8074C8"
--secondary-light = "#CCC4D9"
--background = "#0A0810"
--surface = "#110E18"
--surface-variant = "#252030"
--on-primary = "#FFFFFF"
--on-secondary = "#000000"
--on-background = "#E8E0F0"
--on-surface = "#E8E0F0"
--on-surface-medium = "rgba(232,224,240,0.85)"
--on-surface-disabled = "rgba(232,224,240,0.58)"
--error = "#CF6679"
--on-error = "#000000"
--success = "#81C784"
--on-success = "#000000"
--warning = "#FFB74D"
--on-warning = "#000000"
--divider = "rgba(200,180,255,0.14)"
--outline = "rgba(200,180,255,0.16)"
--scrim = "rgba(0,0,0,0.6)"
--surface-hover = "rgba(200,180,255,0.07)"
--surface-alt = "rgba(200,180,255,0.05)"
--surface-active = "rgba(200,180,255,0.10)"
--glass-button = "rgba(200,180,255,0.06)"
--glass-button-hover = "rgba(200,180,255,0.12)"
--card-border = "rgba(200,180,255,0.26)"
--text-shadow = "rgba(0,0,0,0.50)"
--input-overlay-text = "rgba(232,224,240,0.30)"
--slider-text = "rgba(232,224,240,0.85)"
--thumb-fill = "rgba(200,180,255,0.15)"
--thumb-border = "rgba(200,180,255,0.50)"
--disabled-label = "rgba(200,180,255,0.18)"
--chart-grid = "rgba(200,180,255,0.05)"
--chart-crosshair = "rgba(200,180,255,0.15)"
--chart-hover-ring = "rgba(200,180,255,0.30)"
--tooltip-bg = "rgba(14,11,20,0.92)"
--tooltip-border = "rgba(200,180,255,0.12)"
--glass-fill = "rgba(200,180,255,0.08)"
--glass-border = "rgba(154,107,168,0.30)"
--glass-noise-tint = "rgba(200,180,255,0.03)"
--tactile-top = "rgba(200,180,255,0.06)"
--tactile-bottom = "rgba(200,180,255,0.0)"
--hover-overlay = "rgba(200,180,255,0.05)"
--active-overlay = "rgba(200,180,255,0.10)"
--rim-light = "rgba(200,180,255,0.14)"
--status-divider = "rgba(200,180,255,0.08)"
--sidebar-hover = "rgba(200,180,255,0.10)"
--sidebar-icon = "rgba(200,180,255,0.42)"
--sidebar-badge = "rgba(232,224,240,1.0)"
--sidebar-divider = "rgba(200,180,255,0.06)"
--chart-line = "rgba(200,180,255,0.10)"
--window-control = "rgba(232,224,240,0.78)"
--window-control-hover = "rgba(200,180,255,0.12)"
--window-close-hover = "rgba(232,17,35,0.78)"
--spinner-track = "rgba(200,180,255,0.10)"
--spinner-active = "rgba(168,152,216,0.85)"
--shutdown-panel-bg = "rgba(10,8,16,0.90)"
--shutdown-panel-border = "rgba(200,180,255,0.07)"
--ram-bar-app = "#9A6BA8"
--ram-bar-system = "rgba(255,255,255,0.18)"
--accent-total = "#C5A8CC"
--accent-shielded = "#8AB8B4"
--accent-transparent = "#D8B0A0"
--accent-action = "#9A6BA8"
--accent-market = "#8AB8B4"
--accent-portfolio = "#A898D8"
--toast-info-accent = "#9A6BA8"
--toast-info-text = "#C5A8CC"
--toast-success-accent = "rgba(50,180,80,1.0)"
--toast-success-text = "rgba(180,255,180,1.0)"
--toast-warning-accent = "rgba(204,166,50,1.0)"
--toast-warning-text = "rgba(255,230,130,1.0)"
--toast-error-accent = "rgba(204,64,64,1.0)"
--toast-error-text = "rgba(255,153,153,1.0)"
--snackbar-bg = "rgba(40,35,55,0.95)"
--snackbar-text = "rgba(232,224,240,0.87)"
--snackbar-action = "rgba(168,152,216,1.0)"
--snackbar-action-hover = "rgba(197,168,204,1.0)"
--switch-track-off = "rgba(200,180,255,0.12)"
--switch-track-on = "rgba(154,107,168,0.50)"
--switch-thumb-off = "#B0A0C0"
--switch-thumb-on = "#E8E0F0"
--control-shadow = "rgba(0,0,0,0.24)"
--checkbox-check = "#000000"
--app-bar-shadow = "rgba(0,0,0,0.25)"
[backdrop]
base-color-top = "rgba(22,14,40,210)"
base-color-bottom = "rgba(10,6,22,210)"
texture-tint-alpha = 130
gradient-top-r = 18
gradient-top-g = 10
gradient-top-b = 35
gradient-top-a = 90
gradient-bottom-r = 8
gradient-bottom-g = 4
gradient-bottom-b = 18
gradient-bottom-a = 70
background-alpha = 0.42
surface-alpha = 0.52
frame-alpha = 0.74
surface-inline-alpha = 0.55
background-inline-alpha = 0.38
# ---------------------------------------------------------------------------
# Theme Visual Effects — Obsidian (volcanic glass sheen)
# Specular glare highlights drift slowly across panels like light
# reflecting off polished volcanic glass — mysterious, restrained.
# ---------------------------------------------------------------------------
[effects]
hue-cycle-enabled = { size = 0.0 }
rainbow-border-enabled = { size = 0.0 }
# No shimmer sweep — replaced by specular glare
shimmer-enabled = { size = 0.0 }
positional-hue-enabled = { size = 0.0 }
glow-pulse-enabled = { size = 0.0 }
edge-trace-enabled = { size = 0.0 }
# Specular glare — soft blurred obsidian highlights
specular-glare-enabled = { size = 1.0 }
specular-glare-speed = { size = 0.018 }
specular-glare-intensity = { size = 0.008 }
specular-glare-radius = { size = 0.65 }
specular-glare-count = { size = 1.0 }
specular-glare-color = { color = "rgba(200,180,240,1.0)" }
# Gem-like color-shifting border on active sidebar button
gradient-border-enabled = { size = 1.0 }
gradient-border-speed = { size = 0.12 }
gradient-border-thickness = { size = 1.5 }
gradient-border-alpha = { size = 0.55 }
gradient-border-color-a = { color = "#C5A8CC" }
gradient-border-color-b = { color = "#6878A8" }
ember-rise-enabled = { size = 0.0 }
# Shader-like viewport overlay — deep indigo crystal atmosphere
viewport-wash-enabled = { size = 1.0 }
viewport-wash-alpha = { size = 0.05 }
viewport-wash-tl = { color = "#3A2860" }
viewport-wash-tr = { color = "#2A3058" }
viewport-wash-bl = { color = "#302860" }
viewport-wash-br = { color = "#4A3068" }
viewport-wash-rotate = { size = 0.015 }
viewport-wash-pulse = { size = 0.0 }
viewport-wash-pulse-depth = { size = 0.0 }
viewport-vignette-enabled = { size = 1.0 }
viewport-vignette-color = { color = "#0D0015" }
viewport-vignette-radius = { size = 0.22 }
viewport-vignette-alpha = { size = 0.15 }