/* ==UserStyle==
@name           HackerNews Catppuccin
@namespace      github.com/catppuccin/userstyles/styles/hacker-news
@version        0.1.1
@description    Soothing pastel theme for HackerNews
@author         Catppuccin
@updateURL      https://github.com/catppuccin/userstyles/raw/main/styles/hacker-news/catppuccin.user.css
@preprocessor   less
@var select theme "Theme" ["latte:Latte", "frappe:Frappe", "macchiato:Macchiato", "mocha:Mocha*"]
==/UserStyle== */
@-moz-document url-prefix("https://news.ycombinator.com") {
  @catppuccin: {
    @latte: {
      @rosewater: #dc8a78;
      @flamingo: #dd7878;
      @pink: #ea76cb;
      @mauve: #8839ef;
      @red: #d20f39;
      @maroon: #e64553;
      @peach: #fe640b;
      @yellow: #df8e1d;
      @green: #40a02b;
      @teal: #179299;
      @sky: #04a5e5;
      @sapphire: #209fb5;
      @blue: #1e66f5;
      @lavender: #7287fd;
      @text: #4c4f69;
      @subtext1: #5c5f77;
      @subtext0: #6c6f85;
      @overlay2: #7c7f93;
      @overlay1: #8c8fa1;
      @overlay0: #9ca0b0;
      @surface2: #acb0be;
      @surface1: #bcc0cc;
      @surface0: #ccd0da;
      @base: #eff1f5;
      @mantle: #e6e9ef;
      @crust: #dce0e8;
    }
    @frappe: {
      @rosewater: #f2d5cf;
      @flamingo: #eebebe;
      @pink: #f4b8e4;
      @mauve: #ca9ee6;
      @red: #e78284;
      @maroon: #ea999c;
      @peach: #ef9f76;
      @yellow: #e5c890;
      @green: #a6d189;
      @teal: #81c8be;
      @sky: #99d1db;
      @sapphire: #85c1dc;
      @blue: #8caaee;
      @lavender: #babbf1;
      @text: #c6d0f5;
      @subtext1: #b5bfe2;
      @subtext0: #a5adce;
      @overlay2: #949cbb;
      @overlay1: #838ba7;
      @overlay0: #737994;
      @surface2: #626880;
      @surface1: #51576d;
      @surface0: #414559;
      @base: #303446;
      @mantle: #292c3c;
      @crust: #232634;
    }
    @macchiato: {
      @rosewater: #f4dbd6;
      @flamingo: #f0c6c6;
      @pink: #f5bde6;
      @mauve: #c6a0f6;
      @red: #ed8796;
      @maroon: #ee99a0;
      @peach: #f5a97f;
      @yellow: #eed49f;
      @green: #a6da95;
      @teal: #8bd5ca;
      @sky: #91d7e3;
      @sapphire: #7dc4e4;
      @blue: #8aadf4;
      @lavender: #b7bdf8;
      @text: #cad3f5;
      @subtext1: #b8c0e0;
      @subtext0: #a5adcb;
      @overlay2: #939ab7;
      @overlay1: #8087a2;
      @overlay0: #6e738d;
      @surface2: #5b6078;
      @surface1: #494d64;
      @surface0: #363a4f;
      @base: #24273a;
      @mantle: #1e2030;
      @crust: #181926;
    }
    @mocha: {
      @rosewater: #f5e0dc;
      @flamingo: #f2cdcd;
      @pink: #f5c2e7;
      @mauve: #cba6f7;
      @red: #f38ba8;
      @maroon: #eba0ac;
      @peach: #fab387;
      @yellow: #f9e2af;
      @green: #a6e3a1;
      @teal: #94e2d5;
      @sky: #89dceb;
      @sapphire: #74c7ec;
      @blue: #89b4fa;
      @lavender: #b4befe;
      @text: #cdd6f4;
      @subtext1: #bac2de;
      @subtext0: #a6adc8;
      @overlay2: #9399b2;
      @overlay1: #7f849c;
      @overlay0: #6c7086;
      @surface2: #585b70;
      @surface1: #45475a;
      @surface0: #313244;
      @base: #1e1e2e;
      @mantle: #181825;
      @crust: #11111b;
    }
  }

  #catppuccin(@theme);

  #catppuccin(@lookup) {
    @rosewater: @catppuccin[@@lookup][@rosewater];
    @flamingo: @catppuccin[@@lookup][@flamingo];
    @pink: @catppuccin[@@lookup][@pink];
    @mauve: @catppuccin[@@lookup][@mauve];
    @red: @catppuccin[@@lookup][@red];
    @maroon: @catppuccin[@@lookup][@maroon];
    @peach: @catppuccin[@@lookup][@peach];
    @yellow: @catppuccin[@@lookup][@yellow];
    @green: @catppuccin[@@lookup][@green];
    @teal: @catppuccin[@@lookup][@teal];
    @sky: @catppuccin[@@lookup][@sky];
    @sapphire: @catppuccin[@@lookup][@sapphire];
    @blue: @catppuccin[@@lookup][@blue];
    @lavender: @catppuccin[@@lookup][@lavender];
    @text: @catppuccin[@@lookup][@text];
    @subtext1: @catppuccin[@@lookup][@subtext1];
    @subtext0: @catppuccin[@@lookup][@subtext0];
    @overlay2: @catppuccin[@@lookup][@overlay2];
    @overlay1: @catppuccin[@@lookup][@overlay1];
    @overlay0: @catppuccin[@@lookup][@overlay0];
    @surface2: @catppuccin[@@lookup][@surface2];
    @surface1: @catppuccin[@@lookup][@surface1];
    @surface0: @catppuccin[@@lookup][@surface0];
    @base: @catppuccin[@@lookup][@base];
    @mantle: @catppuccin[@@lookup][@mantle];
    @crust: @catppuccin[@@lookup][@crust];

    /* Main background */
    #hnmain {
      background-color: @base;
    }
    /* Main body padding background */
    body {
      background-color: @base;
    }


    /* Background of the FAQ and main page */
    body > center > table > tbody > tr > td {
      background-color: @base;
      color: @text;
    }



    /* Top bar */
    #hnmain > tbody > tr:nth-child(1) > td {
      background-color: @peach;
    }

    /* Hacker News text in top bar */
    #hnmain > tbody > tr:nth-child(1) > td > table > tbody > tr > td:nth-child(2) > span > b > a {
      color: @surface0;
    }

    /* Logged-in user karma */
    #karma {
      color: @surface1;
    }

    /* Separator characters around logged-in user karma */
    #hnmain > tbody > tr:nth-child(1) > td > table > tbody > tr > td:nth-child(3) > span {
      color: @surface1;
    }

    /* Visited top bar links */
    .pagetop a:visited {
      color: @surface1;
    }

    /* Unvisited top bar links */
    .pagetop a:link {
      color: @surface0;
    }

    /* Links */
    a:link {
      color: @blue;
    }

    /* More link */
    .hnmore a:link,
    a:visited {
      color: @lavender;
    }

    /* New user color */
    .hnuser > font {
      color: @green;
    }

    /* Story site link */
    .comhead a:link,
    .subtext a:visited {
      color: @peach;
    }

    /* Story points */
    .score {
      color: @subtext0;
    }

    /* Story ranking number */
    .title {
      color: @lavender;
    }

    /* Comment text */
    .commtext {
      color: @text;
    }

    /* Comment hyperlinks */
    .commtext a:link {
      color: @sapphire;
    }

    /* Comment box */
    textarea,
    input {
      background-color: @surface0;
      color: @text;
      border-color: @teal;
    }

    /* Poll questions */
    td.comment > div > font {
      color: @text;
    }

    /* Bottom footer separator bar */
    #hnmain > tbody > tr:nth-child(4) > td > table > tbody > tr > td {
      background-color: @base;
    }

    /* Search bar text field */
    #hnmain > tbody > tr:nth-child(4) > td > center:nth-child(6) > form > input[type=text] {
      background-color: @surface0;
    }

    /* Search bar text  */
    #hnmain > tbody > tr:nth-child(4) > td > center:nth-child(6) > form {
      color: @text;
    }

    /* FAQ Questions */
    body > center > table > tbody > tr > td > p > b {
      color: @subtext1;
    }

    /* FAQ Header */
    body > center > table > tbody > tr > td > b {
      color: @subtext1;
    }

    /* Text post content */
    .toptext {
      color: @text;
    }

    /* Replace vote arrow with svg arrow and mask */
    .votearrow {
      background-image: url("data:image/svg+xml,%3C!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.1//EN' 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd' %5B %3C!ENTITY ns_svg 'http://www.w3.org/2000/svg'%3E%3C!ENTITY ns_xlink 'http://www.w3.org/1999/xlink'%3E%0A%5D%3E%3Csvg xmlns='&ns_svg;' width='10' height='10' viewBox='0 0 10 10' fill-opacity='0' xml:space='preserve'%3E%3Cpolygon points='0,10 5,1 10,10 '/%3E%3C/svg%3E%0A");
      -webkit-mask-image: url("data:image/svg+xml,%3C!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.1//EN' 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd' %5B %3C!ENTITY ns_svg 'http://www.w3.org/2000/svg'%3E%3C!ENTITY ns_xlink 'http://www.w3.org/1999/xlink'%3E%0A%5D%3E%3Csvg xmlns='&ns_svg;' width='10' height='10' viewBox='0 0 10 10' fill='black' xml:space='preserve'%3E%3Cpolygon points='0,10 5,1 10,10 '/%3E%3C/svg%3E%0A");
      mask-image: url("data:image/svg+xml,%3C!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.1//EN' 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd' %5B %3C!ENTITY ns_svg 'http://www.w3.org/2000/svg'%3E%3C!ENTITY ns_xlink 'http://www.w3.org/1999/xlink'%3E%0A%5D%3E%3Csvg xmlns='&ns_svg;' width='10' height='10' viewBox='0 0 10 10' fill='black' xml:space='preserve'%3E%3Cpolygon points='0,10 5,1 10,10 '/%3E%3C/svg%3E%0A");
      background-color: @subtext0;
      height: 8;
    }
  }
}