// This is only a rough approximation, and needs a lot of polishing. // 'mk' is a prefix 'for monokai' @mk-bg-dark: #1e1f1c; @mk-bg0: #272820; @mk-bg1: #3e3d32; @mk-bg2: #75715e; @mk-fg0: #f8f8f2; @mk-fg1: #cfcfc2; @mk-red: #f92672; @mk-green: #a6e22e; @mk-blue: #66d9ef; @mk-violet: #ae81ff; @mk-cyan: #a1efe4; @mk-magenta: #fd5ff0; @mk-yellow: #e6db74; // Extra additions @mk-orange: #fd971f; @mk-forest-green: #2d693b; @mk-success-green: #21ba45; @mk-error-red: #ff4433; @primary: @mk-green; /* @import "../chroma/dark.less"; */ // Code higlighting colors .chroma .hl { background-color: #3f424d; } /* LineHighlight */ .chroma .lnt { color: @mk-fg1; } /* LineNumbersTable */ .chroma .ln { color: @mk-fg1; } /* LineNumbers */ .chroma .k { color: @mk-red; } /* Keyword */ .chroma .kc { color: @mk-red; } /* KeywordConstant */ .chroma .kd { color: @mk-red; } /* KeywordDeclaration */ .chroma .kn { color: @mk-orange; } /* KeywordNamespace */ .chroma .kp { color: @mk-red; } /* KeywordPseudo */ .chroma .kr { color: @mk-red; } /* KeywordReserved */ .chroma .kt { color: @mk-blue; } /* KeywordType */ .chroma .n { color: @mk-green; } /* Generic Name */ .chroma .na { color: @mk-fg0; } /* NameAttribute */ .chroma .nb { color: @mk-red; } /* NameBuiltin */ .chroma .bp { color: @mk-red; } /* NameBuiltinPseudo */ .chroma .nc { color: @mk-blue; } /* NameClass */ .chroma .no { color: @mk-violet; } /* NameConstant */ .chroma .nd { color: @mk-violet; } /* NameDecorator */ .chroma .ni { color: @mk-violet; } /* NameEntity */ .chroma .ne { color: @mk-violet; } /* NameException */ .chroma .nf { color: @mk-green; } /* NameFunction */ .chroma .nl { color: @mk-orange; } /* NameLabel */ .chroma .nn { color: @mk-cyan; } /* NameNamespace */ .chroma .nx { color: @mk-blue; } /* NameOther */ .chroma .nt { color: @mk-red; } /* NameTag */ .chroma .nv { color: @mk-fg0; } /* NameVariable */ .chroma .vc { color: @mk-fg0; } /* NameVariableClass */ .chroma .vg { color: @mk-fg0; } /* NameVariableGlobal */ .chroma .vi { color: @mk-fg0; } /* NameVariableInstance */ .chroma .s { color: @mk-yellow; } /* LiteralString */ .chroma .sa { color: @mk-yellow; } /* LiteralStringAffix */ .chroma .sb { color: @mk-yellow; } /* LiteralStringBacktick */ .chroma .sc { color: @mk-yellow; } /* LiteralStringChar */ .chroma .dl { color: @mk-yellow; } /* LiteralStringDelimiter */ .chroma .sd { color: @mk-yellow; } /* LiteralStringDoc */ .chroma .s2 { color: @mk-yellow; } /* LiteralStringDouble */ .chroma .se { color: @mk-orange; } /* LiteralStringEscape */ .chroma .sh { color: @mk-yellow; } /* LiteralStringHeredoc */ .chroma .si { color: @mk-yellow; } /* LiteralStringInterpol */ .chroma .sx { color: @mk-yellow; } /* LiteralStringOther */ .chroma .sr { color: @mk-orange; } /* LiteralStringRegex */ .chroma .s1 { color: @mk-yellow; } /* LiteralStringSingle */ .chroma .ss { color: @mk-yellow; } /* LiteralStringSymbol */ .chroma .m { color: @mk-cyan; } /* LiteralNumber */ .chroma .mb { color: @mk-cyan; } /* LiteralNumberBin */ .chroma .mf { color: @mk-cyan; } /* LiteralNumberFloat */ .chroma .mh { color: @mk-cyan; } /* LiteralNumberHex */ .chroma .mi { color: @mk-cyan; } /* LiteralNumberInteger */ .chroma .il { color: @mk-cyan; } /* LiteralNumberIntegerLong */ .chroma .mo { color: @mk-cyan; } /* LiteralNumberOct */ .chroma .o { color: @mk-red; } /* Operator */ .chroma .ow { color: @mk-red; } /* OperatorWord */ .chroma .c { color: @mk-bg2; } /* Comment */ .chroma .ch { color: @mk-bg2; } /* CommentHashbang */ .chroma .cm { color: @mk-bg2; } /* CommentMultiline */ .chroma .c1 { color: @mk-bg2; } /* CommentSingle */ .chroma .cs { color: lighten(@mk-bg2, 10%); } /* CommentSpecial */ .chroma .cp { color: lighten(@mk-red, 20%); } /* CommentPreproc */ .chroma .cpf { color: @mk-yellow; } /* CommentPreprocFile */ // TODO: .chroma .gd { color: #fff; background-color: #5f3737; } /* GenericDeleted */ .chroma .ge { color: #ef5; } /* GenericEmph */ .chroma .gr { color: #f33; } /* GenericError */ .chroma .gh { color: #fa1; } /* GenericHeading */ .chroma .gi { color: #fff; background-color: #3a523a; } /* GenericInserted */ .chroma .go { color: #888888; } /* GenericOutput */ .chroma .gp { color: #555555; } /* GenericPrompt */ .chroma .gu { color: #9daccc; } /* GenericSubheading */ .chroma .gt { color: #f63; } /* GenericTraceback */ .chroma .w { color: #bbbbbb; } /* TextWhitespace */ /* @import "../codemirror/dark.less"; */ // what is this? .CodeMirror { &.cm-s-default, &.cm-s-paper { .cm-property { color: #a0cc75; } .cm-header { color: #9daccc; } .cm-quote { color: #009900; } .cm-keyword { color: #cc8a61; } .cm-atom { color: #ef5e77; } .cm-number { color: #ff5656; } .cm-def { color: #e4e4e4; } .cm-variable-2 { color: #00bdbf; } .cm-variable-3 { color: #008855; } .cm-comment { color: #8e9ab3; } .cm-string { color: #a77272; } .cm-string-2 { color: #ff5500; } .cm-meta, .cm-qualifier { color: #ffb176; } .cm-builtin { color: #b7c951; } .cm-bracket { color: #999977; } .cm-tag { color: #f1d273; } .cm-attribute { color: #bfcc70; } .cm-hr { color: #999999; } .cm-url { color: #c5cfd0; } .cm-link { color: #d8c792; } .cm-error { color: #dbdbeb; } } } /* theme */ :root { --is-dark-theme: true; --color-primary: @primary; --color-primary-dark-1: lighten(@primary, 10%); --color-primary-dark-2: lighten(@primary, 15%); --color-primary-dark-3: lighten(@primary, 20%); --color-primary-dark-4: lighten(@primary, 25%); --color-primary-dark-5: lighten(@primary, 40%); --color-primary-dark-6: lighten(@primary, 60%); --color-primary-dark-7: lighten(@primary, 80%); --color-primary-light-1: darken(@primary, 10%); --color-primary-light-2: darken(@primary, 15%); --color-primary-light-3: darken(@primary, 20%); --color-primary-light-4: darken(@primary, 25%); --color-primary-light-5: darken(@primary, 40%); --color-primary-light-6: darken(@primary, 60%); --color-primary-light-7: darken(@primary, 80%); --color-primary-alpha-10: fade(@primary, 10%); --color-primary-alpha-20: fade(@primary, 20%); --color-primary-alpha-30: fade(@primary, 30%); --color-primary-alpha-40: fade(@primary, 40%); --color-primary-alpha-50: fade(@primary, 50%); --color-primary-alpha-60: fade(@primary, 60%); --color-primary-alpha-70: fade(@primary, 70%); --color-primary-alpha-80: fade(@primary, 80%); --color-primary-alpha-90: fade(@primary, 90%); --color-secondary: #454a57; --color-secondary-dark-1: #505665; --color-secondary-dark-2: #5b6273; --color-secondary-dark-3: #71798e; --color-secondary-dark-4: #7f8699; --color-secondary-dark-5: #8c93a4; --color-secondary-dark-6: #9aa0af; --color-secondary-dark-7: #a8adba; --color-secondary-dark-8: #b6bac5; --color-secondary-dark-9: #c4c7d0; --color-secondary-dark-10: #d2d4db; --color-secondary-dark-11: #dfe1e6; --color-secondary-dark-12: #edeef1; --color-secondary-dark-13: #fbfbfc; --color-secondary-light-1: #373b46; --color-secondary-light-2: #292c34; --color-secondary-light-3: #1c1e23; --color-secondary-light-4: #0e0f11; --color-secondary-alpha-10: #454a5719; --color-secondary-alpha-20: #454a5733; --color-secondary-alpha-30: #454a574b; --color-secondary-alpha-40: #454a5766; --color-secondary-alpha-50: #454a5780; --color-secondary-alpha-60: #454a5799; --color-secondary-alpha-70: #454a57b3; --color-secondary-alpha-80: #454a57cc; --color-secondary-alpha-90: #454a57e1; /* colors */ --color-red: #db2828; --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: @mk-red; --color-diff-added-word-bg: @mk-green; --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: darken(@mk-error-red, 20%); --color-error-bg: @mk-bg-dark; --color-error-text: @mk-error-red; --color-success-border: darken(@mk-success-green, 20%); --color-success-bg: @mk-bg-dark; --color-success-text: @mk-success-green; --color-warning-border: darken(@mk-orange, 20%); --color-warning-bg: @mk-bg-dark; --color-warning-text: @mk-orange; --color-info-border: darken(@mk-blue, 20%); --color-info-bg: @mk-bg-dark; --color-info-text: @mk-blue; /* target-based colors */ --color-body: @mk-bg0; --color-box-header: @mk-bg-dark; --color-box-body: @mk-bg-dark; --color-text-dark: lighten(@mk-fg0, 10%); --color-text: @mk-fg0; --color-text-light: @mk-fg1; --color-text-light-2: @mk-fg1; --color-text-light-3: @mk-fg1; --color-footer: @mk-bg1; --color-timeline: #4c525e; --color-input-text: @mk-fg1; --color-input-background: @mk-bg-dark; --color-input-border: @mk-bg1; --color-input-border-hover: @mk-bg2; --color-nav-bg: @mk-bg1; --color-navbar-transparent: fade(@mk-bg1, 0%); --color-light: #00000028; --color-light-mimic-enabled: rgba(0, 0, 0, calc(40 / 255 * 222 / 255 / var(--opacity-disabled))); --color-light-border: #ffffff28; --color-hover: #ffffff10; --color-active: #ffffff16; --color-menu: @mk-bg-dark; --color-card: @mk-bg1; --color-markup-table-row: lighten(@mk-bg-dark, 5%); --color-markup-code-block: @mk-bg1; --color-button: #353846; --color-code-bg: @mk-bg-dark; --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); /* should ideally be --color-text-dark, see #15651 */ --color-reaction-bg: #ffffff12; --color-reaction-active-bg: var(--color-primary-alpha-40); } ::-webkit-calendar-picker-indicator { filter: invert(.8); } .markup { & h1, & h2 { border-bottom: 1px solid @mk-bg2; } & table { & tr { border-top: 1px solid @mk-bg2; } & td, & th { border: 1px solid @mk-bg2 !important; } } } .ui { &.card { background: var(--color-card); border: 1px solid @mk-bg1; & > .content { border-color: @mk-bg2; } & > .extra { border-top-color: @mk-bg2; } } &.dropdown .menu, &.menu { background: var(--color-menu); border: 1px solid @mk-bg1; } &.segment, &.segments, &.attached.segment, &.attached.header { background: var(--color-box-body); color: var(--color-text); border-color: @mk-bg1; } &.repository.list.item:not(:first-child) { border-top: 1px solid @mk-bg2; } &.divider { border-bottom-color: @mk-bg2; } &.button { background-color: @mk-bg1; } &.primary { &.button, &.buttons .button { color: black; background-color: @primary; } &.button:hover, &.buttons .button:hover { color: black; background-color: lighten(@primary, 15%); } } &.green { &.button, &.buttons .button { color: black; background-color: @mk-success-green; } &.button:hover, &.buttons .button:hover { color: black; background-color: lighten(@mk-success-green, 15%); } } &.blue { &.button, &.buttons .button { color: black; background-color: @mk-blue; } &.button:hover, &.buttons .button:hover { color: black; background-color: lighten(@mk-blue, 15%); } } &.red { &.button, &.buttons .button { color: white; background-color: @mk-error-red; } &.button:hover, &.buttons .button:hover { color: white; background-color: darken(@mk-error-red, 15%); } } &.basic { &.primary { &.button, &.buttons .button { color: black !important; background-color: @primary !important; box-shadow: inset 0 0 0 1px @primary !important; } &.button:hover, &.buttons .button:hover { color: black !important; background-color: lighten(@primary, 15%) !important; } } &.green { &.button, &.buttons .button { color: black !important; background-color: @mk-success-green !important; box-shadow: inset 0 0 0 1px @mk-success-green !important; } &.button:hover, &.buttons .button:hover { color: black !important; background-color: lighten(@mk-success-green, 15%) !important; } } &.blue { &.button, &.buttons .button { color: black !important; background-color: @mk-blue !important; box-shadow: inset 0 0 0 1px @mk-blue !important; } &.button:hover, &.buttons .button:hover { color: black !important; background-color: lighten(@mk-blue, 15%) !important; } } &.red { &.button, &.buttons .button { color: white; background-color: @mk-error-red; } &.button:hover, &.buttons .button:hover { color: white; background-color: darken(@mk-error-red, 15%); } } } } .ui.horizontal.segments > .segment { background-color: @mk-bg-dark; border-color: @mk-bg1; } .ui.green.progress .bar { background-color: #668844; } .ui.progress.success .bar { background-color: #7b9e57 !important; } .repository { &.file.list #repo-files-table tr { background: @mk-bg-dark; &:hover { background-color: lighten(@mk-bg-dark, 20%) !important; } } & .navbar .active.item, & .navbar .active.item:hover { border-color: transparent !important; } & .diff-stats li { border-color: var(--color-secondary); } &.release #release-list { border-top: 1px solid @mk-bg2; & > li .detail .dot { background-color: #505667; border-color: #383c4a; } } & .repo-header .ui.huge.breadcrumb.repo-title .repo-header-icon .avatar { color: #2a2e3a; } &.labels .ui.basic.black.label { background-color: #bbbbbb !important; } } .following.bar.light { background: @mk-bg1; border-color: var(--color-secondary-alpha-40); } .following.bar .top.menu a.item:hover { color: #fff; } .feeds .list ul li.private { background: #353945; } .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; } // .ui.divider:not(.vertical):not(.horizontal) { // border-bottom-color: var(--color-secondary); // border-top-color: transparent; // } .form .help { color: @mk-fg1; } .ui .text.light.grey { color: #7f8699 !important; } .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: @mk-error-red; border: 1px solid darken(@mk-error-red, 30%); color: lighten(@mk-error-red, 90%); } .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.search > .results { background: @mk-bg-dark; // border-color: @mk-bg0-dark; } .ui.search > .results .result:hover, .ui.category.search > .results .category .result:hover { background: @mk-bg-dark; } .ui.search > .results .result .title { color: @mk-fg0; } .ui.table { border-color: @mk-bg1; thead > tr > th { background: @mk-bg-dark; color: @mk-fg0 !important; } } .overflow.menu .items .item { color: #9d9d9d; } .overflow.menu .items .item:hover { color: #dbdbdb; } .ui.list > .item > .content { color: var(--color-secondary-dark-6) !important; } .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.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); } .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; } .tribute-container { box-shadow: 0 .25rem .5rem rgba(0, 0, 0, .6); } 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; }