Fix dark mode: no more filter invert css

The filter invert style was causing weird issues. Instead, I computed
what the colors should be inverted 90% and set them absolutely instead.
This commit is contained in:
2025-08-24 21:25:15 -04:00
parent e1968ea90f
commit 6e72c592a1
3 changed files with 374 additions and 135 deletions

View File

@@ -1,37 +1,35 @@
/* Dark theme */ /* Dark theme */
html { html {
filter: invert(90%);
background-color: rgba(10, 10, 10, 0.9); background-color: rgba(10, 10, 10, 0.9);
} }
img:not(.icon), video, div.video-container { body {
filter: invert(100%); background-color: #222222 !important;
} }
img:not(.icon) { .root {
opacity: .90; color: #afafaf !important;
transition: opacity .5s ease-in-out;
}
img:hover:not(.icon) {
opacity: 1;
}
a:not(.card), a:hover:not(.card) {
filter: invert(100%);
}
a:not(.card) img:not(.icon) {
filter: none;
} }
.card { .card {
box-shadow: 0 1px 2px #fff !important; box-shadow: 0 1px 2px #5e5e5e !important;
background-color: #1a1a1a !important;
} }
.post pre { .post pre {
background-color: #fff !important; background-color: #271a26 !important;
border: 1px solid #354535 !important;
}
.post code {
background-color: #271a26 !important;
border: 1px solid #354535 !important;
}
.post pre code {
background-color: #271a26 !important;
border: none !important;
} }
.post a code { .post a code {

View File

@@ -1,60 +1,195 @@
.highlight { background: #ffffff; } .highlight {
.highlight .c { color: #999988; font-style: italic } /* Comment */ background: #ffffff;
.highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */ }
.highlight .k { font-weight: bold } /* Keyword */ .highlight .c {
.highlight .o { font-weight: bold } /* Operator */ color: #999988;
.highlight .cm { color: #999988; font-style: italic } /* Comment.Multiline */ font-style: italic;
.highlight .cp { color: #999999; font-weight: bold } /* Comment.Preproc */ } /* Comment */
.highlight .c1 { color: #999988; font-style: italic } /* Comment.Single */ .highlight .err {
.highlight .cs { color: #999999; font-weight: bold; font-style: italic } /* Comment.Special */ color: #a61717;
.highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */ background-color: #e3d2d2;
.highlight .gd .x { color: #000000; background-color: #ffaaaa } /* Generic.Deleted.Specific */ } /* Error */
.highlight .ge { font-style: italic } /* Generic.Emph */ .highlight .k {
.highlight .gr { color: #aa0000 } /* Generic.Error */ font-weight: bold;
.highlight .gh { color: #999999 } /* Generic.Heading */ } /* Keyword */
.highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */ .highlight .o {
.highlight .gi .x { color: #000000; background-color: #aaffaa } /* Generic.Inserted.Specific */ font-weight: bold;
.highlight .go { color: #888888 } /* Generic.Output */ } /* Operator */
.highlight .gp { color: #555555 } /* Generic.Prompt */ .highlight .cm {
.highlight .gs { font-weight: bold } /* Generic.Strong */ color: #999988;
.highlight .gu { color: #aaaaaa } /* Generic.Subheading */ font-style: italic;
.highlight .gt { color: #aa0000 } /* Generic.Traceback */ } /* Comment.Multiline */
.highlight .kc { font-weight: bold } /* Keyword.Constant */ .highlight .cp {
.highlight .kd { font-weight: bold } /* Keyword.Declaration */ color: #999999;
.highlight .kp { font-weight: bold } /* Keyword.Pseudo */ font-weight: bold;
.highlight .kr { font-weight: bold } /* Keyword.Reserved */ } /* Comment.Preproc */
.highlight .kt { color: #445588; font-weight: bold } /* Keyword.Type */ .highlight .c1 {
.highlight .m { color: #009999 } /* Literal.Number */ color: #999988;
.highlight .s { color: #d14 } /* Literal.String */ font-style: italic;
.highlight .na { color: #008080 } /* Name.Attribute */ } /* Comment.Single */
.highlight .nb { color: #0086B3 } /* Name.Builtin */ .highlight .cs {
.highlight .nc { color: #445588; font-weight: bold } /* Name.Class */ color: #999999;
.highlight .no { color: #008080 } /* Name.Constant */ font-weight: bold;
.highlight .ni { color: #800080 } /* Name.Entity */ font-style: italic;
.highlight .ne { color: #990000; font-weight: bold } /* Name.Exception */ } /* Comment.Special */
.highlight .nf { color: #990000; font-weight: bold } /* Name.Function */ .highlight .gd {
.highlight .nn { color: #555555 } /* Name.Namespace */ color: #000000;
.highlight .nt { color: #000080 } /* Name.Tag */ background-color: #ffdddd;
.highlight .nv { color: #008080 } /* Name.Variable */ } /* Generic.Deleted */
.highlight .ow { font-weight: bold } /* Operator.Word */ .highlight .gd .x {
.highlight .w { color: #bbbbbb } /* Text.Whitespace */ color: #000000;
.highlight .mf { color: #009999 } /* Literal.Number.Float */ background-color: #ffaaaa;
.highlight .mh { color: #009999 } /* Literal.Number.Hex */ } /* Generic.Deleted.Specific */
.highlight .mi { color: #009999 } /* Literal.Number.Integer */ .highlight .ge {
.highlight .mo { color: #009999 } /* Literal.Number.Oct */ font-style: italic;
.highlight .sb { color: #d14 } /* Literal.String.Backtick */ } /* Generic.Emph */
.highlight .sc { color: #d14 } /* Literal.String.Char */ .highlight .gr {
.highlight .sd { color: #d14 } /* Literal.String.Doc */ color: #aa0000;
.highlight .s2 { color: #d14 } /* Literal.String.Double */ } /* Generic.Error */
.highlight .se { color: #d14 } /* Literal.String.Escape */ .highlight .gh {
.highlight .sh { color: #d14 } /* Literal.String.Heredoc */ color: #999999;
.highlight .si { color: #d14 } /* Literal.String.Interpol */ } /* Generic.Heading */
.highlight .sx { color: #d14 } /* Literal.String.Other */ .highlight .gi {
.highlight .sr { color: #009926 } /* Literal.String.Regex */ color: #000000;
.highlight .s1 { color: #d14 } /* Literal.String.Single */ background-color: #ddffdd;
.highlight .ss { color: #990073 } /* Literal.String.Symbol */ } /* Generic.Inserted */
.highlight .bp { color: #999999 } /* Name.Builtin.Pseudo */ .highlight .gi .x {
.highlight .vc { color: #008080 } /* Name.Variable.Class */ color: #000000;
.highlight .vg { color: #008080 } /* Name.Variable.Global */ background-color: #aaffaa;
.highlight .vi { color: #008080 } /* Name.Variable.Instance */ } /* Generic.Inserted.Specific */
.highlight .il { color: #009999 } /* Literal.Number.Integer.Long */ .highlight .go {
color: #888888;
} /* Generic.Output */
.highlight .gp {
color: #555555;
} /* Generic.Prompt */
.highlight .gs {
font-weight: bold;
} /* Generic.Strong */
.highlight .gu {
color: #aaaaaa;
} /* Generic.Subheading */
.highlight .gt {
color: #aa0000;
} /* Generic.Traceback */
.highlight .kc {
font-weight: bold;
} /* Keyword.Constant */
.highlight .kd {
font-weight: bold;
} /* Keyword.Declaration */
.highlight .kp {
font-weight: bold;
} /* Keyword.Pseudo */
.highlight .kr {
font-weight: bold;
} /* Keyword.Reserved */
.highlight .kt {
color: #445588;
font-weight: bold;
} /* Keyword.Type */
.highlight .m {
color: #009999;
} /* Literal.Number */
.highlight .s {
color: #d14;
} /* Literal.String */
.highlight .na {
color: #008080;
} /* Name.Attribute */
.highlight .nb {
color: #0086b3;
} /* Name.Builtin */
.highlight .nc {
color: #445588;
font-weight: bold;
} /* Name.Class */
.highlight .no {
color: #008080;
} /* Name.Constant */
.highlight .ni {
color: #800080;
} /* Name.Entity */
.highlight .ne {
color: #990000;
font-weight: bold;
} /* Name.Exception */
.highlight .nf {
color: #990000;
font-weight: bold;
} /* Name.Function */
.highlight .nn {
color: #555555;
} /* Name.Namespace */
.highlight .nt {
color: #000080;
} /* Name.Tag */
.highlight .nv {
color: #008080;
} /* Name.Variable */
.highlight .ow {
font-weight: bold;
} /* Operator.Word */
.highlight .w {
color: #bbbbbb;
} /* Text.Whitespace */
.highlight .mf {
color: #009999;
} /* Literal.Number.Float */
.highlight .mh {
color: #009999;
} /* Literal.Number.Hex */
.highlight .mi {
color: #009999;
} /* Literal.Number.Integer */
.highlight .mo {
color: #009999;
} /* Literal.Number.Oct */
.highlight .sb {
color: #d14;
} /* Literal.String.Backtick */
.highlight .sc {
color: #d14;
} /* Literal.String.Char */
.highlight .sd {
color: #d14;
} /* Literal.String.Doc */
.highlight .s2 {
color: #d14;
} /* Literal.String.Double */
.highlight .se {
color: #d14;
} /* Literal.String.Escape */
.highlight .sh {
color: #d14;
} /* Literal.String.Heredoc */
.highlight .si {
color: #d14;
} /* Literal.String.Interpol */
.highlight .sx {
color: #d14;
} /* Literal.String.Other */
.highlight .sr {
color: #009926;
} /* Literal.String.Regex */
.highlight .s1 {
color: #d14;
} /* Literal.String.Single */
.highlight .ss {
color: #990073;
} /* Literal.String.Symbol */
.highlight .bp {
color: #999999;
} /* Name.Builtin.Pseudo */
.highlight .vc {
color: #008080;
} /* Name.Variable.Class */
.highlight .vg {
color: #008080;
} /* Name.Variable.Global */
.highlight .vi {
color: #008080;
} /* Name.Variable.Instance */
.highlight .il {
color: #009999;
} /* Literal.Number.Integer.Long */

View File

@@ -1,56 +1,162 @@
.highlight code { .highlight {
filter: invert(100%); background: #0f0908;
background-color: #000 !important; color: #e0ccae;
} }
.highlight { background: #0F0908; color: #E0CCAE; } .highlight .c {
.highlight .c { color: #6B4035; } /* Comment */ color: #6b4035;
.highlight .err { color: #F2DDBC; background-color: #66292F } /* Error */ } /* Comment */
.highlight .o { color: #A67458 } /* Operator */ .highlight .err {
.highlight .cm { color: #6B4035; } /* Comment.Multiline */ color: #f2ddbc;
.highlight .cp { color: #6B4035; } /* Comment.Preproc */ background-color: #66292f;
.highlight .c1 { color: #6B4035; } /* Comment.Single */ } /* Error */
.highlight .cs { color: #6B4035; } /* Comment.Special */ .highlight .o {
.highlight .gd { color: #BF472C; background-color: #291916 } /* Generic.Deleted */ color: #a67458;
.highlight .gd .x { color: #000000; background-color: #ffaaaa } /* Generic.Deleted.Specific */ } /* Operator */
.highlight .gr { color: #66292F } /* Generic.Error */ .highlight .cm {
.highlight .gh { color: #F2A766 } /* Generic.Heading */ color: #6b4035;
.highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */ } /* Comment.Multiline */
.highlight .gi .x { color: #000000; background-color: #aaffaa } /* Generic.Inserted.Specific */ .highlight .cp {
.highlight .go { color: #E0CCAE } /* Generic.Output */ color: #6b4035;
.highlight .gp { color: #8A4B53 } /* Generic.Prompt */ } /* Comment.Preproc */
.highlight .gu { color: #F2A766 } /* Generic.Subheading */ .highlight .c1 {
.highlight .gt { color: #BF472C } /* Generic.Traceback */ color: #6b4035;
.highlight .kt { color: #BF472C } /* Keyword.Type */ } /* Comment.Single */
.highlight .m { color: #8A4B53 } /* Literal.Number */ .highlight .cs {
.highlight .s { color: #D47D49 } /* Literal.String */ color: #6b4035;
.highlight .na { color: #BF472C } /* Name.Attribute */ } /* Comment.Special */
.highlight .nb { color: #F2A766 } /* Name.Builtin */ .highlight .gd {
.highlight .nc { color: #445588 } /* Name.Class */ color: #bf472c;
.highlight .no { color: #F2DDBC } /* Name.Constant */ background-color: #291916;
.highlight .ni { color: #a4896f } /* Name.Entity */ } /* Generic.Deleted */
.highlight .ne { color: #990000 } /* Name.Exception */ .highlight .gd .x {
.highlight .nf { color: #BF472C } /* Name.Function */ color: #000000;
.highlight .nn { color: #BF472C } /* Name.Namespace */ background-color: #ffaaaa;
.highlight .nt { color: #F2A766 } /* Name.Tag */ } /* Generic.Deleted.Specific */
.highlight .nv { color: #A67458 } /* Name.Variable */ .highlight .gr {
.highlight .w { color: #bbbbbb } /* Text.Whitespace */ color: #66292f;
.highlight .mf { color: #8A4B53 } /* Literal.Number.Float */ } /* Generic.Error */
.highlight .mh { color: #8A4B53 } /* Literal.Number.Hex */ .highlight .gh {
.highlight .mi { color: #8A4B53 } /* Literal.Number.Integer */ color: #f2a766;
.highlight .mo { color: #8A4B53 } /* Literal.Number.Oct */ } /* Generic.Heading */
.highlight .sb { color: #D47D49 } /* Literal.String.Backtick */ .highlight .gi {
.highlight .sc { color: #D47D49 } /* Literal.String.Char */ color: #000000;
.highlight .sd { color: #D47D49 } /* Literal.String.Doc */ background-color: #ddffdd;
.highlight .s2 { color: #D47D49 } /* Literal.String.Double */ } /* Generic.Inserted */
.highlight .se { color: #D47D49 } /* Literal.String.Escape */ .highlight .gi .x {
.highlight .sh { color: #D47D49 } /* Literal.String.Heredoc */ color: #000000;
.highlight .si { color: #D47D49 } /* Literal.String.Interpol */ background-color: #aaffaa;
.highlight .sx { color: #D47D49 } /* Literal.String.Other */ } /* Generic.Inserted.Specific */
.highlight .sr { color: #D47D49 } /* Literal.String.Regex */ .highlight .go {
.highlight .s1 { color: #D47D49 } /* Literal.String.Single */ color: #e0ccae;
.highlight .ss { color: #D47D49 } /* Literal.String.Symbol */ } /* Generic.Output */
.highlight .bp { color: #999999 } /* Name.Builtin.Pseudo */ .highlight .gp {
.highlight .vc { color: #A67458 } /* Name.Variable.Class */ color: #8a4b53;
.highlight .vg { color: #A67458 } /* Name.Variable.Global */ } /* Generic.Prompt */
.highlight .vi { color: #A67458 } /* Name.Variable.Instance */ .highlight .gu {
.highlight .il { color: #8A4B53 } /* Literal.Number.Integer.Long */ color: #f2a766;
} /* Generic.Subheading */
.highlight .gt {
color: #bf472c;
} /* Generic.Traceback */
.highlight .kt {
color: #bf472c;
} /* Keyword.Type */
.highlight .m {
color: #8a4b53;
} /* Literal.Number */
.highlight .s {
color: #d47d49;
} /* Literal.String */
.highlight .na {
color: #bf472c;
} /* Name.Attribute */
.highlight .nb {
color: #f2a766;
} /* Name.Builtin */
.highlight .nc {
color: #445588;
} /* Name.Class */
.highlight .no {
color: #f2ddbc;
} /* Name.Constant */
.highlight .ni {
color: #a4896f;
} /* Name.Entity */
.highlight .ne {
color: #990000;
} /* Name.Exception */
.highlight .nf {
color: #bf472c;
} /* Name.Function */
.highlight .nn {
color: #bf472c;
} /* Name.Namespace */
.highlight .nt {
color: #f2a766;
} /* Name.Tag */
.highlight .nv {
color: #a67458;
} /* Name.Variable */
.highlight .w {
color: #bbbbbb;
} /* Text.Whitespace */
.highlight .mf {
color: #8a4b53;
} /* Literal.Number.Float */
.highlight .mh {
color: #8a4b53;
} /* Literal.Number.Hex */
.highlight .mi {
color: #8a4b53;
} /* Literal.Number.Integer */
.highlight .mo {
color: #8a4b53;
} /* Literal.Number.Oct */
.highlight .sb {
color: #d47d49;
} /* Literal.String.Backtick */
.highlight .sc {
color: #d47d49;
} /* Literal.String.Char */
.highlight .sd {
color: #d47d49;
} /* Literal.String.Doc */
.highlight .s2 {
color: #d47d49;
} /* Literal.String.Double */
.highlight .se {
color: #d47d49;
} /* Literal.String.Escape */
.highlight .sh {
color: #d47d49;
} /* Literal.String.Heredoc */
.highlight .si {
color: #d47d49;
} /* Literal.String.Interpol */
.highlight .sx {
color: #d47d49;
} /* Literal.String.Other */
.highlight .sr {
color: #d47d49;
} /* Literal.String.Regex */
.highlight .s1 {
color: #d47d49;
} /* Literal.String.Single */
.highlight .ss {
color: #d47d49;
} /* Literal.String.Symbol */
.highlight .bp {
color: #999999;
} /* Name.Builtin.Pseudo */
.highlight .vc {
color: #a67458;
} /* Name.Variable.Class */
.highlight .vg {
color: #a67458;
} /* Name.Variable.Global */
.highlight .vi {
color: #a67458;
} /* Name.Variable.Instance */
.highlight .il {
color: #8a4b53;
} /* Literal.Number.Integer.Long */