@font-face {
/* Copyright 2016 The Inter Project Authors (https://github.com/rsms/inter). Licensed under the SIL Open Font License, Version 1.1. More information available at: http://scripts.sil.org/OFL */
font-family : ' Inter ' ;
src : local ( ' Inter ' ) ,
url ( ' fonts/Inter4.woff2 ' ) format ( " woff2 " ) ;
font-display : swap ;
}
@font-face {
/* Copyright 2014 - 2023 Adobe (http://www.adobe.com/), with Reserved Font Name ‘ Source’ .adobe.com/). Licensed under the SIL Open Font License, Version 1.1. More information available at: http://scripts.sil.org/OFL */
font-family : ' Source Serif ' ;
src : local ( ' Source Serif ' ) ,
url ( ' fonts/SourceSerif4Variable-Roman.ttf.woff2 ' ) format ( " woff2 " ) ;
font-display : swap ;
}
@font-face {
/* Copyright 2019 - Present, Microsoft Corporation, with Reserved Font Name 'Cascadia Code'. Licensed under the SIL Open Font License, Version 1.1. More information available at: http://scripts.sil.org/OFL */
font-family : ' Cascadia Code ' ;
src : local ( ' Cascadia Code ' ) ,
url ( ' fonts/CascadiaCode-SemiLight.woff2 ' ) format ( " woff2 " ) ;
font-display : swap ;
}
@import ' parts/archive.scss ' ;
@import ' parts/cards.scss ' ;
@import ' parts/code.scss ' ;
@import ' parts/comments.scss ' ;
@import ' parts/footer.scss ' ;
@import ' parts/header-anchor.scss ' ;
@import ' parts/header.scss ' ;
@import ' parts/home-banner.scss ' ;
@import ' parts/image-toggler.scss ' ;
@import ' parts/image-hover.scss ' ;
@import ' parts/image.scss ' ;
@import ' parts/misc.scss ' ;
@import ' parts/multilingual_quote.scss ' ;
@import ' parts/pagination.scss ' ;
@import ' parts/posts_list.scss ' ;
@import ' parts/table.scss ' ;
@import ' parts/tags.scss ' ;
@import ' parts/theme-switch.scss ' ;
@import ' syntax/syntax-ayu-dark.scss ' ;
: root {
--max-layout-width : 1000 px ;
--normal-layout-width : 600 px ;
--medium-layout-width : 400 px ;
--small-layout-width : 200 px ;
--sans-serif-font : ' Inter ' , Helvetica , Arial , sans-serif ;
--serif-font : ' Source Serif ' , ' Georgia ' , serif ;
--code-font : ' Cascadia Code ' ;
font-family : var ( -- sans-serif - font ) ;
line-height : 190 % ;
--background-color : white ;
--bg-0 : #f0f0f0 ;
--bg-1 : #e7e7e7 ;
--bg-2 : #fefefe ;
--bg-3 : #d8dcdd ;
--hover-color : white ;
--primary-color : #087E96 ;
--divider-color : #d7d7d7 ;
--text-color : #222226 ;
--text-color-high-contrast : #313333 ;
--border-color : #727272 ;
--meta-color : #5b5b65 ;
--codeblock-bg : #272430 ;
--codeblock-highlight : #3d3949 ;
--theme-switcher-svg : url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M283.211 512c78.962 0 151.079-35.925 198.857-94.792 7.068-8.708-.639-21.43-11.562-19.35-124.203 23.654-238.262-71.576-238.262-196.954 0-72.222 38.662-138.635 101.498-174.394 9.686-5.512 7.25-20.197-3.756-22.23A258.156 258.156 0 0 0 283.211 0c-141.309 0-256 114.511-256 256 0 141.309 114.511 256 256 256z'/%3E%3C/svg%3E%0A" ) ;
}
[ data-theme = ' dark ' ] {
--background-color : #1f1f1f ;
--bg-0 : #2f2f2f ;
--bg-1 : #3c3c3c ;
--bg-2 : #171717 ;
--bg-3 : #535555 ;
--hover-color : black ;
--primary-color : #91e0ee ;
--divider-color : #4a4a4a ;
--text-color : #D4D4D4 ;
--text-color-high-contrast : #eceeef ;
--border-color : black ;
--meta-color : #B0B0B0 ;
--codeblock-bg : #151515 ;
--codeblock-highlight : #292929 ;
--theme-switcher-svg : url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 96 960 960' %3E%3Cpath d='M480 776q-83 0-141.5-58.5T280 576q0-83 58.5-141.5T480 376q83 0 141.5 58.5T680 576q0 83-58.5 141.5T480 776ZM80 616q-17 0-28.5-11.5T40 576q0-17 11.5-28.5T80 536h80q17 0 28.5 11.5T200 576q0 17-11.5 28.5T160 616H80Zm720 0q-17 0-28.5-11.5T760 576q0-17 11.5-28.5T800 536h80q17 0 28.5 11.5T920 576q0 17-11.5 28.5T880 616h-80ZM480 296q-17 0-28.5-11.5T440 256v-80q0-17 11.5-28.5T480 136q17 0 28.5 11.5T520 176v80q0 17-11.5 28.5T480 296Zm0 720q-17 0-28.5-11.5T440 976v-80q0-17 11.5-28.5T480 856q17 0 28.5 11.5T520 896v80q0 17-11.5 28.5T480 1016ZM226 378l-43-42q-12-11-11.5-28t11.5-29q12-12 29-12t28 12l42 43q11 12 11 28t-11 28q-11 12-27.5 11.5T226 378Zm494 495-42-43q-11-12-11-28.5t11-27.5q11-12 27.5-11.5T734 774l43 42q12 11 11.5 28T777 873q-12 12-29 12t-28-12Zm-42-495q-12-11-11.5-27.5T678 322l42-43q11-12 28-11.5t29 11.5q12 12 12 29t-12 28l-43 42q-12 11-28 11t-28-11ZM183 873q-12-12-12-29t12-28l43-42q12-11 28.5-11t27.5 11q12 11 11.5 27.5T282 830l-42 43q-11 12-28 11.5T183 873Z'/%3E%3C/svg%3E" ) ;
. invertible-image {
filter : invert ( .88 ) ;
}
. dimmable-image {
filter : brightness ( .8 ) contrast ( 1 .2 ) ;
}
}
html {
background-color : var ( -- background-color ) ;
color : var ( -- text - color ) ;
line-height : 1 .6 em ;
text-rendering : optimizeLegibility ;
}
body {
display : flex ;
flex-direction : column ;
min-height : 100 vh ;
margin : 0 5 vmin ;
padding : 0 ;
}
. content {
width : 100 % ;
max-width : var ( -- max-layout-width ) ;
margin : 0 auto ;
margin-top : 6 vmin ;
margin-bottom : 4 rem ;
word-wrap : break-word ;
}
article {
$base-margin : 6 rem ;
max-width : calc ( var ( -- max-layout-width ) - 2 * $base-margin ) ;
margin : 0 auto ;
p ,
li {
font-family : var ( -- serif - font ) ;
}
. full-width {
width : auto ;
height : auto ;
max-width : calc ( 100 % + 2 * $base-margin ) ;
margin-left : - $base-margin ;
margin-right : - $base-margin ;
display : flex ;
}
}
. section-title {
display : block ;
font-size : 2 .2 em ;
margin-bottom : 0 em ;
margin-left : 0 ;
margin-right : 0 ;
font-weight : 550 ;
color : var ( -- text - color - high-contrast ) ;
}
. last-updated {
margin-top : - 5 vmin ;
}
h1 ,
h2 ,
h3 ,
h4 ,
h5 ,
h6 {
position : relative ;
}
h1 {
display : block ;
font-size : 1 .5 em ;
margin-top : 0 .67 em ;
margin-bottom : 0 em ;
margin-left : 0 ;
margin-right : 0 ;
font-weight : 550 ;
}
h2 {
display : block ;
font-size : 1 .4 em ;
margin-top : 0 .5 em ;
margin-bottom : 0 em ;
margin-left : 0 ;
margin-right : 0 ;
font-weight : 550 ;
}
h3 {
display : block ;
font-size : 1 .2 em ;
margin-top : 0 .3 em ;
margin-bottom : 0 em ;
margin-left : 0 ;
margin-right : 0 ;
font-weight : 550 ;
}
h4 {
display : block ;
font-size : 1 em ;
margin-top : 0 .83 em ;
margin-bottom : 0 em ;
margin-left : 0 ;
margin-right : 0 ;
font-weight : 550 ;
}
h5 {
display : block ;
font-size : 1 em ;
margin-top : 0 .83 em ;
margin-bottom : 0 em ;
margin-left : 0 ;
margin-right : 0 ;
font-weight : normal ;
}
p {
margin-top : 0 .4 rem ;
margin-bottom : max ( 2 .3 vmin , 24 px ) ;
line-height : 2 rem ;
font-size : 1 em ;
}
strong {
font-weight : 620 ;
}
. centered-text {
text-align : center ;
}
. subheader {
margin-bottom : 2 rem ;
}
@media only screen and ( max-width : 1000 px ) {
. content {
max-width : var ( -- normal - layout-width ) ;
}
body {
margin : 0 32 px ;
}
article . full-width {
width : auto ;
max-width : none ;
margin-left : 0 ;
margin-right : 0 ;
display : block ;
}
}
@media only screen and ( max-width : 600 px ) {
. content {
max-width : var ( -- medium - layout-width ) ;
margin-top : 0 rem ;
}
article {
margin-top : 1 .3 rem ;
}
body {
margin : 0 16 px ;
}
}
@media only screen and ( max-width : 300 px ) {
. content {
max-width : var ( -- small - layout-width ) ;
}
}
@media all and ( min-width : 600 px ) {
html {
font-size : 16 .5 px ;
}
}
@media all and ( min-width : 960 px ) {
html {
font-size : 20 px ;
}
}