From 4ce499c9ccd33cc4a34b2d93ca91f13641a2c3c5 Mon Sep 17 00:00:00 2001
From: Kasper Vaessen <kasper.vaessen@oulu.fi>
Date: Thu, 13 Oct 2016 21:37:00 +0300
Subject: [PATCH] Base16 theme bugfixes and improvements

---
 css/themes/base16-default.css     | 648 +++++++++++++++++++++++++++---
 css/themes/base16-mocha-light.css |  20 -
 js/glowingbear.js                 |   2 +-
 3 files changed, 597 insertions(+), 73 deletions(-)
 delete mode 100644 css/themes/base16-mocha-light.css

diff --git a/css/themes/base16-default.css b/css/themes/base16-default.css
index eaa1229..9b6547a 100644
--- a/css/themes/base16-default.css
+++ b/css/themes/base16-default.css
@@ -21,14 +21,41 @@ body {
     background-color: var(--base00);
     color: var(--base05);
 }
+tr.bufferline {
+    line-height: 1.4;
+}
 
-a {
+a:link {
     color: var(--base0D);
 }
 
-a:active, a:hover {
+a:visited {
+    color: var(--base0E);
+}
+
+#topbar .actions > a:visited {
     color: var(--base0D);
+}
+
+a:hover, a:active, a:focus,
+#nicklist a:hover, #nicklist a:active, #nicklist a:focus {
+    color: var(--base0D);
+}
+
+a:hover, a:active, a:focus,
+#nicklist a:hover, #nicklist a:active, #nicklist a:focus {
     background-color: var(--base03);
+    text-decoration: underline;
+}
+
+a:visited:hover, a:visited:active, a:visited:focus {
+    color: var(--base0E);
+}
+
+#topbar a:hover, #topbar a:active,
+#topbar .actions > a:hover > i,
+#topbar .actions > a:active > i {
+    background-color: var(--base01);
 }
 
 .form-control {
@@ -38,6 +65,12 @@ a:active, a:hover {
     border: 0px none;
 }
 
+.form-control:focus {
+    color: var(--base06);
+    box-shadow: 0px 1px 0px rgba(255, 255, 255, 0.1), 0px 1px 7px 0px rgba(0, 0, 0, 0.2) inset;
+    background: var(--base02);
+}
+
 .form-control option {
     color: var(--base05);
     background: var(--base01);
@@ -53,31 +86,70 @@ html {
 }
 
 /* fix for mobile firefox which ignores :hover */
-.nav-pills > li > a:active,
-.nav-pills > li > a:active span,
 .nav-pills > li > a:hover,
-.nav-pills > li > a:hover span,
+.nav-pills > li > a:active,
+.nav-pills > li > a:focus,
 .nav-pills > li.active > a:hover,
-.nav-pills > li.active > a:hover span {
+.nav-pills > li.active > a:active,
+.nav-pills > li.active > a:focus,
+.nav-pills > li.notification > a:hover,
+.nav-pills > li.notification > a:active,
+.nav-pills > li.notification > a:focus {
     background-color: var(--base03);
-    color: var(--base07);
+}
+
+.nav-pills > li > a:hover span,
+.nav-pills > li > a:active span,
+.nav-pills > li > a:focus span,
+.nav-pills > li.active > a:hover span,
+.nav-pills > li.active > a:active span,
+.nav-pills > li.active > a:focus span {
+    color: var(--base06);
+    background-color: transparent;
 }
 
 .nav-pills > li.buffer.channel a span:last-of-type:before {
     color: var(--base04);
 }
 
-.nav-pills > li.buffer.channel a:hover span:last-of-type:before, .nav-pills > li.buffer.channel.active a:hover span:last-of-type:before {
-    color: var(--base06);
+.nav-pills > li.buffer.channel a:hover span:last-of-type:before,
+.nav-pills > li.buffer.channel.active a:hover span:last-of-type:before,
+.nav-pills > li.buffer.channel a:active span:last-of-type:before,
+.nav-pills > li.buffer.channel.active a:active span:last-of-type:before,
+.nav-pills > li.buffer.channel a:focus span:last-of-type:before,
+.nav-pills > li.buffer.channel.active a:focus span:last-of-type:before {
+    color: var(--base04);
 }
 
 .nav-pills > li.active > a {
+    font-weight: bold;
     background-color: var(--base0E);
     color: var(--base01);
 }
 
+.nav-pills > li.notification > a {
+    font-weight: bold;
+    background-color: var(--base0B);
+    color: var(--base00);
+}
+
+.nav-pills > li.unread > a {
+    font-weight: bold;
+    color: var(--base06);
+}
+
+.nav-pills > li.unread > a:hover span,
+.nav-pills > li.unread > a:active span,
+.nav-pills > li.unread > a:focus span,
+.nav-pills > li.notification > a:hover span,
+.nav-pills > li.notification > a:active span,
+.nav-pills > li.notification > a:focus span {
+    color: var(--base07);
+    background-color: transparent;
+}
+
 .nav-pills > li.buffer.channel.active a span:last-of-type:before {
-    color: var(--base01);
+    color: var(--base02);
 }
 
 .nav-pills li:nth-child(2n) {
@@ -89,14 +161,13 @@ html {
 }
 
 tr.bufferline:hover {
-    background-color: var(--base00);
+    background-color: transparent;
 } 
 
 .danger,
 .alert-danger,
 .badge .alert-danger,
-.badge.danger,
-.nav-pills > li > a > .badge.danger {
+.badge.danger {
     background-color: var(--base08);
     color: var(--base00);
 }
@@ -157,10 +228,6 @@ tr.bufferline:hover {
     color: var(--base01);
 }
 
-li.notification {
-    color: var(--base0B);
-}
-
 ::-webkit-scrollbar-track-piece  {
     background-color: var(--base00);
 }
@@ -182,12 +249,30 @@ input[type=text], input[type=password], #sendMessage, .btn-send, .btn-send-image
     background: var(--base01);
 }
 
+input[type=text]::-webkit-input-placeholder, input[type=password]::-webkit-input-placeholder { /* Chrome/Opera/Safari */
+    color: var(--base04);
+}
+input[type=text]::-moz-placeholder, input[type=password]::-moz-placeholder { /* Firefox 19+ */
+    color: var(--base04);
+}
+input[type=text]:-ms-input-placeholder, input[type=password]:-ms-input-placeholder { /* IE 10+ */
+    color: var(--base04);
+}
+input[type=text]:-moz-placeholder, input[type=password]:-moz-placeholder { /* Firefox 18- */
+    color: var(--base04);
+}
+
 .badge,
 .nav-pills > li > a > span.badge {
     color: var(--base06);
     background: var(--base02);
 }
 
+.nav-pills > li > a > span.badge.danger {
+    color: var(--base00);
+    background: var(--base08);
+}
+
 .btn-send:hover, .btn-send:focus,
 .btn-send-image:hover, .btn-send-image:focus {
     background-color: var(--base07);
@@ -206,13 +291,20 @@ input[type=text], input[type=password], #sendMessage, .btn-send, .btn-send-image
     color: var(--base0D);
 }
 
-#topbar .actions {
-    background: var(--base01);
-    color: var(--base04);
+#topbar {
+    background: var(--base02);
+    color: var(--base05);
 }
 
-#topbar {
-    background: var(--base01);
+#topbar .actions {
+    background: var(--base02);
+}
+
+#topbar .actions > a {
+    background: transparent;
+}
+
+#topbar > .title > span:last-of-type:before {
     color: var(--base04);
 }
 
@@ -220,10 +312,6 @@ input[type=text], input[type=password], #sendMessage, .btn-send, .btn-send-image
     background: var(--base00);
 }
 
-#nicklist a:hover {
-    background: var(--base01);
-}
-
 .horizontal-line {
     -webkit-box-shadow: rgba(255, 255, 255, 0.07) 0 1px 0;
     -moz-box-shadow: rgba(255, 255, 255, 0.07) 0 1px 0;
@@ -257,6 +345,7 @@ input[type=text], input[type=password], #sendMessage, .btn-send, .btn-send-image
 button.close {
     color: var(--base05);
     opacity: 1;
+    text-shadow: none;
 }
 
 button.close:hover {
@@ -315,14 +404,13 @@ button.close:hover {
 }
 .cof-chat_nick_self {
     color: var(--base07);
-    font-weight: bold;
 }
 .cof-chat_nick_other {
     color: var(--base0C);
 }
 .cof-invalid {
     /* should never happen */
-    color: red !important;
+    color: green !important;
     background-color: red !important;
 }
 .cof-chat_host {
@@ -332,7 +420,7 @@ button.close:hover {
     color: var(--base05);
 }
 .cof-chat_highlight {
-    color: var(--base07);
+    color: var(--base03);
 }
 .cof-chat_read_marker {
     color: var(--base05);
@@ -419,7 +507,7 @@ button.close:hover {
 .cob-chat_delimiters {
 }
 .cob-chat_highlight {
-    background-color: var(--base03);
+    background-color: var(--base07);
 }
 .cob-chat_read_marker {
 }
@@ -484,6 +572,7 @@ button.close:hover {
 .coa-chat_nick {
 }
 .coa-chat_nick_self {
+    font-weight: bold;
 }
 .coa-chat_nick_other {
 }
@@ -532,7 +621,7 @@ button.close:hover {
     color: var(--base00);
 }
 .cwf-darkgray {
-    color: var(--base03);
+    color: var(--base02);
 }
 .cwf-red {
     color: var(--base08);
@@ -574,7 +663,7 @@ button.close:hover {
     color: var(--base04);
 }
 .cwf-white {
-    color: var(--base06);
+    color: var(--base07);
 }
 
 /* WeeChat colors, background */
@@ -585,7 +674,7 @@ button.close:hover {
     background-color: var(--base00);
 }
 .cwb-darkgray {
-    background-color: var(--base03);
+    background-color: var(--base02);
 }
 .cwb-red {
     background-color: var(--base08);
@@ -627,7 +716,7 @@ button.close:hover {
     background-color: var(--base04);
 }
 .cwb-white {
-    background-color: var(--base06);
+    background-color: var(--base07);
 }
 
 /* extended colors, foreground */
@@ -766,17 +855,475 @@ button.close:hover {
     background-color: var(--base06);
 }
 
-/* Fallback for unsupported extended colours. If it bothers people they can try
-and define fallback colors for each extended color individually, just keep in
-mind that colors are not guaranteed to be consistent across variants. */
-.cef-22, .cef-23, .cef-24, .cef-25, .cef-26, .cef-27, .cef-28, .cef-29, .cef-30, .cef-31, .cef-32, .cef-33, .cef-34, .cef-35, .cef-36, .cef-37, .cef-38, .cef-39, .cef-40, .cef-41, .cef-42, .cef-43, .cef-44, .cef-45, .cef-46, .cef-47, .cef-48, .cef-49, .cef-50, .cef-51, .cef-52, .cef-53, .cef-54, .cef-55, .cef-56, .cef-57, .cef-58, .cef-59, .cef-60, .cef-61, .cef-62, .cef-63, .cef-64, .cef-65, .cef-66, .cef-67, .cef-68, .cef-69, .cef-70, .cef-71, .cef-72, .cef-73, .cef-74, .cef-75, .cef-76, .cef-77, .cef-78, .cef-79, .cef-80, .cef-81, .cef-82, .cef-83, .cef-84, .cef-85, .cef-86, .cef-87, .cef-88, .cef-89, .cef-90, .cef-91, .cef-92, .cef-93, .cef-94, .cef-95, .cef-96, .cef-97, .cef-98, .cef-99, .cef-100, .cef-101, .cef-102, .cef-103, .cef-104, .cef-105, .cef-106, .cef-107, .cef-108, .cef-109, .cef-110, .cef-111, .cef-112, .cef-113, .cef-114, .cef-115, .cef-116, .cef-117, .cef-118, .cef-119, .cef-120, .cef-121, .cef-122, .cef-123, .cef-124, .cef-125, .cef-126, .cef-127, .cef-128, .cef-129, .cef-130, .cef-131, .cef-132, .cef-133, .cef-134, .cef-135, .cef-136, .cef-137, .cef-138, .cef-139, .cef-140, .cef-141, .cef-142, .cef-143, .cef-144, .cef-145, .cef-146, .cef-147, .cef-148, .cef-149, .cef-150, .cef-151, .cef-152, .cef-153, .cef-154, .cef-155, .cef-156, .cef-157, .cef-158, .cef-159, .cef-160, .cef-161, .cef-162, .cef-163, .cef-164, .cef-165, .cef-166, .cef-167, .cef-168, .cef-169, .cef-170, .cef-171, .cef-172, .cef-173, .cef-174, .cef-175, .cef-176, .cef-177, .cef-178, .cef-179, .cef-180, .cef-181, .cef-182, .cef-183, .cef-184, .cef-185, .cef-186, .cef-187, .cef-188, .cef-189, .cef-190, .cef-191, .cef-192, .cef-193, .cef-194, .cef-195, .cef-196, .cef-197, .cef-198, .cef-199, .cef-200, .cef-201, .cef-202, .cef-203, .cef-204, .cef-205, .cef-206, .cef-207, .cef-208, .cef-209, .cef-210, .cef-211, .cef-212, .cef-213, .cef-214, .cef-215, .cef-216, .cef-217, .cef-218, .cef-219, .cef-220, .cef-221, .cef-222, .cef-223, .cef-224, .cef-225, .cef-226, .cef-227, .cef-228, .cef-229, .cef-230, .cef-231, .cef-232, .cef-233, .cef-234, .cef-235, .cef-236, .cef-237, .cef-238, .cef-239, .cef-240, .cef-241, .cef-242, .cef-243, .cef-244, .cef-245, .cef-246, .cef-247, .cef-248, .cef-249, .cef-250, .cef-251, .cef-252, .cef-253, .cef-254, .cef-255
-{
-    color: var(--base0F);
-}
-
-.ceb-22, .ceb-23, .ceb-24, .ceb-25, .ceb-26, .ceb-27, .ceb-28, .ceb-29, .ceb-30, .ceb-31, .ceb-32, .ceb-33, .ceb-34, .ceb-35, .ceb-36, .ceb-37, .ceb-38, .ceb-39, .ceb-40, .ceb-41, .ceb-42, .ceb-43, .ceb-44, .ceb-45, .ceb-46, .ceb-47, .ceb-48, .ceb-49, .ceb-50, .ceb-51, .ceb-52, .ceb-53, .ceb-54, .ceb-55, .ceb-56, .ceb-57, .ceb-58, .ceb-59, .ceb-60, .ceb-61, .ceb-62, .ceb-63, .ceb-64, .ceb-65, .ceb-66, .ceb-67, .ceb-68, .ceb-69, .ceb-70, .ceb-71, .ceb-72, .ceb-73, .ceb-74, .ceb-75, .ceb-76, .ceb-77, .ceb-78, .ceb-79, .ceb-80, .ceb-81, .ceb-82, .ceb-83, .ceb-84, .ceb-85, .ceb-86, .ceb-87, .ceb-88, .ceb-89, .ceb-90, .ceb-91, .ceb-92, .ceb-93, .ceb-94, .ceb-95, .ceb-96, .ceb-97, .ceb-98, .ceb-99, .ceb-100, .ceb-101, .ceb-102, .ceb-103, .ceb-104, .ceb-105, .ceb-106, .ceb-107, .ceb-108, .ceb-109, .ceb-110, .ceb-111, .ceb-112, .ceb-113, .ceb-114, .ceb-115, .ceb-116, .ceb-117, .ceb-118, .ceb-119, .ceb-120, .ceb-121, .ceb-122, .ceb-123, .ceb-124, .ceb-125, .ceb-126, .ceb-127, .ceb-128, .ceb-129, .ceb-130, .ceb-131, .ceb-132, .ceb-133, .ceb-134, .ceb-135, .ceb-136, .ceb-137, .ceb-138, .ceb-139, .ceb-140, .ceb-141, .ceb-142, .ceb-143, .ceb-144, .ceb-145, .ceb-146, .ceb-147, .ceb-148, .ceb-149, .ceb-150, .ceb-151, .ceb-152, .ceb-153, .ceb-154, .ceb-155, .ceb-156, .ceb-157, .ceb-158, .ceb-159, .ceb-160, .ceb-161, .ceb-162, .ceb-163, .ceb-164, .ceb-165, .ceb-166, .ceb-167, .ceb-168, .ceb-169, .ceb-170, .ceb-171, .ceb-172, .ceb-173, .ceb-174, .ceb-175, .ceb-176, .ceb-177, .ceb-178, .ceb-179, .ceb-180, .ceb-181, .ceb-182, .ceb-183, .ceb-184, .ceb-185, .ceb-186, .ceb-187, .ceb-188, .ceb-189, .ceb-190, .ceb-191, .ceb-192, .ceb-193, .ceb-194, .ceb-195, .ceb-196, .ceb-197, .ceb-198, .ceb-199, .ceb-200, .ceb-201, .ceb-202, .ceb-203, .ceb-204, .ceb-205, .ceb-206, .ceb-207, .ceb-208, .ceb-209, .ceb-210, .ceb-211, .ceb-212, .ceb-213, .ceb-214, .ceb-215, .ceb-216, .ceb-217, .ceb-218, .ceb-219, .ceb-220, .ceb-221, .ceb-222, .ceb-223, .ceb-224, .ceb-225, .ceb-226, .ceb-227, .ceb-228, .ceb-229, .ceb-230, .ceb-231, .ceb-232, .ceb-233, .ceb-234, .ceb-235, .ceb-236, .ceb-237, .ceb-238, .ceb-239, .ceb-240, .ceb-241, .ceb-242, .ceb-243, .ceb-244, .ceb-245, .ceb-246, .ceb-247, .ceb-248, .ceb-249, .ceb-250, .ceb-251, .ceb-252, .ceb-253, .ceb-254, .ceb-255 {
-    background-color: var(--base0F);
-}
+/* Forcing extended colours into colour slots of palette */
+.cef-22 { color:            var(--base08); }
+.ceb-22 { background-color: var(--base08); }
+.cef-23 { color:            var(--base09); }
+.ceb-23 { background-color: var(--base09); }
+.cef-24 { color:            var(--base0A); }
+.ceb-24 { background-color: var(--base0A); }
+.cef-25 { color:            var(--base0B); }
+.ceb-25 { background-color: var(--base0B); }
+.cef-26 { color:            var(--base0C); }
+.ceb-26 { background-color: var(--base0C); }
+.cef-27 { color:            var(--base0D); }
+.ceb-27 { background-color: var(--base0D); }
+.cef-28 { color:            var(--base0E); }
+.ceb-28 { background-color: var(--base0E); }
+.cef-29 { color:            var(--base0F); }
+.ceb-29 { background-color: var(--base0F); }
+.cef-30 { color:            var(--base08); }
+.ceb-30 { background-color: var(--base08); }
+.cef-31 { color:            var(--base09); }
+.ceb-31 { background-color: var(--base09); }
+.cef-32 { color:            var(--base0A); }
+.ceb-32 { background-color: var(--base0A); }
+.cef-33 { color:            var(--base0B); }
+.ceb-33 { background-color: var(--base0B); }
+.cef-34 { color:            var(--base0C); }
+.ceb-34 { background-color: var(--base0C); }
+.cef-35 { color:            var(--base0D); }
+.ceb-35 { background-color: var(--base0D); }
+.cef-36 { color:            var(--base0E); }
+.ceb-36 { background-color: var(--base0E); }
+.cef-37 { color:            var(--base0F); }
+.ceb-37 { background-color: var(--base0F); }
+.cef-38 { color:            var(--base08); }
+.ceb-38 { background-color: var(--base08); }
+.cef-39 { color:            var(--base09); }
+.ceb-39 { background-color: var(--base09); }
+.cef-40 { color:            var(--base0A); }
+.ceb-40 { background-color: var(--base0A); }
+.cef-41 { color:            var(--base0B); }
+.ceb-41 { background-color: var(--base0B); }
+.cef-42 { color:            var(--base0C); }
+.ceb-42 { background-color: var(--base0C); }
+.cef-43 { color:            var(--base0D); }
+.ceb-43 { background-color: var(--base0D); }
+.cef-44 { color:            var(--base0E); }
+.ceb-44 { background-color: var(--base0E); }
+.cef-45 { color:            var(--base0F); }
+.ceb-45 { background-color: var(--base0F); }
+.cef-46 { color:            var(--base08); }
+.ceb-46 { background-color: var(--base08); }
+.cef-47 { color:            var(--base09); }
+.ceb-47 { background-color: var(--base09); }
+.cef-48 { color:            var(--base0A); }
+.ceb-48 { background-color: var(--base0A); }
+.cef-49 { color:            var(--base0B); }
+.ceb-49 { background-color: var(--base0B); }
+.cef-50 { color:            var(--base0C); }
+.ceb-50 { background-color: var(--base0C); }
+.cef-51 { color:            var(--base0D); }
+.ceb-51 { background-color: var(--base0D); }
+.cef-52 { color:            var(--base0E); }
+.ceb-52 { background-color: var(--base0E); }
+.cef-53 { color:            var(--base0F); }
+.ceb-53 { background-color: var(--base0F); }
+.cef-54 { color:            var(--base08); }
+.ceb-54 { background-color: var(--base08); }
+.cef-55 { color:            var(--base09); }
+.ceb-55 { background-color: var(--base09); }
+.cef-56 { color:            var(--base0A); }
+.ceb-56 { background-color: var(--base0A); }
+.cef-57 { color:            var(--base0B); }
+.ceb-57 { background-color: var(--base0B); }
+.cef-58 { color:            var(--base0C); }
+.ceb-58 { background-color: var(--base0C); }
+.cef-59 { color:            var(--base0D); }
+.ceb-59 { background-color: var(--base0D); }
+.cef-60 { color:            var(--base0E); }
+.ceb-60 { background-color: var(--base0E); }
+.cef-61 { color:            var(--base0F); }
+.ceb-61 { background-color: var(--base0F); }
+.cef-62 { color:            var(--base08); }
+.ceb-62 { background-color: var(--base08); }
+.cef-63 { color:            var(--base09); }
+.ceb-63 { background-color: var(--base09); }
+.cef-64 { color:            var(--base0A); }
+.ceb-64 { background-color: var(--base0A); }
+.cef-65 { color:            var(--base0B); }
+.ceb-65 { background-color: var(--base0B); }
+.cef-66 { color:            var(--base0C); }
+.ceb-66 { background-color: var(--base0C); }
+.cef-67 { color:            var(--base0D); }
+.ceb-67 { background-color: var(--base0D); }
+.cef-68 { color:            var(--base0E); }
+.ceb-68 { background-color: var(--base0E); }
+.cef-69 { color:            var(--base0F); }
+.ceb-69 { background-color: var(--base0F); }
+.cef-70 { color:            var(--base08); }
+.ceb-70 { background-color: var(--base08); }
+.cef-71 { color:            var(--base09); }
+.ceb-71 { background-color: var(--base09); }
+.cef-72 { color:            var(--base0A); }
+.ceb-72 { background-color: var(--base0A); }
+.cef-73 { color:            var(--base0B); }
+.ceb-73 { background-color: var(--base0B); }
+.cef-74 { color:            var(--base0C); }
+.ceb-74 { background-color: var(--base0C); }
+.cef-75 { color:            var(--base0D); }
+.ceb-75 { background-color: var(--base0D); }
+.cef-76 { color:            var(--base0E); }
+.ceb-76 { background-color: var(--base0E); }
+.cef-77 { color:            var(--base0F); }
+.ceb-77 { background-color: var(--base0F); }
+.cef-78 { color:            var(--base08); }
+.ceb-78 { background-color: var(--base08); }
+.cef-79 { color:            var(--base09); }
+.ceb-79 { background-color: var(--base09); }
+.cef-80 { color:            var(--base0A); }
+.ceb-80 { background-color: var(--base0A); }
+.cef-81 { color:            var(--base0B); }
+.ceb-81 { background-color: var(--base0B); }
+.cef-82 { color:            var(--base0C); }
+.ceb-82 { background-color: var(--base0C); }
+.cef-83 { color:            var(--base0D); }
+.ceb-83 { background-color: var(--base0D); }
+.cef-84 { color:            var(--base0E); }
+.ceb-84 { background-color: var(--base0E); }
+.cef-85 { color:            var(--base0F); }
+.ceb-85 { background-color: var(--base0F); }
+.cef-86 { color:            var(--base08); }
+.ceb-86 { background-color: var(--base08); }
+.cef-87 { color:            var(--base09); }
+.ceb-87 { background-color: var(--base09); }
+.cef-88 { color:            var(--base0A); }
+.ceb-88 { background-color: var(--base0A); }
+.cef-89 { color:            var(--base0B); }
+.ceb-89 { background-color: var(--base0B); }
+.cef-90 { color:            var(--base0C); }
+.ceb-90 { background-color: var(--base0C); }
+.cef-91 { color:            var(--base0D); }
+.ceb-91 { background-color: var(--base0D); }
+.cef-92 { color:            var(--base0E); }
+.ceb-92 { background-color: var(--base0E); }
+.cef-93 { color:            var(--base0F); }
+.ceb-93 { background-color: var(--base0F); }
+.cef-94 { color:            var(--base08); }
+.ceb-94 { background-color: var(--base08); }
+.cef-95 { color:            var(--base09); }
+.ceb-95 { background-color: var(--base09); }
+.cef-96 { color:            var(--base0A); }
+.ceb-96 { background-color: var(--base0A); }
+.cef-97 { color:            var(--base0B); }
+.ceb-97 { background-color: var(--base0B); }
+.cef-98 { color:            var(--base0C); }
+.ceb-98 { background-color: var(--base0C); }
+.cef-99 { color:            var(--base0D); }
+.ceb-99 { background-color: var(--base0D); }
+.cef-100 { color:            var(--base0E); }
+.ceb-100 { background-color: var(--base0E); }
+.cef-101 { color:            var(--base0F); }
+.ceb-101 { background-color: var(--base0F); }
+.cef-102 { color:            var(--base08); }
+.ceb-102 { background-color: var(--base08); }
+.cef-103 { color:            var(--base09); }
+.ceb-103 { background-color: var(--base09); }
+.cef-104 { color:            var(--base0A); }
+.ceb-104 { background-color: var(--base0A); }
+.cef-105 { color:            var(--base0B); }
+.ceb-105 { background-color: var(--base0B); }
+.cef-106 { color:            var(--base0C); }
+.ceb-106 { background-color: var(--base0C); }
+.cef-107 { color:            var(--base0D); }
+.ceb-107 { background-color: var(--base0D); }
+.cef-108 { color:            var(--base0E); }
+.ceb-108 { background-color: var(--base0E); }
+.cef-109 { color:            var(--base0F); }
+.ceb-109 { background-color: var(--base0F); }
+.cef-110 { color:            var(--base08); }
+.ceb-110 { background-color: var(--base08); }
+.cef-111 { color:            var(--base09); }
+.ceb-111 { background-color: var(--base09); }
+.cef-112 { color:            var(--base0A); }
+.ceb-112 { background-color: var(--base0A); }
+.cef-113 { color:            var(--base0B); }
+.ceb-113 { background-color: var(--base0B); }
+.cef-114 { color:            var(--base0C); }
+.ceb-114 { background-color: var(--base0C); }
+.cef-115 { color:            var(--base0D); }
+.ceb-115 { background-color: var(--base0D); }
+.cef-116 { color:            var(--base0E); }
+.ceb-116 { background-color: var(--base0E); }
+.cef-117 { color:            var(--base0F); }
+.ceb-117 { background-color: var(--base0F); }
+.cef-118 { color:            var(--base08); }
+.ceb-118 { background-color: var(--base08); }
+.cef-119 { color:            var(--base09); }
+.ceb-119 { background-color: var(--base09); }
+.cef-120 { color:            var(--base0A); }
+.ceb-120 { background-color: var(--base0A); }
+.cef-121 { color:            var(--base0B); }
+.ceb-121 { background-color: var(--base0B); }
+.cef-122 { color:            var(--base0C); }
+.ceb-122 { background-color: var(--base0C); }
+.cef-123 { color:            var(--base0D); }
+.ceb-123 { background-color: var(--base0D); }
+.cef-124 { color:            var(--base0E); }
+.ceb-124 { background-color: var(--base0E); }
+.cef-125 { color:            var(--base0F); }
+.ceb-125 { background-color: var(--base0F); }
+.cef-126 { color:            var(--base08); }
+.ceb-126 { background-color: var(--base08); }
+.cef-127 { color:            var(--base09); }
+.ceb-127 { background-color: var(--base09); }
+.cef-128 { color:            var(--base0A); }
+.ceb-128 { background-color: var(--base0A); }
+.cef-129 { color:            var(--base0B); }
+.ceb-129 { background-color: var(--base0B); }
+.cef-130 { color:            var(--base0C); }
+.ceb-130 { background-color: var(--base0C); }
+.cef-131 { color:            var(--base0D); }
+.ceb-131 { background-color: var(--base0D); }
+.cef-132 { color:            var(--base0E); }
+.ceb-132 { background-color: var(--base0E); }
+.cef-133 { color:            var(--base0F); }
+.ceb-133 { background-color: var(--base0F); }
+.cef-134 { color:            var(--base08); }
+.ceb-134 { background-color: var(--base08); }
+.cef-135 { color:            var(--base09); }
+.ceb-135 { background-color: var(--base09); }
+.cef-136 { color:            var(--base0A); }
+.ceb-136 { background-color: var(--base0A); }
+.cef-137 { color:            var(--base0B); }
+.ceb-137 { background-color: var(--base0B); }
+.cef-138 { color:            var(--base0C); }
+.ceb-138 { background-color: var(--base0C); }
+.cef-139 { color:            var(--base0D); }
+.ceb-139 { background-color: var(--base0D); }
+.cef-140 { color:            var(--base0E); }
+.ceb-140 { background-color: var(--base0E); }
+.cef-141 { color:            var(--base0F); }
+.ceb-141 { background-color: var(--base0F); }
+.cef-142 { color:            var(--base08); }
+.ceb-142 { background-color: var(--base08); }
+.cef-143 { color:            var(--base09); }
+.ceb-143 { background-color: var(--base09); }
+.cef-144 { color:            var(--base0A); }
+.ceb-144 { background-color: var(--base0A); }
+.cef-145 { color:            var(--base0B); }
+.ceb-145 { background-color: var(--base0B); }
+.cef-146 { color:            var(--base0C); }
+.ceb-146 { background-color: var(--base0C); }
+.cef-147 { color:            var(--base0D); }
+.ceb-147 { background-color: var(--base0D); }
+.cef-148 { color:            var(--base0E); }
+.ceb-148 { background-color: var(--base0E); }
+.cef-149 { color:            var(--base0F); }
+.ceb-149 { background-color: var(--base0F); }
+.cef-150 { color:            var(--base08); }
+.ceb-150 { background-color: var(--base08); }
+.cef-151 { color:            var(--base09); }
+.ceb-151 { background-color: var(--base09); }
+.cef-152 { color:            var(--base0A); }
+.ceb-152 { background-color: var(--base0A); }
+.cef-153 { color:            var(--base0B); }
+.ceb-153 { background-color: var(--base0B); }
+.cef-154 { color:            var(--base0C); }
+.ceb-154 { background-color: var(--base0C); }
+.cef-155 { color:            var(--base0D); }
+.ceb-155 { background-color: var(--base0D); }
+.cef-156 { color:            var(--base0E); }
+.ceb-156 { background-color: var(--base0E); }
+.cef-157 { color:            var(--base0F); }
+.ceb-157 { background-color: var(--base0F); }
+.cef-158 { color:            var(--base08); }
+.ceb-158 { background-color: var(--base08); }
+.cef-159 { color:            var(--base09); }
+.ceb-159 { background-color: var(--base09); }
+.cef-160 { color:            var(--base0A); }
+.ceb-160 { background-color: var(--base0A); }
+.cef-161 { color:            var(--base0B); }
+.ceb-161 { background-color: var(--base0B); }
+.cef-162 { color:            var(--base0C); }
+.ceb-162 { background-color: var(--base0C); }
+.cef-163 { color:            var(--base0D); }
+.ceb-163 { background-color: var(--base0D); }
+.cef-164 { color:            var(--base0E); }
+.ceb-164 { background-color: var(--base0E); }
+.cef-165 { color:            var(--base0F); }
+.ceb-165 { background-color: var(--base0F); }
+.cef-166 { color:            var(--base08); }
+.ceb-166 { background-color: var(--base08); }
+.cef-167 { color:            var(--base09); }
+.ceb-167 { background-color: var(--base09); }
+.cef-168 { color:            var(--base0A); }
+.ceb-168 { background-color: var(--base0A); }
+.cef-169 { color:            var(--base0B); }
+.ceb-169 { background-color: var(--base0B); }
+.cef-170 { color:            var(--base0C); }
+.ceb-170 { background-color: var(--base0C); }
+.cef-171 { color:            var(--base0D); }
+.ceb-171 { background-color: var(--base0D); }
+.cef-172 { color:            var(--base0E); }
+.ceb-172 { background-color: var(--base0E); }
+.cef-173 { color:            var(--base0F); }
+.ceb-173 { background-color: var(--base0F); }
+.cef-174 { color:            var(--base08); }
+.ceb-174 { background-color: var(--base08); }
+.cef-175 { color:            var(--base09); }
+.ceb-175 { background-color: var(--base09); }
+.cef-176 { color:            var(--base0A); }
+.ceb-176 { background-color: var(--base0A); }
+.cef-177 { color:            var(--base0B); }
+.ceb-177 { background-color: var(--base0B); }
+.cef-178 { color:            var(--base0C); }
+.ceb-178 { background-color: var(--base0C); }
+.cef-179 { color:            var(--base0D); }
+.ceb-179 { background-color: var(--base0D); }
+.cef-180 { color:            var(--base0E); }
+.ceb-180 { background-color: var(--base0E); }
+.cef-181 { color:            var(--base0F); }
+.ceb-181 { background-color: var(--base0F); }
+.cef-182 { color:            var(--base08); }
+.ceb-182 { background-color: var(--base08); }
+.cef-183 { color:            var(--base09); }
+.ceb-183 { background-color: var(--base09); }
+.cef-184 { color:            var(--base0A); }
+.ceb-184 { background-color: var(--base0A); }
+.cef-185 { color:            var(--base0B); }
+.ceb-185 { background-color: var(--base0B); }
+.cef-186 { color:            var(--base0C); }
+.ceb-186 { background-color: var(--base0C); }
+.cef-187 { color:            var(--base0D); }
+.ceb-187 { background-color: var(--base0D); }
+.cef-188 { color:            var(--base0E); }
+.ceb-188 { background-color: var(--base0E); }
+.cef-189 { color:            var(--base0F); }
+.ceb-189 { background-color: var(--base0F); }
+.cef-190 { color:            var(--base08); }
+.ceb-190 { background-color: var(--base08); }
+.cef-191 { color:            var(--base09); }
+.ceb-191 { background-color: var(--base09); }
+.cef-192 { color:            var(--base0A); }
+.ceb-192 { background-color: var(--base0A); }
+.cef-193 { color:            var(--base0B); }
+.ceb-193 { background-color: var(--base0B); }
+.cef-194 { color:            var(--base0C); }
+.ceb-194 { background-color: var(--base0C); }
+.cef-195 { color:            var(--base0D); }
+.ceb-195 { background-color: var(--base0D); }
+.cef-196 { color:            var(--base0E); }
+.ceb-196 { background-color: var(--base0E); }
+.cef-197 { color:            var(--base0F); }
+.ceb-197 { background-color: var(--base0F); }
+.cef-198 { color:            var(--base08); }
+.ceb-198 { background-color: var(--base08); }
+.cef-199 { color:            var(--base09); }
+.ceb-199 { background-color: var(--base09); }
+.cef-200 { color:            var(--base0A); }
+.ceb-200 { background-color: var(--base0A); }
+.cef-201 { color:            var(--base0B); }
+.ceb-201 { background-color: var(--base0B); }
+.cef-202 { color:            var(--base0C); }
+.ceb-202 { background-color: var(--base0C); }
+.cef-203 { color:            var(--base0D); }
+.ceb-203 { background-color: var(--base0D); }
+.cef-204 { color:            var(--base0E); }
+.ceb-204 { background-color: var(--base0E); }
+.cef-205 { color:            var(--base0F); }
+.ceb-205 { background-color: var(--base0F); }
+.cef-206 { color:            var(--base08); }
+.ceb-206 { background-color: var(--base08); }
+.cef-207 { color:            var(--base09); }
+.ceb-207 { background-color: var(--base09); }
+.cef-208 { color:            var(--base0A); }
+.ceb-208 { background-color: var(--base0A); }
+.cef-209 { color:            var(--base0B); }
+.ceb-209 { background-color: var(--base0B); }
+.cef-210 { color:            var(--base0C); }
+.ceb-210 { background-color: var(--base0C); }
+.cef-211 { color:            var(--base0D); }
+.ceb-211 { background-color: var(--base0D); }
+.cef-212 { color:            var(--base0E); }
+.ceb-212 { background-color: var(--base0E); }
+.cef-213 { color:            var(--base0F); }
+.ceb-213 { background-color: var(--base0F); }
+.cef-214 { color:            var(--base08); }
+.ceb-214 { background-color: var(--base08); }
+.cef-215 { color:            var(--base09); }
+.ceb-215 { background-color: var(--base09); }
+.cef-216 { color:            var(--base0A); }
+.ceb-216 { background-color: var(--base0A); }
+.cef-217 { color:            var(--base0B); }
+.ceb-217 { background-color: var(--base0B); }
+.cef-218 { color:            var(--base0C); }
+.ceb-218 { background-color: var(--base0C); }
+.cef-219 { color:            var(--base0D); }
+.ceb-219 { background-color: var(--base0D); }
+.cef-220 { color:            var(--base0E); }
+.ceb-220 { background-color: var(--base0E); }
+.cef-221 { color:            var(--base0F); }
+.ceb-221 { background-color: var(--base0F); }
+.cef-222 { color:            var(--base08); }
+.ceb-222 { background-color: var(--base08); }
+.cef-223 { color:            var(--base09); }
+.ceb-223 { background-color: var(--base09); }
+.cef-224 { color:            var(--base0A); }
+.ceb-224 { background-color: var(--base0A); }
+.cef-225 { color:            var(--base0B); }
+.ceb-225 { background-color: var(--base0B); }
+.cef-226 { color:            var(--base0C); }
+.ceb-226 { background-color: var(--base0C); }
+.cef-227 { color:            var(--base0D); }
+.ceb-227 { background-color: var(--base0D); }
+.cef-228 { color:            var(--base0E); }
+.ceb-228 { background-color: var(--base0E); }
+.cef-229 { color:            var(--base0F); }
+.ceb-229 { background-color: var(--base0F); }
+.cef-230 { color:            var(--base08); }
+.ceb-230 { background-color: var(--base08); }
+.cef-231 { color:            var(--base09); }
+.ceb-231 { background-color: var(--base09); }
+.cef-232 { color:            var(--base0A); }
+.ceb-232 { background-color: var(--base0A); }
+.cef-233 { color:            var(--base0B); }
+.ceb-233 { background-color: var(--base0B); }
+.cef-234 { color:            var(--base0C); }
+.ceb-234 { background-color: var(--base0C); }
+.cef-235 { color:            var(--base0D); }
+.ceb-235 { background-color: var(--base0D); }
+.cef-236 { color:            var(--base0E); }
+.ceb-236 { background-color: var(--base0E); }
+.cef-237 { color:            var(--base0F); }
+.ceb-237 { background-color: var(--base0F); }
+.cef-238 { color:            var(--base08); }
+.ceb-238 { background-color: var(--base08); }
+.cef-239 { color:            var(--base09); }
+.ceb-239 { background-color: var(--base09); }
+.cef-240 { color:            var(--base0A); }
+.ceb-240 { background-color: var(--base0A); }
+.cef-241 { color:            var(--base0B); }
+.ceb-241 { background-color: var(--base0B); }
+.cef-242 { color:            var(--base0C); }
+.ceb-242 { background-color: var(--base0C); }
+.cef-243 { color:            var(--base0D); }
+.ceb-243 { background-color: var(--base0D); }
+.cef-244 { color:            var(--base0E); }
+.ceb-244 { background-color: var(--base0E); }
+.cef-245 { color:            var(--base0F); }
+.ceb-245 { background-color: var(--base0F); }
+.cef-246 { color:            var(--base08); }
+.ceb-246 { background-color: var(--base08); }
+.cef-247 { color:            var(--base09); }
+.ceb-247 { background-color: var(--base09); }
+.cef-248 { color:            var(--base0A); }
+.ceb-248 { background-color: var(--base0A); }
+.cef-249 { color:            var(--base0B); }
+.ceb-249 { background-color: var(--base0B); }
+.cef-250 { color:            var(--base0C); }
+.ceb-250 { background-color: var(--base0C); }
+.cef-251 { color:            var(--base0D); }
+.ceb-251 { background-color: var(--base0D); }
+.cef-252 { color:            var(--base0E); }
+.ceb-252 { background-color: var(--base0E); }
+.cef-253 { color:            var(--base0F); }
+.ceb-253 { background-color: var(--base0F); }
+.cef-254 { color:            var(--base08); }
+.ceb-254 { background-color: var(--base08); }
+.cef-255 { color:            var(--base09); }
+.ceb-255 { background-color: var(--base09); }
 
 /* attributes overrides */
 .a-b {
@@ -805,19 +1352,16 @@ mind that colors are not guaranteed to be consistent across variants. */
 
 /* highlight messages */
 .highlight {
-    background-color: var(--base03);
-    color: var(--base07);
-    font-weight: bold;
+    color: var(--base03) !important;
+    background-color: var(--base07) !important;
+    font-weight: bold !important;
 }
-
 /* */
 /* Mobile layout */
 /* */
 @media (max-width: 968px) {
     #nicklist {
-        -webkit-box-shadow: 0px 0px 120px var(--base00);
-        box-shadow: 0px 0px 120px var(--base00);
-        background: var(--base00);
+        box-shadow: 400px 0px 400px 400px var(--base00);
     }
 
     .footer {
diff --git a/css/themes/base16-mocha-light.css b/css/themes/base16-mocha-light.css
deleted file mode 100644
index 1a7ae50..0000000
--- a/css/themes/base16-mocha-light.css
+++ /dev/null
@@ -1,20 +0,0 @@
-@import "base16-default.css";
-
-:root {
-    --base00: #f5eeeb;
-    --base01: #e9e1dd;
-    --base02: #d0c8c6;
-    --base03: #b8afad;
-    --base04: #7e705a;
-    --base05: #645240;
-    --base06: #534636;
-    --base07: #3B3228;
-    --base08: #cb6077;
-    --base09: #d28b71;
-    --base0A: #f4bc87;
-    --base0B: #beb55b;
-    --base0C: #7bbda4;
-    --base0D: #8ab3b5;
-    --base0E: #a89bb9;
-    --base0F: #bb9584;
-}
diff --git a/js/glowingbear.js b/js/glowingbear.js
index af0f690..753085d 100644
--- a/js/glowingbear.js
+++ b/js/glowingbear.js
@@ -21,7 +21,7 @@ weechat.controller('WeechatCtrl', ['$rootScope', '$scope', '$store', '$timeout',
     };
 
     $scope.command = '';
-    $scope.themes = ['dark', 'light', 'black', 'dark-spacious', 'blue', 'base16-default', 'base16-light', 'base16-mocha', 'base16-mocha-light', 'base16-solarized-dark', 'base16-solarized-light'];
+    $scope.themes = ['dark', 'light', 'black', 'dark-spacious', 'blue', 'base16-default', 'base16-light', 'base16-mocha', 'base16-solarized-dark', 'base16-solarized-light'];
 
     // Initialise all our settings, this needs to include all settings
     // or else they won't be saved to the localStorage.