Веб-сайт самохостера Lotigara

summaryrefslogtreecommitdiff
path: root/css
diff options
context:
space:
mode:
Diffstat (limited to 'css')
-rw-r--r--css/cgit-dark.css1125
-rw-r--r--css/header.css21
-rw-r--r--css/isso.css324
-rw-r--r--css/main.css254
-rw-r--r--css/responsivity.css193
-rw-r--r--css/theme.css85
-rw-r--r--css/third-party.css15
7 files changed, 2017 insertions, 0 deletions
diff --git a/css/cgit-dark.css b/css/cgit-dark.css
new file mode 100644
index 0000000..e5c74fd
--- /dev/null
+++ b/css/cgit-dark.css
@@ -0,0 +1,1125 @@
+/* cgit-dark - Dark theme based on CSS media selectors
+ * Copyright (C) 2024 Joe Banks <joe@jb3.dev>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ */
+
+
+/* Based on the cgit.css file distributed with cgit version 1.2.3 */
+
+:root {
+ --background: white;
+ --color: #333;
+ --link-color: blue;
+ --link-hover: #00f;
+ --table-row: white;
+ --table-row-alt: #f7f7f7;
+ --path: #000;
+ --path-background: #eee;
+ --table-link: #000;
+ --reposection: #888;
+ --sub: #777;
+ --table-hover: #eee;
+ --tabs-border: #ccc;
+ --tabs-active-text: #000;
+ --tabs-text: #777;
+ --main-link: #000;
+ --stats-total: #c00;
+ --diffstat-background: #f7f7f7;
+ --diff-color: #000;
+ --diff-hunk: #009;
+ --diff-del: red;
+ --diff-add: green;
+}
+
+@media (prefers-color-scheme: dark) {
+ :root {
+ --background: #333;
+ --color: white;
+ --link-color: #7b9cf8;
+ --link-hover: #bcbcff;
+ --table-row: #444;
+ --table-row-alt: #333;
+ --path: #ccc;
+ --path-background: #444;
+ --table-link: #f3f3f3;
+ --reposection: #c5c5c5;
+ --sub: #bbb;
+ --table-hover: #555;
+ --tabs-border: #666;
+ --tabs-active-text: #fff;
+ --tabs-text: #bbb;
+ --main-link: #fff;
+ --stats-total: #eb8383;
+ --diffstat-background: #444;
+ --diff-color: #ccc;
+ --diff-hunk: #4f90f1;
+ --diff-del: #ffa8a8;
+ --diff-add: #9cf39c;
+ }
+
+ /* cgit by default constrains itself to a container and themes that,
+ * we have to break some of that isolation if we want the whole page
+ * to be dark themed */
+ body {
+ background-color: var(--background);
+ }
+
+ /* the deco tags will never work in dark mode, so let's just keep the text
+ * as black */
+ div#cgit a.deco,
+ div#cgit a.branch-deco,
+ div#cgit a.tag-deco,
+ div#cgit a.tag-annotated-deco,
+ div#cgit a.remote-deco {
+ color: #000 !important;
+ }
+}
+
+div#cgit {
+ padding: 0em;
+ margin: 0em;
+ font-family: sans-serif;
+ font-size: 10pt;
+ color: var(--color);
+ background: var(--background);
+ padding: 4px;
+}
+
+div#cgit a {
+ color: var(--link-color);
+ text-decoration: none;
+}
+
+div#cgit a:hover {
+ text-decoration: underline;
+}
+
+div#cgit table {
+ border-collapse: collapse;
+}
+
+div#cgit table#header {
+ width: 100%;
+ margin-bottom: 1em;
+}
+
+div#cgit table#header td.logo {
+ width: 96px;
+ vertical-align: top;
+}
+
+div#cgit table#header td.main {
+ font-size: 250%;
+ padding-left: 10px;
+ white-space: nowrap;
+}
+
+div#cgit table#header td.main a {
+ color: var(--main-link);
+}
+
+div#cgit table#header td.form {
+ text-align: right;
+ vertical-align: bottom;
+ padding-right: 1em;
+ padding-bottom: 2px;
+ white-space: nowrap;
+}
+
+div#cgit table#header td.form form,
+div#cgit table#header td.form input,
+div#cgit table#header td.form select {
+ font-size: 90%;
+}
+
+div#cgit table#header td.sub {
+ color: var(--sub);
+ border-top: solid 1px var(--tabs-border);
+ padding-left: 10px;
+}
+
+div#cgit table.tabs {
+ border-bottom: solid 3px var(--tabs-border);
+ border-collapse: collapse;
+ margin-top: 2em;
+ margin-bottom: 0px;
+ width: 100%;
+}
+
+div#cgit table.tabs td {
+ padding: 0px 1em;
+ vertical-align: bottom;
+}
+
+div#cgit table.tabs td a {
+ padding: 2px 0.75em;
+ color: var(--tabs-text);
+ font-size: 110%;
+}
+
+div#cgit table.tabs td a.active {
+ color: var(--tabs-active-text);
+ background-color: var(--tabs-border);
+}
+
+div#cgit table.tabs a[href^="http://"]:after,
+div#cgit table.tabs a[href^="https://"]:after {
+ content: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAQAAAAnOwc2AAAAAmJLR0QA/4ePzL8AAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfgAhcJDQY+gm2TAAAAHWlUWHRDb21tZW50AAAAAABDcmVhdGVkIHdpdGggR0lNUGQuZQcAAABbSURBVAhbY2BABs4MU4CwhYHBh2Erww4wrGFQZHjI8B8IgUIscJWyDHcggltQhI4zGDCcRwhChPggHIggP1QoAVmQkSETrGoHsiAEsACtBYN0oDAMbgU6EBcAAL2eHUt4XUU4AAAAAElFTkSuQmCC);
+ opacity: 0.5;
+ margin: 0 0 0 5px;
+}
+
+div#cgit table.tabs td.form {
+ text-align: right;
+}
+
+div#cgit table.tabs td.form form {
+ padding-bottom: 2px;
+ font-size: 90%;
+ white-space: nowrap;
+}
+
+div#cgit table.tabs td.form input,
+div#cgit table.tabs td.form select {
+ font-size: 90%;
+}
+
+div#cgit div.path {
+ margin: 0px;
+ padding: 5px 2em 2px 2em;
+ color: var(--path);
+ background-color: var(--path-background);
+}
+
+div#cgit div.content {
+ margin: 0px;
+ padding: 2em;
+ border-bottom: solid 3px #ccc;
+}
+
+
+div#cgit table.list {
+ width: 100%;
+ border: none;
+ border-collapse: collapse;
+}
+
+div#cgit table.list tr {
+ background: var(--table-row);
+}
+
+div#cgit table.list tr.logheader {
+ background: #eee;
+}
+
+div#cgit table.list tr:nth-child(even) {
+ background: var(--table-row-alt);
+}
+
+div#cgit table.list tr:nth-child(odd) {
+ background: var(--table-row);
+}
+
+div#cgit table.list tr:hover {
+ background: var(--table-hover);
+}
+
+div#cgit table.list tr.nohover {
+ background: var(--table-row);
+}
+
+div#cgit table.list tr.nohover:hover {
+ background: var(--table-row);
+}
+
+div#cgit table.list tr.nohover-highlight:hover:nth-child(even) {
+ background: var(--table-row-alt);
+}
+
+div#cgit table.list tr.nohover-highlight:hover:nth-child(odd) {
+ background: var(--table-row);
+}
+
+div#cgit table.list th {
+ font-weight: bold;
+ /* color: #888;
+ border-top: dashed 1px #888;
+ border-bottom: dashed 1px #888;
+ */
+ padding: 0.1em 0.5em 0.05em 0.5em;
+ vertical-align: baseline;
+}
+
+div#cgit table.list td {
+ border: none;
+ padding: 0.1em 0.5em 0.1em 0.5em;
+}
+
+div#cgit table.list td.commitgraph {
+ font-family: monospace;
+ white-space: pre;
+}
+
+div#cgit table.list td.commitgraph .column1 {
+ color: #a00;
+}
+
+div#cgit table.list td.commitgraph .column2 {
+ color: #0a0;
+}
+
+div#cgit table.list td.commitgraph .column3 {
+ color: #aa0;
+}
+
+div#cgit table.list td.commitgraph .column4 {
+ color: #00a;
+}
+
+div#cgit table.list td.commitgraph .column5 {
+ color: #a0a;
+}
+
+div#cgit table.list td.commitgraph .column6 {
+ color: #0aa;
+}
+
+@media (prefers-color-scheme: dark) {
+ div#cgit table.list td.commitgraph .column1 {
+ color: rgb(255, 104, 104);
+ }
+
+ div#cgit table.list td.commitgraph .column2 {
+ color: rgb(148, 233, 148);
+ }
+
+ div#cgit table.list td.commitgraph .column3 {
+ color: rgb(255, 255, 104);
+ }
+
+ div#cgit table.list td.commitgraph .column4 {
+ color: rgb(155, 155, 241);
+ }
+
+ div#cgit table.list td.commitgraph .column5 {
+ color: rgb(255, 104, 255);
+ }
+
+ div#cgit table.list td.commitgraph .column6 {
+ color: rgb(148, 233, 233);
+ }
+}
+
+div#cgit table.list td.logsubject {
+ font-family: monospace;
+ font-weight: bold;
+}
+
+div#cgit table.list td.logmsg {
+ font-family: monospace;
+ white-space: pre;
+ padding: 0 0.5em;
+}
+
+div#cgit table.list td a {
+ color: var(--table-link);
+}
+
+div#cgit table.list td a.ls-dir {
+ font-weight: bold;
+ color: var(--link-color)
+}
+
+div#cgit table.list td a:hover {
+ color: var(--link-hover);
+}
+
+div#cgit img {
+ border: none;
+}
+
+div#cgit input#switch-btn {
+ margin: 2px 0px 0px 0px;
+}
+
+div#cgit td#sidebar input.txt {
+ width: 100%;
+ margin: 2px 0px 0px 0px;
+}
+
+div#cgit table#grid {
+ margin: 0px;
+}
+
+div#cgit td#content {
+ vertical-align: top;
+ padding: 1em 2em 1em 1em;
+ border: none;
+}
+
+div#cgit div#summary {
+ vertical-align: top;
+ margin-bottom: 1em;
+}
+
+div#cgit table#downloads {
+ float: right;
+ border-collapse: collapse;
+ border: solid 1px #777;
+ margin-left: 0.5em;
+ margin-bottom: 0.5em;
+}
+
+div#cgit table#downloads th {
+ background-color: #ccc;
+}
+
+div#cgit div#blob {
+ border: solid 1px black;
+}
+
+div#cgit div.error {
+ color: red;
+ font-weight: bold;
+ margin: 1em 2em;
+}
+
+div#cgit a.ls-blob,
+div#cgit a.ls-dir,
+div#cgit .ls-mod {
+ font-family: monospace;
+}
+
+div#cgit td.ls-size {
+ text-align: right;
+ font-family: monospace;
+ width: 10em;
+}
+
+div#cgit td.ls-mode {
+ font-family: monospace;
+ width: 10em;
+}
+
+div#cgit table.blob {
+ margin-top: 0.5em;
+ border-top: solid 1px black;
+}
+
+div#cgit table.blob td.hashes,
+div#cgit table.blob td.lines {
+ margin: 0;
+ padding: 0 0 0 0.5em;
+ vertical-align: top;
+ color: black;
+}
+
+div#cgit table.blob td.linenumbers {
+ margin: 0;
+ padding: 0 0.5em 0 0.5em;
+ vertical-align: top;
+ text-align: right;
+ border-right: 1px solid gray;
+}
+
+div#cgit table.blob pre {
+ padding: 0;
+ margin: 0;
+}
+
+div#cgit table.blob td.linenumbers a,
+div#cgit table.ssdiff td.lineno a {
+ color: gray;
+ text-align: right;
+ text-decoration: none;
+}
+
+div#cgit table.blob td.linenumbers a:hover,
+div#cgit table.ssdiff td.lineno a:hover {
+ color: black;
+}
+
+div#cgit table.blame td.hashes,
+div#cgit table.blame td.lines,
+div#cgit table.blame td.linenumbers {
+ padding: 0;
+}
+
+div#cgit table.blame td.hashes div.alt,
+div#cgit table.blame td.lines div.alt {
+ padding: 0 0.5em 0 0.5em;
+}
+
+div#cgit table.blame td.linenumbers div.alt {
+ padding: 0 0.5em 0 0;
+}
+
+div#cgit table.blame div.alt:nth-child(even) {
+ background: #eee;
+}
+
+div#cgit table.blame div.alt:nth-child(odd) {
+ background: white;
+}
+
+div#cgit table.blame td.lines>div {
+ position: relative;
+}
+
+div#cgit table.blame td.lines>div>pre {
+ padding: 0 0 0 0.5em;
+ position: absolute;
+ top: 0;
+}
+
+div#cgit table.blame .oid {
+ font-size: 100%;
+}
+
+div#cgit table.bin-blob {
+ margin-top: 0.5em;
+ border: solid 1px black;
+}
+
+div#cgit table.bin-blob th {
+ font-family: monospace;
+ white-space: pre;
+ border: solid 1px #777;
+ padding: 0.5em 1em;
+}
+
+div#cgit table.bin-blob td {
+ font-family: monospace;
+ white-space: pre;
+ border-left: solid 1px #777;
+ padding: 0em 1em;
+}
+
+div#cgit table.nowrap td {
+ white-space: nowrap;
+}
+
+div#cgit table.commit-info {
+ border-collapse: collapse;
+ margin-top: 1.5em;
+}
+
+div#cgit div.cgit-panel {
+ float: right;
+ margin-top: 1.5em;
+}
+
+div#cgit div.cgit-panel table {
+ border-collapse: collapse;
+ border: solid 1px #aaa;
+ background-color: #eee;
+}
+
+div#cgit div.cgit-panel th {
+ text-align: center;
+}
+
+div#cgit div.cgit-panel td {
+ padding: 0.25em 0.5em;
+}
+
+div#cgit div.cgit-panel td.label {
+ padding-right: 0.5em;
+}
+
+div#cgit div.cgit-panel td.ctrl {
+ padding-left: 0.5em;
+}
+
+div#cgit table.commit-info th {
+ text-align: left;
+ font-weight: normal;
+ padding: 0.1em 1em 0.1em 0.1em;
+ vertical-align: top;
+}
+
+div#cgit table.commit-info td {
+ font-weight: normal;
+ padding: 0.1em 1em 0.1em 0.1em;
+}
+
+div#cgit div.commit-subject {
+ font-weight: bold;
+ font-size: 125%;
+ margin: 1.5em 0em 0.5em 0em;
+ padding: 0em;
+}
+
+div#cgit div.commit-msg {
+ white-space: pre;
+ font-family: monospace;
+}
+
+div#cgit div.notes-header {
+ font-weight: bold;
+ padding-top: 1.5em;
+}
+
+div#cgit div.notes {
+ white-space: pre;
+ font-family: monospace;
+ border: solid 1px #ee9;
+ background-color: #ffd;
+ padding: 0.3em 2em 0.3em 1em;
+ float: left;
+}
+
+div#cgit div.notes-footer {
+ clear: left;
+}
+
+div#cgit div.diffstat-header {
+ font-weight: bold;
+ padding-top: 1.5em;
+}
+
+div#cgit table.diffstat {
+ border-collapse: collapse;
+ border: solid 1px #aaa;
+ background-color: var(--diffstat-background);
+}
+
+div#cgit table.diffstat th {
+ font-weight: normal;
+ text-align: left;
+ text-decoration: underline;
+ padding: 0.1em 1em 0.1em 0.1em;
+ font-size: 100%;
+}
+
+div#cgit table.diffstat td {
+ padding: 0.2em 0.2em 0.1em 0.1em;
+ font-size: 100%;
+ border: none;
+}
+
+div#cgit table.diffstat td.mode {
+ white-space: nowrap;
+}
+
+div#cgit table.diffstat td span.modechange {
+ padding-left: 1em;
+ color: red;
+}
+
+div#cgit table.diffstat td.add a {
+ color: green;
+}
+
+div#cgit table.diffstat td.del a {
+ color: red;
+}
+
+div#cgit table.diffstat td.upd a {
+ color: blue;
+}
+
+@media (prefers-color-scheme: dark) {
+ div#cgit table.diffstat td.add a {
+ color: rgb(148, 233, 148);
+ }
+
+ div#cgit table.diffstat td.del a {
+ color: rgb(255, 104, 104);
+ }
+
+ div#cgit table.diffstat td.upd a {
+ color: rgb(155, 155, 241);
+ }
+}
+
+div#cgit table.diffstat td.graph {
+ width: 500px;
+ vertical-align: middle;
+}
+
+div#cgit table.diffstat td.graph table {
+ border: none;
+}
+
+div#cgit table.diffstat td.graph td {
+ padding: 0px;
+ border: 0px;
+ height: 7pt;
+}
+
+div#cgit table.diffstat td.graph td.add {
+ background-color: #5c5;
+}
+
+div#cgit table.diffstat td.graph td.rem {
+ background-color: #c55;
+}
+
+div#cgit div.diffstat-summary {
+ color: #888;
+ padding-top: 0.5em;
+}
+
+div#cgit table.diff {
+ width: 100%;
+}
+
+div#cgit table.diff td {
+ font-family: monospace;
+ white-space: pre;
+}
+
+div#cgit table.diff td div.head {
+ font-weight: bold;
+ margin-top: 1em;
+ color: var(--diff-color);
+}
+
+div#cgit table.diff td div.hunk {
+ color: var(--diff-hunk);
+}
+
+div#cgit table.diff td div.add {
+ color: var(--diff-add);
+}
+
+div#cgit table.diff td div.del {
+ color: var(--diff-del);
+}
+
+div#cgit .oid {
+ font-family: monospace;
+ font-size: 90%;
+}
+
+div#cgit .left {
+ text-align: left;
+}
+
+div#cgit .right {
+ text-align: right;
+}
+
+div#cgit table.list td.reposection {
+ font-style: italic;
+ color: var(--reposection);
+}
+
+div#cgit a.button {
+ font-size: 80%;
+ padding: 0em 0.5em;
+}
+
+div#cgit a.primary {
+ font-size: 100%;
+}
+
+div#cgit a.secondary {
+ font-size: 90%;
+}
+
+div#cgit td.toplevel-repo {}
+
+div#cgit table.list td.sublevel-repo {
+ padding-left: 1.5em;
+}
+
+div#cgit ul.pager {
+ list-style-type: none;
+ text-align: center;
+ margin: 1em 0em 0em 0em;
+ padding: 0;
+}
+
+div#cgit ul.pager li {
+ display: inline-block;
+ margin: 0.25em 0.5em;
+}
+
+div#cgit ul.pager a {
+ color: #777;
+}
+
+div#cgit ul.pager .current {
+ font-weight: bold;
+}
+
+div#cgit span.age-mins {
+ font-weight: bold;
+ color: #080;
+}
+
+div#cgit span.age-hours {
+ color: #080;
+}
+
+div#cgit span.age-days {
+ color: #040;
+}
+
+div#cgit span.age-weeks {
+ color: #444;
+}
+
+div#cgit span.age-months {
+ color: #888;
+}
+
+div#cgit span.age-years {
+ color: #bbb;
+}
+
+div#cgit span.insertions {
+ color: #080;
+}
+
+div#cgit span.deletions {
+ color: #800;
+}
+
+@media (prefers-color-scheme: dark) {
+ div#cgit span.age-mins {
+ color: rgb(179, 250, 179);
+ }
+
+ div#cgit span.age-hours {
+ color: rgb(135, 207, 135);
+ }
+
+ div#cgit span.age-days {
+ color: rgb(119, 168, 119);
+ }
+
+ div#cgit span.age-weeks {
+ color: rgb(86, 119, 86);
+ }
+
+ div#cgit span.age-months {
+ color: rgb(136, 139, 137);
+ }
+
+ div#cgit span.age-years {
+ color: rgb(139, 139, 139);
+ }
+
+ div#cgit span.insertions {
+ color: rgb(148, 233, 148);
+ }
+
+ div#cgit span.deletions {
+ color: rgb(255, 104, 104);
+ }
+}
+
+div#cgit div.footer {
+ margin-top: 0.5em;
+ text-align: center;
+ font-size: 80%;
+ color: #ccc;
+}
+
+div#cgit div.footer a {
+ color: #ccc;
+ text-decoration: none;
+}
+
+div#cgit div.footer a:hover {
+ text-decoration: underline;
+}
+
+div#cgit a.branch-deco {
+ color: #000;
+ margin: 0px 0.5em;
+ padding: 0px 0.25em;
+ background-color: #88ff88;
+ border: solid 1px #007700;
+}
+
+div#cgit a.tag-deco {
+ color: #000;
+ margin: 0px 0.5em;
+ padding: 0px 0.25em;
+ background-color: #ffff88;
+ border: solid 1px #777700;
+}
+
+div#cgit a.tag-annotated-deco {
+ color: #000;
+ margin: 0px 0.5em;
+ padding: 0px 0.25em;
+ background-color: #ffcc88;
+ border: solid 1px #777700;
+}
+
+div#cgit a.remote-deco {
+ color: #000;
+ margin: 0px 0.5em;
+ padding: 0px 0.25em;
+ background-color: #ccccff;
+ border: solid 1px #000077;
+}
+
+div#cgit a.deco {
+ color: #000;
+ margin: 0px 0.5em;
+ padding: 0px 0.25em;
+ background-color: #ff8888;
+ border: solid 1px #770000;
+}
+
+div#cgit div.commit-subject a.branch-deco,
+div#cgit div.commit-subject a.tag-deco,
+div#cgit div.commit-subject a.tag-annotated-deco,
+div#cgit div.commit-subject a.remote-deco,
+div#cgit div.commit-subject a.deco {
+ margin-left: 1em;
+ font-size: 75%;
+}
+
+div#cgit table.stats {
+ border: solid 1px var(--color);
+ border-collapse: collapse;
+}
+
+div#cgit table.stats th {
+ text-align: left;
+ padding: 1px 0.5em;
+ background-color: var(--background);
+ border: solid 1px var(--color);
+}
+
+div#cgit table.stats td {
+ text-align: right;
+ padding: 1px 0.5em;
+ border: solid 1px var(--color);
+}
+
+div#cgit table.stats td.total {
+ font-weight: bold;
+ text-align: left;
+}
+
+div#cgit table.stats td.sum {
+ color: var(--stats-total);
+ font-weight: bold;
+ /* background-color: #eee; */
+}
+
+div#cgit table.stats td.left {
+ text-align: left;
+}
+
+div#cgit table.vgraph {
+ border-collapse: separate;
+ border: solid 1px black;
+ height: 200px;
+}
+
+div#cgit table.vgraph th {
+ background-color: #eee;
+ font-weight: bold;
+ border: solid 1px white;
+ padding: 1px 0.5em;
+}
+
+div#cgit table.vgraph td {
+ vertical-align: bottom;
+ padding: 0px 10px;
+}
+
+div#cgit table.vgraph div.bar {
+ background-color: #eee;
+}
+
+div#cgit table.hgraph {
+ border: solid 1px black;
+ width: 800px;
+}
+
+div#cgit table.hgraph th {
+ background-color: #eee;
+ font-weight: bold;
+ border: solid 1px black;
+ padding: 1px 0.5em;
+}
+
+div#cgit table.hgraph td {
+ vertical-align: middle;
+ padding: 2px 2px;
+}
+
+div#cgit table.hgraph div.bar {
+ background-color: #eee;
+ height: 1em;
+}
+
+div#cgit table.ssdiff {
+ width: 100%;
+}
+
+div#cgit table.ssdiff td {
+ font-size: 75%;
+ font-family: monospace;
+ white-space: pre;
+ padding: 1px 4px 1px 4px;
+ border-left: solid 1px #aaa;
+ border-right: solid 1px #aaa;
+}
+
+div#cgit table.ssdiff td.add {
+ color: black;
+ background: #cfc;
+ min-width: 50%;
+}
+
+div#cgit table.ssdiff td.add_dark {
+ color: black;
+ background: #aca;
+ min-width: 50%;
+}
+
+div#cgit table.ssdiff span.add {
+ background: #cfc;
+ font-weight: bold;
+}
+
+div#cgit table.ssdiff td.del {
+ color: black;
+ background: #fcc;
+ min-width: 50%;
+}
+
+div#cgit table.ssdiff td.del_dark {
+ color: black;
+ background: #caa;
+ min-width: 50%;
+}
+
+div#cgit table.ssdiff span.del {
+ background: #fcc;
+ font-weight: bold;
+}
+
+div#cgit table.ssdiff td.changed {
+ color: black;
+ background: #ffc;
+ min-width: 50%;
+}
+
+div#cgit table.ssdiff td.changed_dark {
+ color: black;
+ background: #cca;
+ min-width: 50%;
+}
+
+div#cgit table.ssdiff td.lineno {
+ color: black;
+ background: #eee;
+ text-align: right;
+ width: 3em;
+ min-width: 3em;
+}
+
+div#cgit table.ssdiff td.hunk {
+ color: black;
+ background: #ccf;
+ border-top: solid 1px #aaa;
+ border-bottom: solid 1px #aaa;
+}
+
+div#cgit table.ssdiff td.head {
+ border-top: solid 1px #aaa;
+ border-bottom: solid 1px #aaa;
+}
+
+div#cgit table.ssdiff td.head div.head {
+ font-weight: bold;
+ color: black;
+}
+
+div#cgit table.ssdiff td.foot {
+ border-top: solid 1px #aaa;
+ border-left: none;
+ border-right: none;
+ border-bottom: none;
+}
+
+div#cgit table.ssdiff td.space {
+ border: none;
+}
+
+div#cgit table.ssdiff td.space div {
+ min-height: 3em;
+}
+
+/* Style definition file generated by highlight 3.9, http://www.andre-simon.de/ */
+/* Highlighting theme: Kwrite Editor */
+/* adapted for cgit */
+div#cgit table.blob .num {
+ color: #b07e00;
+}
+
+div#cgit table.blob .esc {
+ color: #ff00ff;
+}
+
+div#cgit table.blob .str {
+ color: #bf0303;
+}
+
+div#cgit table.blob .pps {
+ color: #818100;
+}
+
+div#cgit table.blob .slc {
+ color: #838183;
+ font-style: italic;
+}
+
+div#cgit table.blob .com {
+ color: #838183;
+ font-style: italic;
+}
+
+div#cgit table.blob .ppc {
+ color: #008200;
+}
+
+div#cgit table.blob .opt {
+ color: #000000;
+}
+
+div#cgit table.blob .lin {
+ color: #555555;
+}
+
+div#cgit table.blob .kwa {
+ color: #000000;
+ font-weight: bold;
+}
+
+div#cgit table.blob .kwb {
+ color: #0057ae;
+}
+
+div#cgit table.blob .kwc {
+ color: #000000;
+ font-weight: bold;
+}
+
+div#cgit table.blob .kwd {
+ color: #010181;
+}
diff --git a/css/header.css b/css/header.css
new file mode 100644
index 0000000..4830f72
--- /dev/null
+++ b/css/header.css
@@ -0,0 +1,21 @@
+div.page_header {
+ width: 100%;
+ display: flex;
+ justify-content: center;
+
+ background-color: var(--theme-color);
+ border-radius: 15px 15px 0 0;
+}
+
+.floating_element {
+ color: var(--bg-color);
+ position: relative;
+ background-color: var(--theme-color);
+ border-radius: 0px 0px 20px 20px;
+ text-align: center;
+
+ img {
+ max-width: 13%;
+ display: block;
+ }
+}
diff --git a/css/isso.css b/css/isso.css
new file mode 100644
index 0000000..d8b3f00
--- /dev/null
+++ b/css/isso.css
@@ -0,0 +1,324 @@
+/* ========================================================================== */
+/* Generic styling */
+/* ========================================================================== */
+#isso-thread * {
+ /* Reset */
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+}
+
+/* ========================================================================== */
+/* Thread heading area */
+/* ========================================================================== */
+#isso-thread {
+ padding: 4px 8px 4px 8px;
+ margin: 0;
+ text-align: left;
+ color: var(--text-color);
+}
+h4.isso-thread-heading {
+ padding-bottom: 8px;
+ color: var(--gray-color);
+ font-weight: bold;
+}
+.isso-feedlink {
+ padding-bottom: 8px;
+ float: right;
+ padding-left: 1em;
+}
+.isso-feedlink a {
+ font-size: 0.8em;
+ vertical-align: bottom;
+}
+
+/* ========================================================================== */
+/* Comments */
+/* ========================================================================== */
+
+.isso-comment {
+ max-width: 68em;
+ margin: 0 auto;
+}
+.isso-preview .isso-comment {
+ padding-top: 0;
+ margin: 0;
+}
+.isso-comment:not(:first-of-type),
+.isso-follow-up .isso-comment {
+ border-top: 1px solid rgba(0, 0, 0, 0.1);
+ margin-bottom: 0.5em;
+}
+.isso-avatar {
+ display: block;
+ float: left;
+ margin: 0.95em 0.95em 0;
+}
+.isso-avatar svg {
+ max-width: 48px;
+ max-height: 48px;
+ width: 100%;
+ height: 100%;
+ border: 1px solid rgba(0, 0, 0, 0.2);
+ border-radius: 3px;
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
+}
+.isso-text-wrapper {
+ display: block;
+ padding: 0.95em;
+}
+.isso-follow-up {
+ padding-left: calc(7% + 20px);
+}
+.isso-comment-footer {
+ font-size: 0.95em;
+}
+.isso-comment-header {
+ font-size: 0.85em;
+}
+.isso-comment-header a {
+ text-decoration: none;
+}
+/* Only for comment header, spacer between up-/downvote should have no padding */
+.isso-comment-header .isso-spacer {
+ padding: 0 6px;
+}
+.isso-spacer,
+.isso-permalink,
+.isso-note,
+.isso-parent {
+ color: gray;
+ font-weight: normal;
+ text-shadow: none;
+}
+.isso-spacer:hover,
+.isso-permalink:hover,
+.isso-note:hover,
+.isso-parent:hover {
+ color: #606060;
+}
+.isso-note {
+ float: right;
+}
+.isso-author {
+ font-weight: bold;
+ color: var(--gray-color);
+}
+.isso-page-author-suffix {
+ font-weight: bold;
+ color: #2c2c2c;
+}
+.isso-textarea,
+.isso-preview {
+ margin-top: 0.2em;
+ width: 100%;
+ border: 1px solid #f0f0f0;
+ border-radius: 2px;
+ box-shadow: 0 0 2px #888;
+}
+.isso-text p {
+ margin-top: 0.2em;
+}
+.isso-text p:last-child {
+ margin-bottom: 0.2em;
+}
+.isso-text h1,
+.isso-text h2,
+.isso-text h3,
+.isso-text h4,
+.isso-text h5,
+.isso-text h6 {
+ font-size: 130%;
+ font-weight: bold;
+}
+.isso-comment-footer {
+ font-size: 0.80em;
+ color: gray;
+ clear: left;
+}
+.isso-feedlink,
+.isso-comment-footer a {
+ font-weight: bold;
+ text-decoration: none;
+}
+.isso-feedlink:hover,
+.isso-comment-footer a:hover {
+ color: #111111;
+ text-shadow: #aaaaaa 0 0 1px;
+}
+.isso-comment-footer > a {
+ position: relative;
+ top: .2em;
+}
+.isso-comment-footer > a + a {
+ padding-left: 1em;
+}
+.isso-comment-footer .isso-votes {
+ color: gray;
+}
+.isso-upvote svg,
+.isso-downvote svg {
+ position: relative;
+ top: .2em;
+}
+/* Reply postbox under existing comment */
+.isso-comment .isso-postbox {
+ margin-top: 0.8em;
+}
+.isso-comment.isso-no-votes > * > .isso-comment-footer .isso-votes {
+ display: none;
+}
+
+/* ========================================================================== */
+/* Postbox */
+/* ========================================================================== */
+.isso-postbox {
+ max-width: 68em;
+ margin: 0 auto;
+ clear: right;
+}
+.isso-form-wrapper {
+ display: block;
+ padding: 0;
+ background: var(--bg-color);
+ color: var(--text-color);
+}
+.isso-textarea,
+.isso-preview {
+ margin: 0 0 .3em;
+ padding: .4em .8em;
+ border-radius: 3px;
+ border: 1px solid rgba(0, 0, 0, 0.2);
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
+}
+.isso-textarea {
+ outline: 0;
+ width: 100%;
+ resize: none;
+ background: var(--bg-color);
+ color: var(--text-color);
+}
+.isso-form-wrapper input[type=checkbox] {
+ vertical-align: middle;
+ position: relative;
+ accent-color: var(--theme-color);
+ background: var(--bg-color);
+ margin-left: 0;
+ margin-right: 4px;
+}
+.isso-notification-section {
+ font-size: 0.90em;
+ padding-top: .3em;
+ display: none;
+ padding-bottom: 10px;
+}
+.isso-auth-section {
+ display: block;
+}
+.isso-textarea:focus,
+.isso-auth-section input:focus {
+ border-color: rgba(0, 0, 0, 0.8);
+}
+.isso-input-wrapper {
+ display: inline-block;
+ position: relative;
+ max-width: 25%;
+ margin: 0;
+}
+.isso-input-wrapper input {
+ padding: .3em 10px;
+ max-width: 100%;
+ border-radius: 3px;
+ line-height: 1.4em;
+ border: 1px solid rgba(0, 0, 0, 0.2);
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
+ background: var(--bg-color);
+ color: var(--text-color);
+}
+.isso-input-wrapper label {
+ display: inline-block;
+ line-height: 1.4em;
+ height: 1.4em;
+}
+.isso-post-action {
+ display: block;
+ float: right;
+ margin: 1.4em 0 0 5px;
+}
+.isso-post-action > input {
+ padding: calc(.3em - 1px);
+ border-radius: 2px;
+ border: 1px solid rgba(0, 0, 0, 0.2);
+ cursor: pointer;
+ outline: 0;
+ line-height: 1.4em;
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
+ background: var(--bg-color);
+ color: var(--text-color);
+}
+.isso-post-action > input:hover {
+ background-color: var(--gray-color);
+}
+.isso-post-action > input:active {
+ background-color: var(--theme-color);
+}
+
+/* ========================================================================== */
+/* Postbox (preview mode) */
+/* ========================================================================== */
+.isso-preview,
+.isso-post-action input[name="edit"],
+.isso-postbox.isso-preview-mode > .isso-form-wrapper input[name="preview"],
+.isso-postbox.isso-preview-mode > .isso-form-wrapper .isso-textarea {
+ display: none;
+}
+.isso-postbox.isso-preview-mode > .isso-form-wrapper .isso-preview {
+ display: block;
+}
+.isso-postbox.isso-preview-mode > .isso-form-wrapper input[name="edit"] {
+ display: inline;
+}
+.isso-preview {
+ /*background-color: #f8f8f8;
+ background: repeating-linear-gradient(
+ -45deg,
+ #f8f8f8,
+ #f8f8f8 10px,
+ #fff 10px,
+ #fff 20px
+ );*/
+}
+
+/* ========================================================================== */
+/* Animations */
+/* ========================================================================== */
+
+/* "target" means the comment that's being linked to, for example:
+ * https://example.com/blog/example/#isso-15
+ */
+.isso-target {
+ animation: isso-target-fade 5s ease-out;
+}
+@keyframes isso-target-fade {
+ 0% { background-color: #eee5a1; }
+ /* This color should be changed when used on a dark background,
+ * maybe #3f3c1c for example
+ */
+}
+
+/* ========================================================================== */
+/* Media queries */
+/* ========================================================================== */
+@media screen and (max-width:600px) {
+ .isso-input-wrapper {
+ display: block;
+ max-width: 100%;
+ margin: 0 0 .3em;
+ }
+ .isso-input-wrapper input {
+ width: 100%;
+ }
+ .isso-post-action {
+ margin-top: 0;
+ }
+}
diff --git a/css/main.css b/css/main.css
new file mode 100644
index 0000000..d6c0d76
--- /dev/null
+++ b/css/main.css
@@ -0,0 +1,254 @@
+* {
+ margin: 0;
+ padding: 0;
+ box-sizing: border-box;
+ hyphens: auto;
+ /*word-break: break-all;*/
+}
+
+html {
+ min-height: 100%;
+ min-width: 100%;
+
+ display: flex;
+ flex-direction: column;
+}
+
+body {
+ min-height: 100%;
+ width: 100%;
+
+ display: flex;
+ flex-direction: column;
+ flex-grow: 1;
+
+ font-family: Verdana, sans-serif;
+ font-size: 11pt;
+
+ text-align: center;
+}
+
+div#page, div#divbodyholder, div#cgit {
+ background-color: var(--bg-color);
+
+ padding: 3px 0px 3px 0px;
+
+ min-height: 100%;
+ width: 100%;
+
+ flex-grow: 1;
+
+ /*background-image: url(/icons/collage.png);
+ background-size: contain;
+ background-attachment: fixed;
+ background-repeat: repeat;*/
+}
+
+div.inner_page {
+ position: relative;
+
+ width: 65%;
+
+ align-items: center;
+ justify-content: center;
+
+ margin: 0px auto 0px auto;
+
+ border-width: 0px;
+ border-color: var(--theme-color);
+ border-style: solid;
+ border-radius: 15px;
+
+ box-shadow: 0px 0px 33px 14px #000000;
+}
+
+div.page_header {
+ padding-top: 2em;
+ padding-bottom: 2em;
+ width: 100%;
+ display: flex;
+ justify-content: center;
+
+ background-color: var(--theme-color);
+ border-radius: 15px 15px 0 0;
+}
+
+
+div.page_header img {
+ margin: 3px 0px 0px 40px;
+
+ border: 0px 0px 0px;
+}
+
+div.table_of_contents {
+ clear: center;
+
+ min-width: 200px;
+
+ margin: 3px 3px 3px 3px;
+ padding: 10px;
+
+ background-color: var(--bg-color);
+
+ text-align: center;
+}
+
+div.table_of_contents_item {
+ clear: center;
+ text-align: center;
+
+ width: 100%;
+ margin: 4px 0px 0px 0px;
+
+ background-color: var(--bg-color);
+ color: var(--text-color);
+}
+
+div.table_of_contents_item a {
+ margin: 6px 0px 0px 6px;
+}
+
+div.content_section, div.content {
+ margin: 3px 3px 3px 3px;
+ background-color: var(--bg-color);
+ text-align: left;
+}
+
+div.content_section_text, div.content {
+ padding: 4px 8px 4px 8px;
+ color: var(--text-color);
+}
+
+a.ablack {
+ color: var(--bg-color);
+ text-decoration: none;
+}
+
+div.subtitle {
+ margin-bottom: 2ex;
+ text-align: center;
+}
+
+div#footer {
+ padding-top: 5px;
+ color: var(--text-color);
+}
+
+div.content_section_text pre {
+ margin: 8px 0px 8px 0px;
+ padding: 8px 8px 8px 8px;
+
+ border-width: 1px;
+ border-style: solid;
+ border-color: var(--text-color);
+
+ background-color: var(--bg-color);
+
+ font-style: italic;
+}
+
+div.content_section_text p,
+div.content p {
+ margin-bottom: 6px;
+ text-align: left;
+}
+
+div.content_section_text p:first-letter,
+div.content:first-letter {
+ font-size: 15pt;
+}
+
+ul, ol {
+ padding: 4px 8px 4px 16px;
+ margin-left: 1%;
+
+ text-align: left;
+}
+
+div.section_header,
+summary.section_header {
+ padding: 3px 6px 3px 6px;
+ border-radius: 15px;
+
+ background-color: var(--theme-color);
+
+ color: var(--bg-color);
+ font-weight: bold;
+ font-size: 112%;
+ text-align: center;
+}
+
+div.section_header_last {
+ border-radius: 0px 0px 15px 15px;
+}
+
+.floating_element {
+ color: var(--bg-color);
+ position: relative;
+ background-color: var(--theme-color);
+ border-radius: 0px 0px 20px 20px;
+
+ img {
+ max-width: 13%;
+ display: block;
+ }
+}
+
+table.services_table {
+ border-collapse: collapse;
+
+ padding: 5px 20px 15px 20px;
+ margin: 10px auto 10px auto;
+}
+
+tr.services_table_item {
+ border-top: 1px solid var(--text-color);
+ border-bottom: 1px solid var(--text-color);
+}
+
+td:nth-of-type(5) {
+ word-break: break-all;
+}
+
+/*img.floating_element {
+ justify-content: center;
+ position: relative;
+ float: left;
+ max-width: 13%;
+}*/
+
+a {
+ color: var(--text-color);
+ word-break: break-all;
+}
+
+a:hover {
+ text-decoration: underline;
+ font-weight: bold;
+ color: var(--text-color);
+}
+
+div.section_header_last a:visited,
+div.section_header_last a:link,
+div.section_header_last a:active {
+ font-weight: initial;
+}
+
+div.section_header_last a:hover {
+ text-decoration: underline;
+ font-weight: bold;
+ color: var(--text-color);
+}
+
+.word-break {
+ word-break: all;
+}
+
+div.validator {
+}
+
+/*
+ * There was a CSS snippet to reset custom browser behaviour
+ * https://stackoverflow.com/a/19184796
+ *
+ */
diff --git a/css/responsivity.css b/css/responsivity.css
new file mode 100644
index 0000000..58fc1f3
--- /dev/null
+++ b/css/responsivity.css
@@ -0,0 +1,193 @@
+@media (max-width: 1024px) and (min-width: 401px) and (orientation: portrait){
+ div.inner_page {
+ width: 95%;
+ }
+
+ body {
+ font-size: 32pt;
+ }
+
+ div.content_section_text p::first-letter,div.content::first-letter {
+ font-size: 37pt;
+ }
+
+ /* https://css-tricks.com/responsive-data-tables/ */
+
+ /*
+ * Force table to not be like tables anymore
+ */
+ table, thead, tbody, th, td, tr {
+ display: block;
+ }
+
+ /*
+ * Hide table headers (but not display: none;, for accessibility)
+ */
+ thead tr {
+ position: absolute;
+ top: -9999%;
+ left: -9999%;
+ }
+
+ td {
+ /* Behave like a "row" */
+ border: none;
+ position: relative;
+ padding-left: 50%;
+ }
+
+ td::before {
+ /* Now like a table header */
+ position: absolute;
+ /* Top/left values mimic padding */
+ top: 6px;
+ left: 6px;
+ width: 45%;
+ padding-right: 10px;
+ white-space: nowrap;
+ }
+}
+
+/* iframe */
+@media (width: 400px) and (height: 250px) {
+ div.inner_page {
+ width: 95%;
+ }
+
+ body {
+ font-size: 11pt;
+ }
+
+ div.content_section_text p::first-letter,div.content::first-letter {
+ font-size: 15pt;
+ }
+
+ /*
+ * Force table to not be like tables anymore
+ */
+ table, thead, tbody, th, td, tr {
+ display: block;
+ }
+
+ /*
+ * Hide table headers (but not display: none;, for accessibility)
+ */
+ thead tr {
+ position: absolute;
+ top: -9999%;
+ left: -9999%;
+ }
+
+ td {
+ /* Behave like a "row" */
+ border: none;
+ position: relative;
+ padding-left: 50%;
+ }
+
+ td::before {
+ /* Now like a table header */
+ position: absolute;
+ /* Top/left values mimic padding */
+ left: 6px;
+ width: 45%;
+ padding-right: 10px;
+ white-space: nowrap;
+ }
+}
+
+@media (max-width: 400px) and (orientation: portrait){
+ div.inner_page {
+ width: 100%;
+ margin: 0;
+ }
+
+ body {
+ font-size: 24pt;
+ }
+}
+@media only screen and (orientation: landscape)
+ and (min-width: 992px)
+ and (max-width: 1199px) {
+ body { font-size: 14pt; }
+ }
+ @media only screen and (orientation: landscape)
+ and (min-width: 768px)
+ and (max-width: 991px) {
+ body { font-size: 14pt; }
+ }
+ @media only screen and (orientation: landscape)
+ and (min-width: 480px)
+ and (max-width: 767px) {
+ body { font-size: 11pt; }
+ }
+ @media only screen and (orientation: landscape)
+ and (max-width: 479px) {
+ body { font-size: 8pt; }
+ }
+ @media only screen and (orientation: landscape)
+ and (min-device-width : 375px)
+ and (max-device-width : 667px) {
+ body { font-size: 9.5pt; }
+ }
+
+/* https://css-tricks.com/responsive-data-tables/ */
+/*
+Max width before this PARTICULAR table gets nasty
+This query will take effect for any screen smaller than 760px
+and also iPads specifically.
+*/
+/*@media
+only screen and (max-width: 760px),
+(min-device-width: 768px) and (max-device-width: 1024px) {*/
+@media (max-width: 1024px) and (min-width: 401px) {
+ div.inner_page {
+ width: 95%;
+ }
+
+ body {
+ font-size: 32pt;
+ }
+
+ div.content_section_text p::first-letter,div.content::first-letter {
+ font-size: 37pt;
+ }
+
+ /*
+ * Force table to not be like tables anymore
+ */
+ table, thead, tbody, th, td, tr {
+ display: block;
+ }
+
+ /*
+ * Hide table headers (but not display: none;, for accessibility)
+ */
+ thead tr {
+ position: absolute;
+ top: -9999%;
+ left: -9999%;
+ }
+
+ tbody tr {
+ border-top: 5px solid var(--gray-color);
+ border-bottom: 5px solid var(--gray-color);
+ }
+
+ td {
+ /* Behave like a "row" */
+ border: none;
+ position: relative;
+ padding-left: 50%;
+ }
+
+ td::before {
+ /* Now like a table header */
+ position: absolute;
+ /* Top/left values mimic padding */
+ left: 6px;
+ width: 45%;
+ padding-right: 10px;
+ white-space: nowrap;
+ }
+}
diff --git a/css/theme.css b/css/theme.css
new file mode 100644
index 0000000..2d15bc5
--- /dev/null
+++ b/css/theme.css
@@ -0,0 +1,85 @@
+/* Thanks to https://alexandersandberg.com/articles/creating-a-website-theme-switcher-with-css-only */
+:root {
+ /* Light mode */
+ --light-text: #222430;
+ --light-bg: #f5f6f7;
+ --light-theme: #1f9aff;
+ --light-gray: #707070;
+
+ /* Dark mode */
+ --dark-text: #f7f7f7;
+ --dark-bg: #222430;
+ --dark-theme: #bd93f9;
+ --dark-gray: #838383;
+
+ /* Default mode */
+ --text-color: var(--dark-text);
+ --bg-color: var(--dark-bg);
+ --theme-color: var(--dark-theme);
+ --gray-color: var(--dark-gray);
+}
+
+#theme-switch:checked ~ #page {
+ --text-color: var(--light-text);
+ --bg-color: var(--light-bg);
+ --theme-color: var(--light-theme);
+ --gray-color: var(--light-gray);
+}
+
+#theme-switch:checked ~ #divbodyholder {
+ --text-color: var(--light-text);
+ --bg-color: var(--light-bg);
+ --theme-color: var(--light-theme);
+ --gray-color: var(--light-gray);
+}
+
+:root {
+ /* Light mode */
+ --light-switch-text: "тёмный|dark";
+
+ /* Dark mode */
+ --dark-switch-text: "светлый|light";
+
+ /* Default mode */
+ --switch-text: var(--dark-switch-text);
+}
+
+#theme-switch:checked ~ #page {
+ --switch-text: var(--light-switch-text);
+}
+
+#theme-switch:checked ~ #divbodyholder {
+ --switch-text: var(--light-switch-text);
+}
+
+#switch-label::after {
+ content: var(--switch-text);
+}
+
+#theme-switch {
+ position: absolute !important;
+ height: 0px;
+ width: 0px;
+ overflow: hidden;
+ clip: rect(1px, 1px, 1px, 1px);
+}
+
+@media (prefers-color-scheme: dark) {
+ :root {
+ --switch-text: var(--dark-switch-text);
+ --text-color: var(--dark-text);
+ --bg-color: var(--dark-bg);
+ --theme-color: var(--dark-theme);
+ --gray-color: var(--dark-gray);
+ }
+}
+
+@media (prefers-color-scheme: light) {
+ :root {
+ --switch-text: var(--light-switch-text);
+ --text-color: var(--light-text);
+ --bg-color: var(--light-bg);
+ --theme-color: var(--light-theme);
+ --gray-color: var(--light-gray);
+ }
+}
diff --git a/css/third-party.css b/css/third-party.css
new file mode 100644
index 0000000..454ef1f
--- /dev/null
+++ b/css/third-party.css
@@ -0,0 +1,15 @@
+.spoiler, .spoiler a {
+ color: black;
+ background-color: black;
+}
+
+.spoiler:hover, .spoiler:hover a {
+ color: gray;
+}
+
+/* https://flaviocopes.com/css-system-fonts */
+body {
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto",
+ "Oxygen", "Ubuntu", "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji",
+ "Segoe UI Emoji", "Segoe UI Symbol";
+}