+ 
| (91 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
| + | /* import and define fonts */ | ||
| + | |||
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+Mono:wdth,[email protected],100..900&family=Noto+Sans+Symbols+2&family=Noto+Sans:ital,wdth,wght@0,62.5..100,100..900;1,62.5..100,100..900&display=swap'); | @import url('https://fonts.googleapis.com/css2?family=Noto+Sans+Mono:wdth,[email protected],100..900&family=Noto+Sans+Symbols+2&family=Noto+Sans:ital,wdth,wght@0,62.5..100,100..900;1,62.5..100,100..900&display=swap'); | ||
| Line 18: | Line 20: | ||
--sans: "Noto Sans", "Noto Sans Symbol 2", "Tahoma", sans-serif; | --sans: "Noto Sans", "Noto Sans Symbol 2", "Tahoma", sans-serif; | ||
--mono: "Noto Sans Mono", "Andale Mono", monospace; | --mono: "Noto Sans Mono", "Andale Mono", monospace; | ||
| − | + | ||
| + | /* define colour scheme */ | ||
| + | |||
| + | --white: oklch(sqrt(calc(71/72)) pow(calc(1/18), 2) 180deg); | ||
--bg: oklch(sqrt(calc(23/24)) pow(calc(1/18), 2) 180deg); | --bg: oklch(sqrt(calc(23/24)) pow(calc(1/18), 2) 180deg); | ||
| − | -- | + | |
| − | --grey: oklch(sqrt(calc( | + | --llgrey: oklch(sqrt(calc(22/24)) pow(calc(1/18), 2) 210deg); |
| − | --dgrey: oklch(sqrt(calc( | + | --lgrey: oklch(sqrt(calc(18/24)) pow(calc(1/18), 2) 225deg); |
| + | --grey: oklch(sqrt(calc(14/24)) pow(calc(1/18), 2) 240deg); | ||
| + | --dgrey: oklch(sqrt(calc(7/24)) pow(calc(3/18), 2) 225deg); | ||
--ddgrey: oklch(sqrt(calc(4/24)) pow(calc(4/18), 2) 225deg); | --ddgrey: oklch(sqrt(calc(4/24)) pow(calc(4/18), 2) 225deg); | ||
| + | |||
| + | --head: oklch(sqrt(calc(3/24)) pow(calc(3/18), 2) 210deg); | ||
--text: oklch(sqrt(calc(2/24)) pow(calc(3/18), 2) 240deg); | --text: oklch(sqrt(calc(2/24)) pow(calc(3/18), 2) 240deg); | ||
| − | -- | + | --black: oklch(sqrt(calc(1/24)) pow(calc(4/18), 2) 225deg); |
| + | |||
| + | --selec: oklch(sqrt(calc(14/24)) pow(calc(5/18), 2) 220deg); | ||
| + | --light: oklch(sqrt(calc(14/24)) pow(calc(5/18), 2) 200deg); | ||
| + | --med: oklch(sqrt(calc(11/24)) pow(calc(6/18), 2) 205deg); | ||
--accent: oklch(sqrt(calc(7/24)) pow(calc(6/18), 2) 210deg); | --accent: oklch(sqrt(calc(7/24)) pow(calc(6/18), 2) 210deg); | ||
--dark: oklch(sqrt(calc(4/24)) pow(calc(6/18), 2) 220deg); | --dark: oklch(sqrt(calc(4/24)) pow(calc(6/18), 2) 220deg); | ||
| − | -- | + | |
| + | --yellow: oklch(sqrt(calc(17/24)) pow(calc(6/18), 2) 80deg); | ||
| + | --orange: oklch(sqrt(calc(15/24)) pow(calc(7/18), 2) 75deg); | ||
--red: oklch(sqrt(calc(7/24)) pow(calc(8/18), 2) 45deg); | --red: oklch(sqrt(calc(7/24)) pow(calc(8/18), 2) 45deg); | ||
| − | -- | + | --dred: oklch(sqrt(calc(4/24)) pow(calc(8/18), 2) 30deg); |
| + | |||
| + | /* prevent overscroll */ | ||
overscroll-behavior: none; | overscroll-behavior: none; | ||
| Line 36: | Line 53: | ||
body { | body { | ||
| + | |||
| + | /* prevent overflowing lines and font synthesis */ | ||
| + | |||
overflow-wrap: anywhere; | overflow-wrap: anywhere; | ||
| − | background-color: var(-- | + | font-synthesis: none; |
| + | |||
| + | /* make black background */ | ||
| + | |||
| + | background-color: var(--black); | ||
background-blend-mode: screen; | background-blend-mode: screen; | ||
background-attachment: fixed; | background-attachment: fixed; | ||
} | } | ||
| − | + | /* fonts and text colours */ | |
| − | |||
| − | |||
body, table tr th, table tr td { | body, table tr th, table tr td { | ||
color: var(--text); | color: var(--text); | ||
| + | } | ||
| + | |||
| + | h1, h2, h3, h4, h5, h6 { | ||
| + | color: var(--head); | ||
| + | } | ||
| + | |||
| + | .previewnote { | ||
| + | color: var(--dred); | ||
| + | } | ||
| + | |||
| + | body, .subtitle, h1, h2, h3, h4, h5, h6, .fa { | ||
| + | font-family: var(--sans); | ||
} | } | ||
| Line 61: | Line 95: | ||
font-family: var(--sans); | font-family: var(--sans); | ||
} | } | ||
| + | } | ||
| + | |||
| + | .title { | ||
| + | font-family: "Strasua", var(--sans); | ||
| + | font-size: 4em; | ||
| + | color: var(--ddgrey); | ||
} | } | ||
| Line 67: | Line 107: | ||
font-weight: 700; | font-weight: 700; | ||
color: var(--dark); | color: var(--dark); | ||
| − | font-size: 1. | + | font-size: 1.5em; |
padding-left: 0; | padding-left: 0; | ||
} | } | ||
| Line 87: | Line 127: | ||
color: var(--dark); | color: var(--dark); | ||
font-size: 1em; | font-size: 1em; | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
} | } | ||
| Line 99: | Line 133: | ||
font-size: small; | font-size: small; | ||
} | } | ||
| + | |||
| + | strong, b { | ||
| + | color: var(--head); | ||
| + | } | ||
| + | |||
| + | em, i { | ||
| + | color: var(--ddgrey); | ||
| + | } | ||
| + | |||
| + | /* hide news from all pages except the home page */ | ||
body:not(.page-About) #latestnewsv2 { | body:not(.page-About) #latestnewsv2 { | ||
display: none; | display: none; | ||
} | } | ||
| + | |||
| + | /* backgrounds for content */ | ||
#page-content .row { | #page-content .row { | ||
| Line 109: | Line 155: | ||
.smw-editpage-help, input#wpPreview { | .smw-editpage-help, input#wpPreview { | ||
| − | background-color: var(-- | + | background-color: var(--llgrey); |
| − | border-color: var(-- | + | border-color: var(--lgrey); |
} | } | ||
table tr:nth-of-type(odd), table.wikitable tr > th { | table tr:nth-of-type(odd), table.wikitable tr > th { | ||
| − | background-color: var(-- | + | background-color: var(--llgrey); |
} | } | ||
table.wikitable tr > th { | table.wikitable tr > th { | ||
| − | background-color: var(-- | + | background-color: var(--lgrey); |
} | } | ||
| Line 124: | Line 170: | ||
background-color: var(--white); | background-color: var(--white); | ||
} | } | ||
| + | |||
| + | /* line styles */ | ||
table, table * { | table, table * { | ||
| Line 129: | Line 177: | ||
} | } | ||
| − | tbody { | + | tbody, textarea, hr { |
| − | border-color: var(-- | + | border-color: var(--lgrey); |
border-style: solid; | border-style: solid; | ||
| + | border-width: 1px; | ||
| + | } | ||
| + | |||
| + | /* table title size */ | ||
| + | |||
| + | th[style] { | ||
| + | font-size: 1em !important; | ||
| + | } | ||
| + | |||
| + | /* link styles */ | ||
| + | |||
| + | a, a *, .wikiEditor-ui-tabs div a, .wikiEditor-ui-toolbar .tabs span.tab a { | ||
| + | color: var(--accent); | ||
| + | } | ||
| + | |||
| + | body a:hover, body a:hover *, .wikiEditor-ui-toolbar .tabs span.tab a:hover { | ||
| + | color: var(--dark); | ||
| + | text-decoration: underline; | ||
| + | } | ||
| + | |||
| + | /* red links */ | ||
| + | |||
| + | a.new, a.new * { | ||
| + | color: var(--red); | ||
| + | } | ||
| + | |||
| + | a.new:hover, a.new:hover * { | ||
| + | color: var(--dred); | ||
| + | } | ||
| + | |||
| + | /* external links */ | ||
| + | |||
| + | a.external, a.external * { | ||
| + | color: var(--med); | ||
} | } | ||
| − | a, | + | a.external:hover, a.external:hover * { |
color: var(--accent); | color: var(--accent); | ||
} | } | ||
| − | + | /* self links */ | |
| + | |||
| + | .selflink { | ||
| + | color: var(--ddgrey); | ||
| + | } | ||
| + | |||
| + | /* link font weights */ | ||
| + | |||
| + | p a, li a, dl a, table a { | ||
font-weight: 450; | font-weight: 450; | ||
} | } | ||
| − | + | p a.external, li a.external { | |
| + | font-weight: 500; | ||
| + | } | ||
| + | |||
| + | strong a, b a { | ||
font-weight: inherit; | font-weight: inherit; | ||
} | } | ||
| − | + | #latestnewsv2 a { | |
| − | + | font-weight: inherit; | |
| − | |||
} | } | ||
| − | + | /* navbar colours */ | |
| − | |||
| − | |||
#navwrapper .top-bar { | #navwrapper .top-bar { | ||
| Line 162: | Line 253: | ||
background-color: var(--dark); | background-color: var(--dark); | ||
} | } | ||
| + | |||
| + | .top-bar-section ul li ul.dropdown li > a, .top-bar, .top-bar-section ul, .top-bar-section ul li.active > a, .top-bar-section li a:not(.button) { | ||
| + | color: var(--white); | ||
| + | } | ||
| + | |||
| + | .top-bar-section ul li.hover > a, .top-bar-section ul li ul.dropdown li.hover > a, top-bar-section ul li ul.dropdown li.hover > a { | ||
| + | color: var(--orange); | ||
| + | } | ||
| + | |||
| + | /* button colours */ | ||
button, .button, input[type="submit"], .label { | button, .button, input[type="submit"], .label { | ||
| Line 170: | Line 271: | ||
button:hover, .button:hover, input[type="submit"]:hover, .label:hover { | button:hover, .button:hover, input[type="submit"]:hover, .label:hover { | ||
background-color: var(--dark); | background-color: var(--dark); | ||
| + | } | ||
| + | |||
| + | a.label.new { | ||
| + | background-color: var(--lgrey); | ||
| + | } | ||
| + | |||
| + | a.label.new:hover { | ||
| + | background-color: var(--grey); | ||
| + | } | ||
| + | |||
| + | .wikiEditor-ui .label { | ||
| + | background: none; | ||
} | } | ||
input#wpPreview:hover { | input#wpPreview:hover { | ||
| − | background-color: var(-- | + | background-color: var(--lgrey); |
} | } | ||
button, .button, input[type="submit"], input#wpPreview { | button, .button, input[type="submit"], input#wpPreview { | ||
transition: none; | transition: none; | ||
| + | } | ||
| + | |||
| + | /* quote colours */ | ||
| + | |||
| + | blockquote { | ||
| + | color: var(--lgrey); | ||
| + | border-left-color: var(--orange); | ||
| + | } | ||
| + | |||
| + | blockquote cite { | ||
| + | color: var(--dgrey); | ||
} | } | ||
| Line 184: | Line 308: | ||
} | } | ||
| − | + | /* style lists */ | |
| − | |||
| − | |||
| − | . | + | html #toc ul, .toc ul, ul { |
| − | + | list-style-type: "\2B22\2003"; | |
} | } | ||
| − | + | html #toc ul ul, .toc ul ul, ul ul { | |
| − | + | list-style-type: "\2B21\2003"; | |
} | } | ||
| − | + | ul li::marker { | |
| − | |||
color: var(--dark); | color: var(--dark); | ||
| + | font-size: 0.75em; | ||
} | } | ||
| − | + | ol li::marker { | |
| − | + | color: var(--head); | |
| + | font-weight: 450; | ||
} | } | ||
| + | |||
| + | /* style toc */ | ||
#toc, .toc { | #toc, .toc { | ||
background-color: var(--white); | background-color: var(--white); | ||
| − | border-color: var(-- | + | border-color: var(--lgrey); |
border-style: solid; | border-style: solid; | ||
border-width: 1px; | border-width: 1px; | ||
| Line 214: | Line 339: | ||
} | } | ||
| − | . | + | /* style diff */ |
| − | color: var(-- | + | |
| + | .diffchange { | ||
| + | --opacity: calc(1 / 2); | ||
| + | } | ||
| + | |||
| + | td.diff-deletedline { | ||
| + | border-color: var(--orange); | ||
| + | } | ||
| + | |||
| + | td.diff-deletedline .diffchange { | ||
| + | background-color: oklch(from var(--yellow) l c h / calc(alpha * var(--opacity))); | ||
| + | } | ||
| + | |||
| + | td.diff-addedline { | ||
| + | border-color: var(--accent); | ||
| + | } | ||
| + | |||
| + | td.diff-addedline .diffchange { | ||
| + | background-color: oklch(from var(--light) l c h / calc(alpha * var(--opacity))); | ||
| + | } | ||
| + | |||
| + | /* selection colour */ | ||
| + | |||
| + | ::selection { | ||
| + | --opacity: calc(1 / 3); | ||
| + | background-color: oklch(from var(--selec) l c h / calc(alpha * var(--opacity))); | ||
| + | } | ||
| + | |||
| + | /* actions button */ | ||
| + | |||
| + | .fa { | ||
| + | font-weight: unset; | ||
| + | } | ||
| + | |||
| + | .fa::before { | ||
| + | font-family: "FontAwesome"; | ||
| + | } | ||
| + | |||
| + | .f-dropdown { | ||
| + | background-color: var(--white); | ||
| + | } | ||
| + | |||
| + | .f-dropdown li:hover, .f-dropdown li:focus { | ||
| + | background-color: var(--llgrey); | ||
| + | } | ||
| + | |||
| + | button.secondary, .button.secondary { | ||
| + | background-color: var(--llgrey); | ||
| + | } | ||
| + | |||
| + | button.secondary *, .button.secondary * { | ||
| + | color: var(--ddgrey); | ||
| + | font-weight: 600; | ||
| + | } | ||
| + | |||
| + | button.secondary:hover, .button.secondary:hover, button.secondary:focus, .button.secondary:focus { | ||
| + | background-color: var(--lgrey); | ||
| + | } | ||
| + | |||
| + | .f-dropdown li a { | ||
| + | color: var(--dgrey); | ||
} | } | ||
| − | . | + | .f-dropdown li a:hover { |
| − | color: var(-- | + | color: var(--dark); |
} | } | ||
/* import and define fonts */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+Mono:wdth,[email protected],100..900&family=Noto+Sans+Symbols+2&family=Noto+Sans:ital,wdth,wght@0,62.5..100,100..900;1,62.5..100,100..900&display=swap');
@font-face {
font-family: "Miasm";
src: url(https://bocpages.org/assets/fonts/miasm.ttf) format(truetype);
font-display: swap;
unicode-range: U+20-7E, U+A0, U+A9, U+C5, U+E5;
}
@font-face {
font-family: "Strasua";
src: url(https://bocpages.org/assets/fonts/strasua.ttf) format(truetype);
font-display: swap;
unicode-range: U+20-5A, U+5C, U+5F-7A, U+7C, U+A1, U+A3, U+A5, U+A8-A9, U+AB, U+AE, U+B4, U+B8, U+BB, U+BF-D6, U+D8-F6, U+F8-FF, U+131, U+141-142, U+152-153, U+160-161, U+178, U+17D-17E, U+2C6-2C7, U+2DA, U+2DC, U+2013-2014, U+2018-201A, U+201C-201E, U+2022, U+2026, U+2044, U+20AC, U+2122;
}
html {
--sans: "Noto Sans", "Noto Sans Symbol 2", "Tahoma", sans-serif;
--mono: "Noto Sans Mono", "Andale Mono", monospace;
/* define colour scheme */
--white: oklch(sqrt(calc(71/72)) pow(calc(1/18), 2) 180deg);
--bg: oklch(sqrt(calc(23/24)) pow(calc(1/18), 2) 180deg);
--llgrey: oklch(sqrt(calc(22/24)) pow(calc(1/18), 2) 210deg);
--lgrey: oklch(sqrt(calc(18/24)) pow(calc(1/18), 2) 225deg);
--grey: oklch(sqrt(calc(14/24)) pow(calc(1/18), 2) 240deg);
--dgrey: oklch(sqrt(calc(7/24)) pow(calc(3/18), 2) 225deg);
--ddgrey: oklch(sqrt(calc(4/24)) pow(calc(4/18), 2) 225deg);
--head: oklch(sqrt(calc(3/24)) pow(calc(3/18), 2) 210deg);
--text: oklch(sqrt(calc(2/24)) pow(calc(3/18), 2) 240deg);
--black: oklch(sqrt(calc(1/24)) pow(calc(4/18), 2) 225deg);
--selec: oklch(sqrt(calc(14/24)) pow(calc(5/18), 2) 220deg);
--light: oklch(sqrt(calc(14/24)) pow(calc(5/18), 2) 200deg);
--med: oklch(sqrt(calc(11/24)) pow(calc(6/18), 2) 205deg);
--accent: oklch(sqrt(calc(7/24)) pow(calc(6/18), 2) 210deg);
--dark: oklch(sqrt(calc(4/24)) pow(calc(6/18), 2) 220deg);
--yellow: oklch(sqrt(calc(17/24)) pow(calc(6/18), 2) 80deg);
--orange: oklch(sqrt(calc(15/24)) pow(calc(7/18), 2) 75deg);
--red: oklch(sqrt(calc(7/24)) pow(calc(8/18), 2) 45deg);
--dred: oklch(sqrt(calc(4/24)) pow(calc(8/18), 2) 30deg);
/* prevent overscroll */
overscroll-behavior: none;
}
body {
/* prevent overflowing lines and font synthesis */
overflow-wrap: anywhere;
font-synthesis: none;
/* make black background */
background-color: var(--black);
background-blend-mode: screen;
background-attachment: fixed;
}
/* fonts and text colours */
body, table tr th, table tr td {
color: var(--text);
}
h1, h2, h3, h4, h5, h6 {
color: var(--head);
}
.previewnote {
color: var(--dred);
}
body, .subtitle, h1, h2, h3, h4, h5, h6, .fa {
font-family: var(--sans);
}
code, kbd, pre, samp, textarea#wpTextbox1, .diff-deletedline, .diff-addedline, .diff-context {
font-family: var(--mono) !important;
}
h2 {
font-family: "Miasm", var(--sans);
font-size: 2em;
& .mw-editsection {
font-family: var(--sans);
}
}
.title {
font-family: "Strasua", var(--sans);
font-size: 4em;
color: var(--ddgrey);
}
h3, .ns-subject h3 {
text-decoration: none;
font-weight: 700;
color: var(--dark);
font-size: 1.5em;
padding-left: 0;
}
h4 {
font-weight: 800;
color: var(--dark);
font-size: 1.25em;
}
h5 {
font-weight: 900;
color: var(--dark);
font-size: 1em;
}
h6 {
font-weight: 700;
color: var(--dark);
font-size: 1em;
}
.mw-editsection {
margin-left: 1em;
font-size: small;
}
strong, b {
color: var(--head);
}
em, i {
color: var(--ddgrey);
}
/* hide news from all pages except the home page */
body:not(.page-About) #latestnewsv2 {
display: none;
}
/* backgrounds for content */
#page-content .row {
background-color: var(--bg);
}
.smw-editpage-help, input#wpPreview {
background-color: var(--llgrey);
border-color: var(--lgrey);
}
table tr:nth-of-type(odd), table.wikitable tr > th {
background-color: var(--llgrey);
}
table.wikitable tr > th {
background-color: var(--lgrey);
}
textarea, input:not([type]), input[type="search"], table tr:nth-of-type(even), li.gallerybox div.thumb {
background-color: var(--white);
}
/* line styles */
table, table * {
border-color: var(--white);
}
tbody, textarea, hr {
border-color: var(--lgrey);
border-style: solid;
border-width: 1px;
}
/* table title size */
th[style] {
font-size: 1em !important;
}
/* link styles */
a, a *, .wikiEditor-ui-tabs div a, .wikiEditor-ui-toolbar .tabs span.tab a {
color: var(--accent);
}
body a:hover, body a:hover *, .wikiEditor-ui-toolbar .tabs span.tab a:hover {
color: var(--dark);
text-decoration: underline;
}
/* red links */
a.new, a.new * {
color: var(--red);
}
a.new:hover, a.new:hover * {
color: var(--dred);
}
/* external links */
a.external, a.external * {
color: var(--med);
}
a.external:hover, a.external:hover * {
color: var(--accent);
}
/* self links */
.selflink {
color: var(--ddgrey);
}
/* link font weights */
p a, li a, dl a, table a {
font-weight: 450;
}
p a.external, li a.external {
font-weight: 500;
}
strong a, b a {
font-weight: inherit;
}
#latestnewsv2 a {
font-weight: inherit;
}
/* navbar colours */
#navwrapper .top-bar {
background: var(--accent);
}
ul.dropdown li {
background-color: var(--dark);
}
.top-bar-section ul li ul.dropdown li > a, .top-bar, .top-bar-section ul, .top-bar-section ul li.active > a, .top-bar-section li a:not(.button) {
color: var(--white);
}
.top-bar-section ul li.hover > a, .top-bar-section ul li ul.dropdown li.hover > a, top-bar-section ul li ul.dropdown li.hover > a {
color: var(--orange);
}
/* button colours */
button, .button, input[type="submit"], .label {
background-color: var(--accent);
border-color: oklch(from var(--accent) sqrt(calc(2/24)) c h);
}
button:hover, .button:hover, input[type="submit"]:hover, .label:hover {
background-color: var(--dark);
}
a.label.new {
background-color: var(--lgrey);
}
a.label.new:hover {
background-color: var(--grey);
}
.wikiEditor-ui .label {
background: none;
}
input#wpPreview:hover {
background-color: var(--lgrey);
}
button, .button, input[type="submit"], input#wpPreview {
transition: none;
}
/* quote colours */
blockquote {
color: var(--lgrey);
border-left-color: var(--orange);
}
blockquote cite {
color: var(--dgrey);
}
blockquote p, footer.row {
color: var(--ddgrey);
}
/* style lists */
html #toc ul, .toc ul, ul {
list-style-type: "\2B22\2003";
}
html #toc ul ul, .toc ul ul, ul ul {
list-style-type: "\2B21\2003";
}
ul li::marker {
color: var(--dark);
font-size: 0.75em;
}
ol li::marker {
color: var(--head);
font-weight: 450;
}
/* style toc */
#toc, .toc {
background-color: var(--white);
border-color: var(--lgrey);
border-style: solid;
border-width: 1px;
padding: 8px;
max-width: fit-content;
}
/* style diff */
.diffchange {
--opacity: calc(1 / 2);
}
td.diff-deletedline {
border-color: var(--orange);
}
td.diff-deletedline .diffchange {
background-color: oklch(from var(--yellow) l c h / calc(alpha * var(--opacity)));
}
td.diff-addedline {
border-color: var(--accent);
}
td.diff-addedline .diffchange {
background-color: oklch(from var(--light) l c h / calc(alpha * var(--opacity)));
}
/* selection colour */
::selection {
--opacity: calc(1 / 3);
background-color: oklch(from var(--selec) l c h / calc(alpha * var(--opacity)));
}
/* actions button */
.fa {
font-weight: unset;
}
.fa::before {
font-family: "FontAwesome";
}
.f-dropdown {
background-color: var(--white);
}
.f-dropdown li:hover, .f-dropdown li:focus {
background-color: var(--llgrey);
}
button.secondary, .button.secondary {
background-color: var(--llgrey);
}
button.secondary *, .button.secondary * {
color: var(--ddgrey);
font-weight: 600;
}
button.secondary:hover, .button.secondary:hover, button.secondary:focus, .button.secondary:focus {
background-color: var(--lgrey);
}
.f-dropdown li a {
color: var(--dgrey);
}
.f-dropdown li a:hover {
color: var(--dark);
}