/* ==UserStyle== @name Have I Been Pwned Catppuccin @namespace github.com/catppuccin/userstyles/styles/have-i-been-pwned @homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/have-i-been-pwned @version 2025.09.06 @updateURL https://github.com/catppuccin/userstyles/raw/main/styles/have-i-been-pwned/catppuccin.user.less @supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Ahave-i-been-pwned @description Soothing pastel theme for Have I Been Pwned @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://userstyles.catppuccin.com/lib/lib.less"; @-moz-document domain("haveibeenpwned.com") { :root { @media (prefers-color-scheme: light) { #catppuccin(@lightFlavor); } @media (prefers-color-scheme: dark) { #catppuccin(@darkFlavor); } } #catppuccin(@flavor) { #lib.palette(); #lib.defaults(); body { background-color: @base; color: @text; } hr { border-color: @surface0; } a { &, &:hover, &:focus { color: @text; border-bottom-color: @surface2; } &:hover { background-color: fade(@accent, 30%); } } img.pwnLogo.large.modalLogo { filter: @text-filter; } .bodyGradient { color: @text; } .modal-header { background: @crust; .close { color: @text; } } .fa-loader, .loaderText { color: @text; } #postNotificationCallsToAction { .btn { background-color: @crust; color: @text; } a.socialLink { &, &:link, &:visited { color: @text; } } } .modal-content { background-color: @base; border-color: @surface0; } .main { background-color: @mantle; color: @text; } .main-logo .logo { border-color: @accent; background-color: fade(@accent, 30%); } .pwnedCompanyList { a, a:hover { color: @text; border-bottom-color: @surface2; } td { color: @subtext0; } } footer { a, p { color: @subtext0; } } .unverified { &, a { color: darken(@red, 50%) !important; border-bottom-color: darken(@red, 50%) !important; } } .navbar-inverse { border-color: @surface0; background-color: @crust; .navbar-toggle { border-color: @surface0; &:hover, &:focus { background-color: @surface0; } .icon-bar { background-color: @text; } } .navbar-brand { color: @text; border-color: @text !important; } li.active > a { &, &:hover, &:focus { color: @text; background-color: @crust; } } li > a { color: @subtext0; &:hover, &:focus { color: @text; } } } img.pwnLogo { &[src$="/List.png"], &[src$="/Email.png"] { filter: @text-filter; } } .form-control { background-color: @crust; color: @text; border-color: @surface0 !important; &:focus { box-shadow: 0 0 8px fade(@accent, 30%); } } .btn-primary { color: @text; background-color: @crust; border-color: @surface0 !important; &:hover { background-color: fade(@accent, 30%); } } .btn-success { background-color: @green; color: @base; border-color: @surface0; } .progress-bar { background-color: @accent; } .form-group .termsOfUse { background-color: @base; } .termsOfUse { background-color: @mantle; &, a { color: @subtext0; border-bottom-color: @surface2; } } .secondaryHeader { background-color: @mantle; } .sensitive { color: @yellow; } .sensitive-fade { color: @subtext0; } .panel-primary { border-color: @surface0; > .panel-heading, > .panel-footer { color: @text; border-color: @surface0; background-color: @mantle; } } #noPwnage { background: @green; a.socialLink { color: @base !important; } } #invalidAccount { background: @yellow; } #pwnedWebsitesContainer { hr { border-color: @surface0; } > .pwnedRow { background: @red; .pwnedWebsite { color: @base; a { color: @base; border-bottom-color: @base; &:hover { background-color: transparent !important; } } } } a.socialLink { color: @base !important; } } .pwnResultBanner { color: @base; a { color: @base; border-bottom-color: @base !important; &:hover { background-color: transparent !important; } } } #Cloudflare img { @svg: escape( '' ); content: url("data:image/svg+xml,@{svg}"); } pre, code { background-color: @mantle; color: @text; border-color: @surface0; } thead tr { border-color: @surface0; } .bitcoinAddress { background-color: @mantle; color: @text; } .bg-info { background-color: @mantle; color: @text; } .subscriptions { .rpm10 { border-color: @teal; h4, h5, .price { background-color: @teal; color: @base; } } .rpm50 { border-color: @green; h4, h5, .price { background-color: @green; color: @base; } } .rpm100 { border-color: @yellow; h4, h5, .price { background-color: @yellow; color: @base; } } .rpm500 { border-color: @peach; h4, h5, .price { background-color: @peach; color: @base; } } .description { color: @text; } } .finePrint { color: @text; } .table-bordered { &, th, td { border-color: @surface0; } } .dropdown-menu { background-color: @base; > li > a { &:hover, &:focus { background-color: @mantle; } } } @media (min-width: 768px) { ul.nav li.dropdown:hover { background-color: @base; } } @media (max-width: 480px) { #searchContainer { background-color: @mantle; } } } }