gitea/public/css/theme-martian.css

752 lines
18 KiB
CSS

/* derived from https://github.com/go-gitea/gitea/blob/main/web_src/less/themes/theme-arc-green.less */
@font-face {
font-family: Mononoki;
src: url("https://tebibyte.media/blog/assets/mononoki.ttf") format("truetype"),
url("https://tebibyte.media/blog/assets/mononoki.woff2") format("woff2"),
url("https://tebibyte.media/blog/assets/mononoki.woff") format("woff");
}
@font-face {
font-family: Ubuntu;
src: url("https://tebibyte.media/assets/fonts/ubuntu.ttf") format("truetype"),
url("https://tebibyte.media/assets/fonts/ubuntu.woff2") format("woff2"),
url("https://tebibyte.media/assets/fonts/ubuntu.woff") format("woff");
}
@font-face {
font-family: Ubuntu Mono Ligaturized;
src: url("https://tebibyte.media/assets/fonts/UbuntuMonoLigaturized-Regular.ttf") format("truetype");
}
:root {
--fonts-override: Ubuntu !important;
--fonts-monospace: Ubuntu Mono Ligaturized !important;
--textured-background: url("https://tebibyte.media/blog/assets/tib_bg.jpg");
--blur-light: blur(10px);
--blur-heavy: blur(32px);
--is-dark-theme: true;
--color-primary: hsl(0, 80%, 40%);
--color-primary-dark-1: hsl(0, 80%, 38%);
--color-primary-dark-2: hsl(0, 80%, 36%);
--color-primary-dark-3: hsl(0, 80%, 34%);
--color-primary-dark-4: hsl(0, 80%, 32%);
--color-primary-dark-5: hsl(0, 80%, 30%);
--color-primary-dark-6: hsl(0, 80%, 28%);
--color-primary-dark-7: hsl(0, 80%, 26%);
--color-primary-light-1: hsl(0, 80%, 42%);
--color-primary-light-2: hsl(0, 80%, 44%);
--color-primary-light-3: hsl(0, 80%, 46%);
--color-primary-light-4: hsl(0, 80%, 48%);
--color-primary-light-5: hsl(0, 80%, 50%);
--color-primary-light-6: hsl(0, 80%, 52%);
--color-primary-light-7: hsl(0, 80%, 54%);
--color-primary-alpha-10: hsla(0, 80%, 40%, 10%);
--color-primary-alpha-20: hsla(0, 80%, 40%, 20%);
--color-primary-alpha-30: hsla(0, 80%, 40%, 30%);
--color-primary-alpha-40: hsla(0, 80%, 40%, 40%);
--color-primary-alpha-50: hsla(0, 80%, 40%, 50%);
--color-primary-alpha-60: hsla(0, 80%, 40%, 60%);
--color-primary-alpha-70: hsla(0, 80%, 40%, 70%);
--color-primary-alpha-80: hsla(0, 80%, 40%, 80%);
--color-primary-alpha-90: hsla(0, 80%, 40%, 90%);
--color-secondary: hsl(0, 20%, 20%);
--color-secondary-dark-1: hsl(0, 20%, 22%);
--color-secondary-dark-2: hsl(0, 20%, 24%);
--color-secondary-dark-3: hsl(0, 20%, 26%);
--color-secondary-dark-4: hsl(0, 20%, 28%);
--color-secondary-dark-5: hsl(0, 20%, 30%);
--color-secondary-dark-6: hsl(0, 20%, 32%);
--color-secondary-dark-7: hsl(0, 20%, 34%);
--color-secondary-dark-8: hsl(0, 20%, 36%);
--color-secondary-dark-9: hsl(0, 20%, 38%);
--color-secondary-dark-10: hsl(0, 20%, 40%);
--color-secondary-dark-11: hsl(0, 20%, 42%);
--color-secondary-dark-12: hsl(0, 20%, 44%);
--color-secondary-dark-13: hsl(0, 20%, 46%);
--color-secondary-light-1: hsl(0, 20%, 18%);
--color-secondary-light-2: hsl(0, 20%, 16%);
--color-secondary-light-3: hsl(0, 20%, 14%);
--color-secondary-light-4: hsl(0, 20%, 12%);
--color-secondary-alpha-10: hsla(0, 20%, 20%, 10%);
--color-secondary-alpha-20: hsla(0, 20%, 20%, 20%);
--color-secondary-alpha-30: hsla(0, 20%, 20%, 30%);
--color-secondary-alpha-40: hsla(0, 20%, 20%, 40%);
--color-secondary-alpha-50: hsla(0, 20%, 20%, 50%);
--color-secondary-alpha-60: hsla(0, 20%, 20%, 60%);
--color-secondary-alpha-70: hsla(0, 20%, 20%, 70%);
--color-secondary-alpha-80: hsla(0, 20%, 20%, 80%);
--color-secondary-alpha-90: hsla(0, 0%, 20%, 90%);
/* colors */
--color-red: hsl(0, 80%, 40%);
--color-orange: #f2711c;
--color-yellow: #fbbd08;
--color-olive: #b5cc18;
--color-green: #21ba45;
--color-teal: #00b5ad;
--color-blue: #2185d0;
--color-violet: #6435c9;
--color-purple: #a333c8;
--color-pink: #e03997;
--color-brown: #a5673f;
--color-grey: #767a85;
--color-black: #1e222e;
--color-gold: #a1882b;
--color-white: #ffffff;
--color-diff-removed-word-bg: #6f3333;
--color-diff-added-word-bg: #3c653c;
--color-diff-removed-row-bg: #3c2626;
--color-diff-moved-row-bg: #818044;
--color-diff-added-row-bg: #283e2d;
--color-diff-removed-row-border: #634343;
--color-diff-moved-row-border: #bcca6f;
--color-diff-added-row-border: #314a37;
--color-diff-inactive: #353846;
--color-error-border: #a53a37;
--color-error-bg: #482c2c;
--color-error-text: #ff4433;
--color-success-border: #458a57;
--color-success-bg: #284034;
--color-success-text: #6cc664;
--color-warning-border: #bb9d00;
--color-warning-bg: #3a3a30;
--color-warning-text: #fbbd08;
--color-info-border: #306090;
--color-info-bg: #26354c;
--color-info-text: #38a8e8;
/* target-based colors */
--color-body: hsl(0, 20%, 7%);
--color-box-header: hsl(0, 20%, 12%);
--color-box-body: hsl(0, 20%, 9%);
--color-box-body-highlight: #353945;
--color-text-dark: hsl(0, 25%, 95%);
--color-text: hsl(0, 25%, 90%);
--color-text-light: hsl(0, 25%, 80%);
--color-text-light-1: hsl(0, 25%, 70%);
--color-text-light-2: hsl(0, 25%, 60%);
--color-text-light-3: hsl(0, 25%, 50%);
--color-footer: hsl(0, 20%, 5%);
--color-timeline: var(--color-secondary);
--color-input-text: hsl(0, 25%, 90%);
--color-input-background: hsl(0, 20%, 7%);
--color-input-border: hsl(0, 80%, 20%);
--color-input-border-hover: hsl(0, 80%, 30%);
--color-navbar: hsl(0, 20%, 10%);
--color-navbar-transparent: #2a2e3a00;
--color-light: #00000028;
--color-light-mimic-enabled: rgba(0, 0, 0, calc(40 / 255 * 222 / 255 / var(--opacity-disabled)));
--color-light-border: hsla(0, 80%, 40%, 40%);
--color-hover: #ffffff10;
--color-active: #ffffff16;
--color-menu: hsl(0, 20%, 15%);
--color-card: hsl(0, 20%, 10%);
--color-markup-table-row: #ffffff06;
--color-markup-code-block: hsl(0, 20%, 12%);
--color-button: hsl(0, 20%, 13%);
--color-code-bg: hsl(0, 20%, 7%);
--color-code-sidebar-bg: #2e323e;
--color-shadow: #00000060;
--color-secondary-bg: #2a2e3a;
--color-text-focus: #fff;
--color-expand-button: #3c404d;
--color-placeholder-text: #6a737d;
--color-editor-line-highlight: var(--color-primary-light-5);
--color-project-board-bg: var(--color-secondary-light-2);
--color-caret: var(--color-text);
--color-reaction-bg: #ffffff12;
--color-reaction-active-bg: var(--color-primary-alpha-40);
}
::-webkit-calendar-picker-indicator {
filter: invert(.8);
}
.ui.horizontal.segments > .segment {
background-color: hsl(0, 20%, 13%);
}
.ui .background.grey, .ui .background.light.grey {
background-color: hsl(0, 20%, 20%) !important;
}
.ui.purple.labels .label, .ui.ui.ui.purple.label {
background-color: var(--color-purple) !important;
border-color: var(--color-purple) !important;
}
.ui.divider:not(.vertical):not(.horizontal) {
border-bottom-color: var(--color-secondary);
border-top-color: transparent;
}
.repository .header-wrapper .ui.tabs.divider {
border: none;
}
.following.bar.light {
background: hsl(0, 20%, 13%);
border-color: hsl(0, 20%, 16%);
}
.following.bar .top.menu a.item:hover {
color: var(--color-text);
}
.ui.red.label,
.ui.red.labels .label {
background-color: #7d3434 !important;
border-color: #8a2121 !important;
}
.ui.yellow.label,
.ui.yellow.labels .label {
border-color: #664d02 !important;
background-color: #936e00 !important;
}
.ui.accordion .title:not(.ui) {
color: #dbdbdb;
}
.ui.green.label,
.ui.green.labels .label,
.ui.basic.green.label {
background-color: #2d693b !important;
border-color: #2d693b !important;
}
.ui.green.labels a.label:hover,
.ui.basic.green.labels a.label:hover,
a.ui.ui.ui.green.label:hover,
a.ui.basic.green.label:hover {
background-color: #3d794b !important;
border-color: #3d794b !important;
color: #fff !important;
}
.form .help {
color: #7f8699;
}
.ui.form .fields.error .field textarea,
.ui.form .fields.error .field select,
.ui.form .fields.error .field input:not([type]),
.ui.form .fields.error .field input[type="date"],
.ui.form .fields.error .field input[type="datetime-local"],
.ui.form .fields.error .field input[type="email"],
.ui.form .fields.error .field input[type="number"],
.ui.form .fields.error .field input[type="password"],
.ui.form .fields.error .field input[type="search"],
.ui.form .fields.error .field input[type="tel"],
.ui.form .fields.error .field input[type="time"],
.ui.form .fields.error .field input[type="text"],
.ui.form .fields.error .field input[type="file"],
.ui.form .fields.error .field input[type="url"],
.ui.form .field.error textarea,
.ui.form .field.error select,
.ui.form .field.error input:not([type]),
.ui.form .field.error input[type="date"],
.ui.form .field.error input[type="datetime-local"],
.ui.form .field.error input[type="email"],
.ui.form .field.error input[type="number"],
.ui.form .field.error input[type="password"],
.ui.form .field.error input[type="search"],
.ui.form .field.error input[type="tel"],
.ui.form .field.error input[type="time"],
.ui.form .field.error input[type="text"],
.ui.form .field.error input[type="file"],
.ui.form .field.error input[type="url"] {
background-color: #522;
border: 1px solid #7d3434;
color: #f9cbcb;
}
.ui.form .field.error select:focus,
.ui.form .field.error input:not([type]):focus,
.ui.form .field.error input[type="date"]:focus,
.ui.form .field.error input[type="datetime-local"]:focus,
.ui.form .field.error input[type="email"]:focus,
.ui.form .field.error input[type="number"]:focus,
.ui.form .field.error input[type="password"]:focus,
.ui.form .field.error input[type="search"]:focus,
.ui.form .field.error input[type="tel"]:focus,
.ui.form .field.error input[type="time"]:focus,
.ui.form .field.error input[type="text"]:focus,
.ui.form .field.error input[type="file"]:focus,
.ui.form .field.error input[type="url"]:focus {
background-color: #522;
border: 1px solid #a04141;
color: #f9cbcb;
}
.ui.green.button,
.ui.green.buttons .button {
background-color: hsl(0, 80%, 40%);
}
.ui.green.button:hover,
.ui.green.buttons .button:hover {
background-color: hsl(0, 80%, 50%);
}
.ui.green.button:focus,
.ui.green.buttons .button:focus {
background-color: hsl(0, 80%, 40%);
border-color: hsl(0, 80%, 50%);
}
.ui.search > .results {
background: #383c4a;
border-color: var(--color-secondary);
}
.ui.search > .results .result:hover,
.ui.category.search > .results .category .result:hover {
background: var(--color-secondary);
}
.ui.search > .results .result .title {
color: var(--color-text);
}
.ui.table > thead > tr > th {
background: var(--color-secondary-light-4);
color: var(--color-text) !important;
}
.repository.file.list #repo-files-table tr {
background: hsl(0, 20%, 10%);
}
.repository.file.list #repo-files-table tr:hover {
background-color: hsl(0, 20%, 13%) !important;
}
.header-wrapper {
background: var(--textured-background);
}
.repo-header {
background-color: hsla(0, 20%, 13%, .30);
border: 1px solid var(--color-primary-dark-6);
border-radius: .28571429rem;
padding: 1rem;
backdrop-filter: var(--blur-light);
-webkit-backdrop-filter: var(--blur-light);
}
.repo-header .ui.button {
margin-left: 1em;
}
.repository .ui.tabs.container .ui.menu {
overflow-x: auto;
overflow-y: hidden;
}
.repository .ui.secondary.menu {
flex-wrap: wrap;
}
/* TODO: find way to do this that doesnt mess up the spacing */
.repository .ui.secondary.menu > * {
margin-top: 0.5rem;
margin-bottom: 0.5rem;
}
.ui.tabular.menu .item {
border-top-width: 1px;
font-weight: 500;
margin-bottom: -1px;
box-shadow: none;
border-radius: .28571429rem .28571429rem 0 0 !important;
background-color: hsla(0, 20%, 4%, .30);
backdrop-filter: var(--blur-light);
-webkit-backdrop-filter: var(--blur-light);
}
.ui.tabular.menu .item:not(:last-child) {
margin-right: 1rem;
}
.ui.tabular.menu .item:hover {
background-color: hsla(0, 20%, 6%, .70);
}
.ui.tabular.menu .item,
.ui.tabular.menu .item.active,
.ui.tabular.menu .item.active:hover {
border: 1px solid var(--color-secondary) !important;
border-bottom: none !important;
}
.ui.dropdown > .text > img,
.ui.dropdown > .text > .image:not(.icon) {
margin-top: -0.2rem;
}
.overflow.menu .items .item {
color: #9d9d9d;
}
.overflow.menu .items .item:hover {
color: var(--color-text);
}
.ui.list > .item > .content {
color: var(--color-secondary-dark-6) !important;
}
.repository .navbar .active.item,
.repository .navbar .active.item:hover {
border-color: transparent !important;
}
.repository .diff-stats li {
border-color: var(--color-secondary);
}
.tag-code,
.tag-code td {
background: #353945 !important;
}
.tag-code td.lines-num {
background-color: #3a3e4c !important;
}
.tag-code td.lines-type-marker,
td.blob-hunk {
color: #dbdbdb !important;
}
.ui.red.button,
.ui.red.buttons .button {
background-color: #7d3434;
}
.ui.red.button:hover,
.ui.red.buttons .button:hover {
background-color: #984646;
}
.ui.list .list > .item .header,
.ui.list > .item .header {
color: #dedede;
}
.ui.list .list > .item .description,
.ui.list > .item .description {
color: var(--color-secondary-dark-6);
}
.repository.labels .ui.basic.black.label {
background-color: #bbbbbb !important;
}
.lines-num {
color: var(--color-secondary-dark-6) !important;
border-color: var(--color-secondary) !important;
}
td.blob-excerpt {
background-color: rgba(0, 0, 0, .15);
}
.lines-code.active,
.lines-code .active {
background: #534d1b !important;
}
.ui.ui.ui.ui.table tr.active,
.ui.ui.table td.active {
color: #dbdbdb;
}
.ui.active.label {
background: #393d4a;
border-color: #393d4a;
color: #dbdbdb;
}
.ui.header .sub.header {
color: var(--color-secondary-dark-6);
}
.ui.dividing.header {
border-bottom: 1px solid var(--color-secondary);
}
.ui.modal > .header {
background: var(--color-secondary);
color: #dbdbdb;
}
.ui.modal > .actions {
background: var(--color-secondary);
border-color: var(--color-secondary);
}
.ui.modal > .content {
background: #383c4a;
}
.minicolors-panel {
background: var(--color-secondary) !important;
border-color: #6a737d !important;
}
/* invert emojis that are hard to read otherwise */
.emoji[aria-label="check mark"],
.emoji[aria-label="currency exchange"],
.emoji[aria-label="TOP arrow"],
.emoji[aria-label="END arrow"],
.emoji[aria-label="ON! arrow"],
.emoji[aria-label="SOON arrow"],
.emoji[aria-label="heavy dollar sign"],
.emoji[aria-label="copyright"],
.emoji[aria-label="registered"],
.emoji[aria-label="trade mark"],
.emoji[aria-label="multiply"],
.emoji[aria-label="plus"],
.emoji[aria-label="minus"],
.emoji[aria-label="divide"],
.emoji[aria-label="curly loop"],
.emoji[aria-label="double curly loop"],
.emoji[aria-label="wavy dash"],
.emoji[aria-label="paw prints"],
.emoji[aria-label="musical note"],
.emoji[aria-label="musical notes"] {
filter: invert(100%) hue-rotate(180deg);
}
.edit-diff > div > .ui.table {
border-left-color: var(--color-secondary) !important;
border-right-color: var(--color-secondary) !important;
}
footer .container .links > * {
border-left-color: #888;
}
.repository.release #release-list > li .detail .dot {
background-color: #505667;
border-color: #383c4a;
}
.tribute-container {
box-shadow: 0 .25rem .5rem rgba(0, 0, 0, .6);
}
.repository .repo-header .ui.huge.breadcrumb.repo-title .repo-header-icon .avatar {
color: #2a2e3a;
}
img[src$="/img/matrix.svg"] {
filter: invert(80%);
}
.is-loading::after {
border-color: #4a4c58 #4a4c58 #d7d7da #d7d7da;
}
.markup-block-error {
border: 1px solid rgba(121, 71, 66, .5) !important;
border-bottom: none !important;
}
.ui.grey.labels .label,
.ui.ui.ui.grey.label {
background-color: var(--color-primary);
border: none;
color: var(--color-text);
}
.feeds .list ul li.private {
background-color: hsla(20, 40%, 50%, .08);
}
.ui.top.secondary.stackable.main.menu.following.bar.light.no-vertical-tabs {
top: 0;
position: sticky;
background-color: hsla(0, 20%, 17%, .6);
box-shadow: 0 0 16px hsla(0, 0%, 0%, .3);
backdrop-filter: var(--blur-heavy);
-webkit-backdrop-filter: var(--blur-heavy);
}
#status-button[data-status-val="close"]::before,
.ui.red.small.button.delete-button::before,
.ui.red.button.delete-post::before
{
content: "🞭";
margin-right: 1em;
}
/* syntax highlighting */
.chroma .hl {
background-color: #e5e5e5
}
.chroma .lnt,
.chroma .ln {
color: #7f7f7f
}
.chroma .k,
.chroma .kc,
.chroma .kd,
.chroma .kn,
.chroma .kp,
.chroma .kr {
color: #d73a49
}
.chroma .kt {
color: #458
}
.chroma .na {
color: #d73a49
}
.chroma .nb {
color: #3c7bbd
}
.chroma .bp {
color: #999
}
.chroma .nc {
color: #458
}
.chroma .no {
color: teal
}
.chroma .nd {
color: #3c5d5d
}
.chroma .ni {
color: #6f42c1
}
.chroma .ne {
color: #900
}
.chroma .nf {
color: #458e95
}
.chroma .nl {
color: #900
}
.chroma .nn {
color: #555
}
.chroma .nx {
color: #d07171;
}
.chroma .nt {
color: #22863a
}
.chroma .nv,
.chroma .vc,
.chroma .vg,
.chroma .vi {
color: teal
}
.chroma .s,
.chroma .sa,
.chroma .sb,
.chroma .sc,
.chroma .dl,
.chroma .sd,
.chroma .s2,
.chroma .se,
.chroma .sh,
.chroma .si,
.chroma .sx {
color: #709934
}
.chroma .sr {
color: #22863a
}
.chroma .s1 {
color: #cc7a00
}
.chroma .ss {
color: #106303
}
.chroma .m,
.chroma .mb,
.chroma .mf,
.chroma .mh,
.chroma .mi,
.chroma .il,
.chroma .mo {
color: #099
}
.chroma .o,
.chroma .ow {
color: #d73a49
}
.chroma .c,
.chroma .ch {
color: #6a737d
}
.chroma .cm {
color: #998
}
.chroma .c1 {
color: #66554e
}
.chroma .cs {
color: #999
}
.chroma .cp {
color: #109295
}
.chroma .cpf {
color: #4c4dbc
}
.chroma .gd {
color: #000;
background-color: #fdd
}
.chroma .ge {
color: #000
}
.chroma .gr {
color: #a00
}
.chroma .gh {
color: #999
}
.chroma .gi {
color: #000;
background-color: #dfd
}
.chroma .go {
color: #888
}
.chroma .gp {
color: #555
}
.chroma .gu {
color: #aaa
}
.chroma .gt {
color: #a00
}
.chroma .w {
color: #bbb
}
/*
* martian.css is free software: you can redistribute 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.
*
* martian.css 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 General Public License
* along with martian.css. If not, see <https://www.gnu.org/licenses/agpl-3.0.en.html>.
*/