2021-10-18 09:56:45 +03:00
/* SPDX-License-Identifier: LGPL-2.1-or-later */
2019-12-11 19:01:46 +03:00
@ font-face {
font-family : 'Heebo' ;
src : url ( 'fonts/heebo-regular.woff' ) ;
font-weight : 400 ;
}
@ font-face {
font-family : 'Heebo' ;
src : url ( 'fonts/heebo-bold.woff' ) ;
font-weight : 600 ;
}
2022-05-17 11:38:07 +03:00
/* Variables */
: root {
--sd-brand-black : hsl ( 270 , 19 % , 13 % ) ; /* #201A26; */
--sd-brand-green : hsl ( 145 , 66 % , 51 % ) ; /* #30D475; */
--sd-brand-white : # fff ;
2022-06-03 23:44:42 +03:00
--sd-black : hsl ( 270 , 7 % , 13 % ) ;
2022-05-17 11:38:07 +03:00
--sd-green : hsl ( 145 , 66 % , 43 % ) ; /* #26b763 */
--sd-gray-extralight : hsl ( 30 , 10 % , 96 % ) ; /* #f6f5f4 */
--sd-gray-light : hsl ( 30 , 10 % , 92 % ) ;
--sd-gray : hsl ( 30 , 10 % , 85 % ) ;
--sd-gray-dark : hsl ( 257 , 23 % , 20 % ) ;
--sd-gray-extradark : hsl ( 257 , 23 % , 16 % ) ; /* #241f31 */
2022-05-17 14:48:27 +03:00
--sd-blue : hsl ( 200 , 66 % , 55 % ) ;
2022-05-17 11:38:07 +03:00
--sd-highlight-bg-light : rgba ( 255 , 255 , 255 , 1 ) ;
--sd-highlight-bg-dark : rgba ( 0 , 0 , 0 , . 6 ) ;
--sd-highlight-inline-bg-light : rgba ( 0 , 0 , 0 , 0 . 07 ) ;
--sd-highlight-inline-bg-dark : rgba ( 255 , 255 , 255 , 0 . 1 ) ;
--sd-font-weight-normal : 400 ;
--sd-font-weight-bold : 600 ;
/* Light mode variables */
--sd-foreground-color : var ( --sd-gray-extradark ) ;
--sd-background-color : var ( --sd-gray-extralight ) ;
--sd-logo-color : var ( --sd-brand-black ) ;
--sd-link-color : var ( --sd-green ) ;
--sd-small-color : var ( --sd-gray-dark ) ;
--sd-highlight-bg : var ( --sd-highlight-bg-light ) ;
--sd-highlight-inline-bg : var ( --sd-highlight-inline-bg-light ) ;
--sd-link-font-weight : var ( --sd-font-weight-bold ) ;
2022-05-21 17:28:32 +03:00
--sd-table-row-bg : var ( --sd-highlight-inline-bg-light ) ;
--sd-table-row-hover-bg : var ( --sd-gray ) ;
2022-05-17 11:38:07 +03:00
}
@ media ( prefers-color-scheme : dark ) {
: root {
color-scheme : dark ;
--sd-foreground-color : var ( --sd-gray ) ;
2022-06-03 23:44:42 +03:00
--sd-background-color : var ( --sd-black ) ;
2022-05-17 11:38:07 +03:00
--sd-logo-color : var ( --sd-brand-white ) ;
--sd-link-color : var ( --sd-brand-green ) ;
--sd-small-color : var ( --sd-gray ) ;
--sd-highlight-bg : var ( --sd-highlight-bg-dark ) ;
--sd-highlight-inline-bg : var ( --sd-highlight-inline-bg-dark ) ;
--sd-link-font-weight : var ( --sd-font-weight-normal ) ;
2022-05-21 17:28:32 +03:00
--sd-table-row-bg : var ( --sd-highlight-inline-bg-dark ) ;
--sd-table-row-hover-bg : var ( --sd-highlight-bg-dark ) ;
2022-05-17 11:38:07 +03:00
}
}
2019-12-11 19:01:46 +03:00
/* Typography */
* {
-moz-box-sizing : border-box ;
-webkit-box-sizing : border-box ;
box-sizing : border-box ;
}
html , body {
margin : 0 ;
padding : 0 ;
2022-05-17 15:21:13 +03:00
font-size : 1rem ;
2019-12-11 19:01:46 +03:00
font-family : "Heebo" , sans-serif ;
font-weight : 400 ;
line-height : 1 . 6 ;
}
body {
2022-05-17 11:38:07 +03:00
color : var ( --sd-foreground-color ) ;
background-color : var ( --sd-background-color ) ;
2019-12-11 19:01:46 +03:00
}
h1 , h2 , h3 , h4 , h5 , h6 {
2022-05-17 15:21:13 +03:00
margin : 1rem 0 0 . 625rem ;
2019-12-11 19:01:46 +03:00
font-weight : 600 ;
line-height : 1 . 25 ;
}
h1 {
text-align : center ;
2022-05-17 15:21:13 +03:00
font-size : 1 . 87rem ;
2022-05-17 16:05:01 +03:00
font-weight : 400 ;
2019-12-11 19:01:46 +03:00
font-style : normal ;
margin-bottom : 2rem ;
}
@ media screen and ( min-width : 650px ) {
h1 {
2022-05-17 15:21:13 +03:00
font-size : 2 . 375em ;
2019-12-11 19:01:46 +03:00
}
}
h2 {
2022-05-17 16:57:14 +03:00
font-size : 1 . 25rem ;
2022-05-17 15:21:13 +03:00
margin-top : 2 . 5em ;
2022-05-17 16:57:14 +03:00
}
h3 {
font-size : 1 . 15rem ;
2019-12-11 19:01:46 +03:00
}
a {
2022-05-17 11:38:07 +03:00
font-weight : var ( --sd-link-font-weight ) ;
2019-12-11 19:01:46 +03:00
text-decoration : none ;
2022-05-17 11:38:07 +03:00
color : var ( --sd-link-color ) ;
2019-12-11 19:01:46 +03:00
cursor : pointer ;
}
a : hover {
text-decoration : underline ;
}
b {
font-weight : 600 ;
}
small {
2022-05-17 11:38:07 +03:00
color : var ( --sd-small-color ) ;
2019-12-11 19:01:46 +03:00
}
hr {
margin : 3rem auto 4rem ;
width : 40 % ;
opacity : 40 % ;
}
/* Layout */
2022-05-21 17:28:32 +03:00
. container > * {
2019-12-11 19:01:46 +03:00
width : 80 % ;
margin-left : auto ;
margin-right : auto ;
max-width : 720px ;
}
2022-05-21 17:28:32 +03:00
. container > table {
max-width : 1600px ;
}
. container > h1 {
max-width : 530px ;
}
/* Tables */
table {
width : auto ! important ;
border-collapse : separate ;
border-spacing : 0 ;
margin-top : 2em ;
margin-bottom : 3em ;
overflow-x : auto ;
display : block ; /* required for overflow-x auto on tables */
}
@ media screen and ( min-width : 768px ) {
table {
display : table ;
border-left : 1rem solid transparent ;
border-right : 1rem solid transparent ;
}
}
thead tr ,
tbody : first-child tr : nth-child ( odd ) ,
thead + tbody tr : nth-child ( even ) {
background-color : var ( --sd-table-row-bg ) ;
}
tbody tr : hover {
background-color : var ( --sd-table-row-hover-bg ) ! important ;
}
th , td {
vertical-align : top ;
text-align : left ;
padding : . 5rem ;
}
th : first-child , td : first-child {
padding-left : 0 . 75rem ;
}
th : last-child , td : last-child {
padding-right : 0 . 75rem ;
}
2022-05-17 14:48:27 +03:00
/* Custom content */
. intro-code-block {
background-color : var ( --sd-brand-black ) ;
color : var ( --sd-brand-white ) ;
font-size : 0 . 875rem ;
padding : 1em ;
overflow-x : auto ;
}
@ media ( prefers-color-scheme : dark ) {
. intro-code-block {
background-color : var ( --sd-highlight-bg ) ;
}
}
2019-12-11 19:01:46 +03:00
/* Singletons */
. page-logo {
display : block ;
padding : 5rem 0 3rem ;
2022-05-17 11:38:07 +03:00
color : var ( --sd-logo-color ) ;
2019-12-11 19:01:46 +03:00
}
2022-05-17 11:38:07 +03:00
. page-logo > svg {
2019-12-11 19:01:46 +03:00
display : block ;
2022-05-17 15:21:13 +03:00
width : 12 . 625em ;
height : auto ;
2019-12-11 19:01:46 +03:00
margin : 0 auto ;
}
. brand-white {
2022-05-17 11:38:07 +03:00
background-color : var ( --sd-brand-white ) ;
2019-12-11 19:01:46 +03:00
}
. brand-green {
2022-05-17 11:38:07 +03:00
background-color : var ( --sd-brand-green ) ;
2019-12-11 19:01:46 +03:00
}
. brand-black {
2022-05-17 11:38:07 +03:00
background-color : var ( --sd-brand-black ) ;
2022-05-17 14:48:27 +03:00
color : var ( --sd-brand-white ) ;
}
. color-green {
color : var ( --sd-brand-green ) ;
}
. color-blue {
color : var ( --sd-blue ) ;
2019-12-11 19:01:46 +03:00
}
. page-link :: after {
content : " ➜" ;
}
/* Footer */
footer {
text-align : center ;
padding : 3em 0 3em ;
font-size : 1em ;
margin-top : 4rem ;
}
2021-02-22 23:10:04 +03:00
/* Make tables vertically aligned to the top */
tbody td {
vertical-align : top ;
}
2022-05-17 20:05:29 +03:00
/* Rouge Code Highlight, github style */
/* Generated with: rougify style github | sed '/background-color: #f8f8f8/d' */
2019-12-11 19:01:46 +03:00
. highlight table td { padding : 5 px ; }
. highlight table pre { margin : 0 ; }
2022-05-17 11:38:07 +03:00
@ media ( prefers-color-scheme : light ) {
. highlight . cm {
color : # 999988 ;
font-style : italic ;
}
. highlight . cp {
color : # 999999 ;
font-weight : bold ;
}
. highlight . c1 {
color : # 999988 ;
font-style : italic ;
}
. highlight . cs {
color : # 999999 ;
font-weight : bold ;
font-style : italic ;
}
. highlight . c , . highlight . ch , . highlight . cd , . highlight . cpf {
color : # 999988 ;
font-style : italic ;
}
. highlight . err {
color : # a61717 ;
background-color : # e3d2d2 ;
}
. highlight . gd {
color : # 000000 ;
background-color : # ffdddd ;
}
. highlight . ge {
color : # 000000 ;
font-style : italic ;
}
. highlight . gr {
color : # aa0000 ;
}
. highlight . gh {
color : # 999999 ;
}
. highlight . gi {
color : # 000000 ;
background-color : # ddffdd ;
}
. highlight . go {
color : # 888888 ;
}
. highlight . gp {
color : # 555555 ;
}
. highlight . gs {
font-weight : bold ;
}
. highlight . gu {
color : # aaaaaa ;
}
. highlight . gt {
color : # aa0000 ;
}
. highlight . kc {
color : # 000000 ;
font-weight : bold ;
}
. highlight . kd {
color : # 000000 ;
font-weight : bold ;
}
. highlight . kn {
color : # 000000 ;
font-weight : bold ;
}
. highlight . kp {
color : # 000000 ;
font-weight : bold ;
}
. highlight . kr {
color : # 000000 ;
font-weight : bold ;
}
. highlight . kt {
color : # 445588 ;
font-weight : bold ;
}
. highlight . k , . highlight . kv {
color : # 000000 ;
font-weight : bold ;
}
. highlight . mf {
color : # 009999 ;
}
. highlight . mh {
color : # 009999 ;
}
. highlight . il {
color : # 009999 ;
}
. highlight . mi {
color : # 009999 ;
}
. highlight . mo {
color : # 009999 ;
}
. highlight . m , . highlight . mb , . highlight . mx {
color : # 009999 ;
}
. highlight . sa {
color : # 000000 ;
font-weight : bold ;
}
. highlight . sb {
color : # d14 ;
}
. highlight . sc {
color : # d14 ;
}
. highlight . sd {
color : # d14 ;
}
. highlight . s2 {
color : # d14 ;
}
. highlight . se {
color : # d14 ;
}
. highlight . sh {
color : # d14 ;
}
. highlight . si {
color : # d14 ;
}
. highlight . sx {
color : # d14 ;
}
. highlight . sr {
color : # 009926 ;
}
. highlight . s1 {
color : # d14 ;
}
. highlight . ss {
color : # 990073 ;
}
. highlight . s , . highlight . dl {
color : # d14 ;
}
. highlight . na {
color : # 008080 ;
}
. highlight . bp {
color : # 999999 ;
}
. highlight . nb {
color : # 0086B3 ;
}
. highlight . nc {
color : # 445588 ;
font-weight : bold ;
}
. highlight . no {
color : # 008080 ;
}
. highlight . nd {
color : # 3c5d5d ;
font-weight : bold ;
}
. highlight . ni {
color : # 800080 ;
}
. highlight . ne {
color : # 990000 ;
font-weight : bold ;
}
. highlight . nf , . highlight . fm {
color : # 990000 ;
font-weight : bold ;
}
. highlight . nl {
color : # 990000 ;
font-weight : bold ;
}
. highlight . nn {
color : # 555555 ;
}
. highlight . nt {
color : # 000080 ;
}
. highlight . vc {
color : # 008080 ;
}
. highlight . vg {
color : # 008080 ;
}
. highlight . vi {
color : # 008080 ;
}
. highlight . nv , . highlight . vm {
color : # 008080 ;
}
. highlight . ow {
color : # 000000 ;
font-weight : bold ;
}
. highlight . o {
color : # 000000 ;
font-weight : bold ;
}
. highlight . w {
color : # bbbbbb ;
}
2019-12-11 19:01:46 +03:00
}
2022-05-17 11:38:07 +03:00
@ media ( prefers-color-scheme : dark ) {
/* rouge "base16.dark" code highlight */
/* generated with: rougify style base16.dark | sed '/background-color: #151515/d' */
. highlight , . highlight . w {
color : # d0d0d0 ;
}
. highlight . err {
color : # 151515 ;
background-color : # ac4142 ;
}
. highlight . c , . highlight . ch , . highlight . cd , . highlight . cm , . highlight . cpf , . highlight . c1 , . highlight . cs {
color : # 505050 ;
}
. highlight . cp {
color : # f4bf75 ;
}
. highlight . nt {
color : # f4bf75 ;
}
. highlight . o , . highlight . ow {
color : # d0d0d0 ;
}
. highlight . p , . highlight . pi {
color : # d0d0d0 ;
}
. highlight . gi {
color : # 90a959 ;
}
. highlight . gd {
color : # ac4142 ;
}
. highlight . gh {
color : # 6a9fb5 ;
font-weight : bold ;
}
. highlight . k , . highlight . kn , . highlight . kp , . highlight . kr , . highlight . kv {
color : # aa759f ;
}
. highlight . kc {
color : # d28445 ;
}
. highlight . kt {
color : # d28445 ;
}
. highlight . kd {
color : # d28445 ;
}
. highlight . s , . highlight . sb , . highlight . sc , . highlight . dl , . highlight . sd , . highlight . s2 , . highlight . sh , . highlight . sx , . highlight . s1 {
color : # 90a959 ;
}
. highlight . sa {
color : # aa759f ;
}
. highlight . sr {
color : # 75b5aa ;
}
. highlight . si {
color : # 8f5536 ;
}
. highlight . se {
color : # 8f5536 ;
}
. highlight . nn {
color : # f4bf75 ;
}
. highlight . nc {
color : # f4bf75 ;
}
. highlight . no {
color : # f4bf75 ;
}
. highlight . na {
color : # 6a9fb5 ;
}
. highlight . m , . highlight . mb , . highlight . mf , . highlight . mh , . highlight . mi , . highlight . il , . highlight . mo , . highlight . mx {
color : # 90a959 ;
}
. highlight . ss {
color : # 90a959 ;
}
}
2019-12-11 19:01:46 +03:00
/* Code Blocks */
. highlighter-rouge {
padding : 2px 1rem ;
border-radius : 5px ;
2022-05-17 11:38:07 +03:00
color : var ( --sd-foreground-color ) ;
background-color : var ( --sd-highlight-bg ) ;
2019-12-11 19:01:46 +03:00
overflow : auto ;
}
2022-05-17 20:05:29 +03:00
. highlighter-rouge . highlight . err {
background : transparent ! important ;
color : inherit ! important ;
2019-12-11 19:01:46 +03:00
}
/* Inline Code */
code . highlighter-rouge {
padding : 2px 6px ;
2022-05-17 11:38:07 +03:00
background-color : var ( --sd-highlight-inline-bg ) ;
}
a code . highlighter-rouge {
color : inherit ;
2019-12-11 19:01:46 +03:00
}