
/* this is a chat gpt conversion of my nvim theme that i tweaked a little. i have no idea how much of this matters but i'm not wasting my time going through it */

/* === KENDRICK COLOR PALETTE (verbatim from the NVIM theme) === */

:root {
  /* gray family */
  --k-gray-llll: #080808; /* term 232 */
  --k-gray-lll:  #121212; /* term 233 */
  --k-gray-ll:   #262626; /* term 235 */
  --k-gray-l:    #3a3a3a; /* term 237 */
  --k-gray-ml:   #626262; /* term 241 */
  --k-gray-m:    #8a8a8a; /* term 245 */
  --k-gray-mh:   #9e9e9e; /* term 247 */
  --k-gray-h:    #b2b2b2; /* term 249 */
  --k-gray-hh:   #c6c6c6; /* term 251 */

  /* core bw + base fg/bg/cursor */
  --k-black:     #000000; /* term 16 */
  --k-white:     #ffffff; /* term 255 */
  --k-bg:        #000000;
  /*--k-bg:        var(--k-gray-lll);*/
  --k-cursor:    #808080; /* term 244 */
  --k-fg:        var(--k-gray-mh); /* fg = gray.mh */

  /* gold */
  --k-gold:      #af8700; /* term 136 */
  --k-gold-h:    #d7af00; /* term 178 */
  --k-gold-hh:   #ffd700; /* term 220 */
  --k-gold-l:    #875f00; /* term 94 */

  /* blue */
  --k-blue:      #0087ff; /* term 33  */
  --k-blue-l:    #005fd7; /* term 26  */
  /* (blue.h was commented out in theme) */

  /* purple */
  --k-purple:    #5f00d7; /* term 56 */

  /* cyan */
  --k-cyan:      #00afaf; /* term 37 */
  --k-cyan-ll:   #005f5f; /* term 23 */
  --k-cyan-l:    #008787; /* term 30 */
  --k-cyan-h:    #00d7af; /* term 43 */
  --k-cyan-hh:   #00ffff; /* term 51 */

  /* green */
  --k-green:     #5f8700; /* term 64 */
  --k-green-h:   #00af00; /* term 34 */
  --k-green-l:   #00875f; /* term 29 */

  /* orange */
  --k-orange:    #d75f00; /* term 166 */
  --k-orange-l:  #af5f00; /* term 130 */
  --k-orange-h:  #ff5f00; /* term 202 */

  /* red */
  --k-red:       #af0000; /* term 124 */
  --k-red-h:     #d70000; /* term 160 */
  --k-red-hh:    #ff0000; /* term 196 */
  --k-red-l:     #870000; /* term 88  */

  /* yellow */
  --k-yellow:    #afaf00; /* term 142 */
  --k-yellow-h:  #d7d700; /* term 184 */
  --k-yellow-hh: #ffff00; /* term 226 */
  --k-yellow-l:  #878700; /* term 100 */

  /* magenta / pink / violet */
  --k-magenta:   #af005f; /* term 125 */
  --k-pink-l:    #87005f; /* term 89  */
  --k-pink:      #af0087; /* term 126 */
  --k-pink-h:    #d70087; /* term 162 */
  --k-violet:    #5f5faf; /* term 61  */

  /* hop = pink */
  --k-hop:       var(--k-pink);

  /* ui */
  --k-ui-dark:   #1c1c1c; /* ui.dark */
  --k-ui-light:  var(--k-fg); /* ui.light = fg */

  /* punctuation / delimiters (explicit in theme) */
  --k-delim:     #585858;

  /* handy aliases you used in comments/logic */
  --k-fg-dim:    var(--k-gray-m);
  --k-fg-ml:     var(--k-gray-ml);
  --k-fg-h:      var(--k-gray-h);

  --k-bold-weight: 600;
}

/* Prism “Kendrick” — full port of your NVIM theme */

/* Comments */
.token.comment,
.token.block-comment,
.token.prolog,
.token.doctype,
.token.cdata {
   color: var(--k-fg-ml);
}

/* Punctuation / delimiters */
.token.punctuation { color: var(--k-fg); }
/* Brackets/parentheses more neutral like your @punctuation.bracket */
.token.punctuation.brace,
.token.punctuation.bracket { color: var(--k-fg); }

/* Operators (plain, like @operator link to Normal) */
.token.operator { color: var(--k-fg); }

/* ===== Core semantic groups ===== */

/* Keywords (bold blue) */
.token.keyword { color: var(--k-blue); font-weight: var(--k-bold-weight); }

/* Keyword-class plugin: specific words */
.token.keyword-async   { color: var(--k-green);  font-weight: var(--k-bold-weight); } /* @keyword.async */
.token.keyword-await   { color: var(--k-orange-l); font-weight: var(--k-bold-weight); } /* @keyword.await */
.token.keyword-return  { color: var(--k-orange-l); font-weight: var(--k-bold-weight); } /* @keyword.return */
.token.keyword-throw,
.token.keyword-break,
.token.keyword-continue { color: var(--k-orange-l); font-weight: var(--k-bold-weight); }
.token.keyword-function { color: var(--k-green); }

.token.keyword-this,
.token.keyword-self,
.token.keyword-prototype {
   color: var(--k-blue); font-weight: var(--k-bold-weight); /* @keyword.this, @variable.self */
}

/* Control-flow families you colored separately */
.token.keyword-if,
.token.keyword-else,
.token.keyword-switch,
.token.keyword-case,
.token.keyword-default {
   color: var(--k-violet); font-weight: var(--k-bold-weight); /* @conditional */
}

.token.keyword-for,
.token.keyword-while,
.token.keyword-in,
.token.keyword-of {
   color: var(--k-yellow-l); font-weight: var(--k-bold-weight); /* @repeat / loop */
}

/* Exceptions in your theme were blue/bold */
.token.keyword-try,
.token.keyword-catch,
.token.keyword-finally {
   color: var(--k-blue); font-weight: var(--k-bold-weight); /* @exception */
}

/* Booleans (bold cyan) */
.token.boolean { color: var(--k-cyan); font-weight: var(--k-bold-weight); }

/* Numbers & constants (gold) */
.token.number,
.token.constant,
.token.symbol { color: var(--k-gold); }

/* Strings (gold) */
.token.string { color: var(--k-gold); }

/* Template strings + interpolation/substitution */
.token.template-string { color: var(--k-gold); } /* @string.template */
.token.interpolation,
.token.template-punctuation.interpolation {
   color: var(--k-red-l); font-weight: 600; /* @string.template.substitution */
}

/* Regex (gold, like your @string.regex linked to Constant) */
.token.regex { color: var(--k-gold); }

.token.function { color: var(--k-fg); }
/*.token.method,*/
/*.token.function-variable { color: var(--k-green); }*/
/* Calls can pop slightly */
.token.function.call,
.token.method.call { color: var(--k-green); font-weight: 600; }

/* Parameters / variables / props (plain fg, per @variable/@lsp.type.variable/@property) */
.token.parameter,
.token.variable,
.token.property,
.token.attr-name { color: var(--k-fg); }

/* Builtins toned down (like @type.builtin / @variable.builtin) */
.token.builtin,
.token.builtin-property { color: var(--k-fg-ml); }

/* Types & classes (you had both bold-gold Type and plain @type later; we keep bold-gold for visibility) */
.token.class-name,
.token.type { color: var(--k-gold); font-weight: var(--k-bold-weight); }
/* If you prefer plain types like your later @type override, uncomment: */
/* .token.type { color: var(--k-fg); font-weight: 400; } */

/* Spread / rest (deep red), argument lists (dim gray) */
.token.spread,
.token.rest-parameter { color: var(--k-red-l); }
.token.argument,
.token.arguments { color: var(--k-fg-dim); } /* @call.arguments */

/* Destructuring hints you colored blue/gray */
.token.object,
.token.array { color: var(--k-fg-dim); } /* @object/@array */
.token.property-access,
.token.member-access { color: var(--k-blue); } /* @object.destructure/@array.destructure */

/* HTML / Markup */
.token.tag           { color: var(--k-fg); }       /* @tag.html -> Normal */
.token.tag .token.punctuation { color: var(--k-fg-ml); } /* @tag.delimiter */
.token.attr-value    { color: var(--k-gold); }      /* string-like */

/* URLs, entities */
.token.url,
.token.entity { color: var(--k-cyan); }

/* Diff-ish helpers (Diagnostic/QuickFix cues aren’t directly in Prism, but these are common) */
.token.inserted { color: var(--k-green-h); } /* DiffAdd */
.token.deleted  { color: var(--k-red); }     /* DiffDelete */
.token.changed  { color: var(--k-gold); }    /* DiffChange */

/* Errors (Error/ErrorMsg feel) */
.token.error,
.token.important { color: var(--k-red-h); font-weight: var(--k-bold-weight); }

/* Matching paren vibes (you used MatchParen = cyan.h bold) */
.token.punctuation.brace.match,
.token.punctuation.bracket.match {
   color: var(--k-cyan-h); font-weight: var(--k-bold-weight);
}

