rec { # Normalized semantic colors (theme-agnostic) colors = { bg = "#2e3440"; bgAlt = "#3b4252"; surface = "#3b4252"; surfaceAlt = "#434c5e"; border = "#4c566a"; text = "#eceff4"; textMuted = "#e5e9f0"; primary = "#5e81ac"; # blue info = "#88c0d0"; # cyan/teal accent = "#b48ead"; # purple success = "#a3be8c"; # green warning = "#ebcb8b"; # yellow danger = "#bf616a"; # red }; # Shared styling tokens for CSS consumers tokens = { opacity = "opacity: 0.85;"; borderRadius = "border-radius: 1rem;"; centerOptions = '' padding-top: 0.2rem; padding-bottom: 0.2rem; padding-left: 0.5rem; padding-right: 0.5rem; margin: 3px 0; ''; borderRight = '' padding-top: 0.2rem; padding-bottom: 0.2rem; padding-left: 0.5rem; padding-right: 0.5rem; margin: 3px 0; border-radius: 0rem 1rem 1rem 0rem; margin-right: 0.5rem; ''; borderLeft = '' padding-top: 0.2rem; padding-bottom: 0.2rem; padding-left: 0.5rem; padding-right: 0.5rem; margin: 3px 0; border-radius: 1rem 0rem 0rem 1rem; margin-left: 0.5rem; ''; }; # Legacy token aliases for back-compat defaultOpacity = tokens.opacity; defaultBorderRadius = tokens.borderRadius; defaultCenterOptions = tokens.centerOptions; borderRight = tokens.borderRight; borderLeft = tokens.borderLeft; # Back-compat: Nord-shaped groups for existing modules polarNight = { nord0 = "#2e3440"; nord1 = "#3b4252"; nord2 = "#434c5e"; nord3 = "#4c566a"; }; snowStorm = { nord4 = "#d8dee9"; nord5 = "#e5e9f0"; nord6 = "#eceff4"; }; frost = { nord7 = "#8fbcbb"; nord8 = "#88c0d0"; nord9 = "#81a1c1"; nord10 = "#5e81ac"; }; aurora = { nord11 = "#bf616a"; nord12 = "#d08770"; nord13 = "#ebcb8b"; nord14 = "#a3be8c"; nord15 = "#b48ead"; }; }