/* ==UserStyle==
@name Hoogle Catppuccin
@namespace github.com/Sebagabones/userstyles/styles/hoogle
@homepageURL https://github.com/Sebagabones/userstyles/tree/main/styles/hoogle
@version 2025.09.06
@updateURL https://github.com/Sebagabones/userstyles/raw/main/styles/hoogle/catppuccin.user.less
@supportURL https://github.com/Sebagabones/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Ahoogle
@description Soothing pastel theme for Hoogle
@author Catppuccin
@license MIT
@preprocessor less
@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappé", "macchiato:Macchiato", "mocha:Mocha"]
@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappé", "macchiato:Macchiato", "mocha:Mocha*"]
@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"]
==/UserStyle== */
@import "https://raw.githubusercontent.com/Sebagabones/userstyles/refs/heads/main/lib/lib.less";
@-moz-document domain("hoogle.haskell.org") {
:root {
@media (prefers-color-scheme: light) {
#catppuccin(@lightFlavor);
}
@media (prefers-color-scheme: dark) {
#catppuccin(@darkFlavor);
}
}
#catppuccin(@flavor) {
#lib.palette();
#lib.defaults();
a {
color: @accent;
&:hover {
background-color: @surface0;
}
}
body {
background-color: @base;
color: @text;
}
/*
* Top
*/
#links {
background-color: @accent;
color: @surface1;
border-color: shade(@accent, 25%);
}
#top-menu li {
border-color: @crust;
a,
a:visited,
a:link {
color: @base;
}
a:hover {
background-color: fade(@overlay0, 30%);
}
}
#logo {
img {
@svg: escape(
''
);
content: url("data:image/svg+xml,@{svg}");
}
&:hover {
background-color: transparent;
}
}
#hoogle,
#scope,
#submit {
background-color: @mantle;
color: @subtext1;
border-style: solid;
border-width: 2px;
border-color: @surface0;
border-radius: 4px;
}
.chosen-container {
.chosen-drop {
background-color: @mantle;
border-color: @surface0;
}
.chosen-single {
background-image: none;
background-color: @mantle;
box-shadow: none;
border-style: solid;
border-width: 2px;
border-color: @surface0;
color: @subtext1;
}
.chosen-default {
color: @crust;
}
.chosen-search input {
border-color: @surface1;
border-radius: 4px;
}
.chosen-results {
color: @subtext1;
li.disabled-result {
color: @overlay0;
}
li.highlighted {
background-image: none;
background-color: @accent;
color: @base;
}
li.no-results {
color: @subtext1;
background-color: @mantle;
}
}
}
/*
* Left
*/
#left {
a {
color: @accent;
}
.plus {
@svg: escape(
''
);
background-image: url("data:image/svg+xml,@{svg}");
color: @green;
}
.minus {
@svg: escape(
''
);
background-image: url("data:image/svg+xml,@{svg}");
color: @red;
}
}
/*
* Footer
*/
#footer {
background-color: @crust;
color: @subtext1;
border-color: @overlay0;
}
/*
* Other
*/
.error {
border-color: @red;
}
#example {
background-color: @mantle;
color: @subtext1;
border-color: @surface0;
}
/*
* Results
*/
.result.active {
background-color: @mantle;
}
.ans {
background-color: @mantle;
border-color: @surface0;
a {
color: @subtext1;
}
.name {
color: @accent;
}
}
.links a {
color: @overlay1;
}
.from a,
.p1,
.p2 {
color: @green;
}
.doc,
.doc a {
color: @subtext1;
}
.open {
@svg: escape(
''
);
background-image: url("data:image/svg+xml,@{svg}");
}
.shut {
@svg: escape(
''
);
background-image: url("data:image/svg+xml,@{svg}");
}
.c0 {
background-color: @rosewater;
}
.c1 {
background-color: @green;
}
.c2 {
background-color: @lavender;
}
.c3 {
background-color: @yellow;
}
.c4 {
background-color: @pink;
}
.c5 {
background-color: @teal;
}
}
}