@charset "UTF-8";
/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
/* specificity */
* {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline; }

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

:root body {
  font-family: Source Serif Pro, serif; }
:root aside.references:before {
  font-family: Symbola, serif; }
:root hr {
  font: 2em/1 monofur; }
:root nav {
  font-family: Inconsolata, monospace, monospace; }
:root :lang(ckb) {
  font-family: 'Noto Naskh Arabic'; }
:root :lang(zh) {
  font-family: 'Noto Sans SC'; }

:root.blogv0 article, :root.blogv0 footer {
  font-family: CMU Serif, serif; }
:root.blogv0 h1, :root.blogv0 h2, :root.blogv0 h3, :root.blogv0 h4, :root.blogv0 h5, :root.blogv0 h6 {
  font-family: Source Serif Pro, serif; }

@font-face {
  font-display: fallback;
  font-family: "CMU Serif";
  font-weight: normal;
  font-style: normal;
  unicode-range: U+0-10FFFF;
  src: url("cmunrm.woff2"); }
@font-face {
  font-display: fallback;
  font-family: "CMU Serif";
  font-weight: normal;
  font-style: normal;
  unicode-range: U+20-7E, U+A0-FF, U+17F, U+192, U+200-2FF, U+393, U+398, U+3A3, U+3A6, U+3A9, U+3B1, U+3B4, U+3B5, U+3C0, U+3C3, U+3C4, U+3C6, U+627, U+628, U+62F, U+632, U+639, U+644, U+646, U+6CC, U+6D5, U+2010-201F, U+2022, U+2032-2034, U+203C, U+207F, U+20A7, U+2122, U+2190-2195, U+21A8, U+2219, U+221A, U+221E, U+221F, U+2229, U+2248, U+2261, U+2264, U+2265, U+2302, U+2310, U+2320, U+2321, U+2400-2426, U+2500, U+2502, U+250C, U+2510, U+2514, U+2518, U+251C, U+2524, U+252C, U+2534, U+253C, U+2550-256C, U+2580, U+2584, U+2588, U+258C, U+2590-2593, U+25A0, U+25AC, U+25B2, U+25BA, U+25BC, U+25C4, U+25CB, U+25D8, U+25D9, U+263A-263C, U+2640, U+2642, U+2660, U+2663, U+2665, U+2666, U+266A, U+266B, U+5170, U+81F4, U+8FEA, U+1F4D6;
  src: url("-cmunrm.woff2"); }
@font-face {
  font-display: fallback;
  font-family: "CMU Serif";
  font-weight: normal;
  font-style: italic;
  unicode-range: U+0-10FFFF;
  src: url("cmunti.woff2"); }
@font-face {
  font-display: fallback;
  font-family: "CMU Serif";
  font-weight: normal;
  font-style: italic;
  unicode-range: U+20-7E, U+A0-FF, U+17F, U+192, U+200-2FF, U+393, U+398, U+3A3, U+3A6, U+3A9, U+3B1, U+3B4, U+3B5, U+3C0, U+3C3, U+3C4, U+3C6, U+627, U+628, U+62F, U+632, U+639, U+644, U+646, U+6CC, U+6D5, U+2010-201F, U+2022, U+2032-2034, U+203C, U+207F, U+20A7, U+2122, U+2190-2195, U+21A8, U+2219, U+221A, U+221E, U+221F, U+2229, U+2248, U+2261, U+2264, U+2265, U+2302, U+2310, U+2320, U+2321, U+2400-2426, U+2500, U+2502, U+250C, U+2510, U+2514, U+2518, U+251C, U+2524, U+252C, U+2534, U+253C, U+2550-256C, U+2580, U+2584, U+2588, U+258C, U+2590-2593, U+25A0, U+25AC, U+25B2, U+25BA, U+25BC, U+25C4, U+25CB, U+25D8, U+25D9, U+263A-263C, U+2640, U+2642, U+2660, U+2663, U+2665, U+2666, U+266A, U+266B, U+5170, U+81F4, U+8FEA, U+1F4D6;
  src: url("-cmunti.woff2"); }
@font-face {
  font-display: fallback;
  font-family: "CMU Serif";
  font-weight: bold;
  font-style: normal;
  unicode-range: U+0-10FFFF;
  src: url("cmunbx.woff2"); }
@font-face {
  font-display: fallback;
  font-family: "CMU Serif";
  font-weight: bold;
  font-style: normal;
  unicode-range: U+20-7E, U+A0-FF, U+17F, U+192, U+200-2FF, U+393, U+398, U+3A3, U+3A6, U+3A9, U+3B1, U+3B4, U+3B5, U+3C0, U+3C3, U+3C4, U+3C6, U+627, U+628, U+62F, U+632, U+639, U+644, U+646, U+6CC, U+6D5, U+2010-201F, U+2022, U+2032-2034, U+203C, U+207F, U+20A7, U+2122, U+2190-2195, U+21A8, U+2219, U+221A, U+221E, U+221F, U+2229, U+2248, U+2261, U+2264, U+2265, U+2302, U+2310, U+2320, U+2321, U+2400-2426, U+2500, U+2502, U+250C, U+2510, U+2514, U+2518, U+251C, U+2524, U+252C, U+2534, U+253C, U+2550-256C, U+2580, U+2584, U+2588, U+258C, U+2590-2593, U+25A0, U+25AC, U+25B2, U+25BA, U+25BC, U+25C4, U+25CB, U+25D8, U+25D9, U+263A-263C, U+2640, U+2642, U+2660, U+2663, U+2665, U+2666, U+266A, U+266B, U+5170, U+81F4, U+8FEA, U+1F4D6;
  src: url("-cmunbx.woff2"); }
@font-face {
  font-display: fallback;
  font-family: "CMU Serif";
  font-weight: bold;
  font-style: italic;
  unicode-range: U+0-10FFFF;
  src: url("cmunbi.woff2"); }
@font-face {
  font-display: fallback;
  font-family: "CMU Serif";
  font-weight: bold;
  font-style: italic;
  unicode-range: U+20-7E, U+A0-FF, U+17F, U+192, U+200-2FF, U+393, U+398, U+3A3, U+3A6, U+3A9, U+3B1, U+3B4, U+3B5, U+3C0, U+3C3, U+3C4, U+3C6, U+627, U+628, U+62F, U+632, U+639, U+644, U+646, U+6CC, U+6D5, U+2010-201F, U+2022, U+2032-2034, U+203C, U+207F, U+20A7, U+2122, U+2190-2195, U+21A8, U+2219, U+221A, U+221E, U+221F, U+2229, U+2248, U+2261, U+2264, U+2265, U+2302, U+2310, U+2320, U+2321, U+2400-2426, U+2500, U+2502, U+250C, U+2510, U+2514, U+2518, U+251C, U+2524, U+252C, U+2534, U+253C, U+2550-256C, U+2580, U+2584, U+2588, U+258C, U+2590-2593, U+25A0, U+25AC, U+25B2, U+25BA, U+25BC, U+25C4, U+25CB, U+25D8, U+25D9, U+263A-263C, U+2640, U+2642, U+2660, U+2663, U+2665, U+2666, U+266A, U+266B, U+5170, U+81F4, U+8FEA, U+1F4D6;
  src: url("-cmunbi.woff2"); }
@font-face {
  font-display: fallback;
  font-family: "CMU Typewriter Text";
  font-weight: normal;
  font-style: normal;
  unicode-range: U+0-10FFFF;
  src: url("cmuntt.woff2"); }
@font-face {
  font-display: fallback;
  font-family: "CMU Typewriter Text";
  font-weight: normal;
  font-style: normal;
  unicode-range: U+20-7E, U+A0-FF, U+17F, U+192, U+200-2FF, U+393, U+398, U+3A3, U+3A6, U+3A9, U+3B1, U+3B4, U+3B5, U+3C0, U+3C3, U+3C4, U+3C6, U+627, U+628, U+62F, U+632, U+639, U+644, U+646, U+6CC, U+6D5, U+2010-201F, U+2022, U+2032-2034, U+203C, U+207F, U+20A7, U+2122, U+2190-2195, U+21A8, U+2219, U+221A, U+221E, U+221F, U+2229, U+2248, U+2261, U+2264, U+2265, U+2302, U+2310, U+2320, U+2321, U+2400-2426, U+2500, U+2502, U+250C, U+2510, U+2514, U+2518, U+251C, U+2524, U+252C, U+2534, U+253C, U+2550-256C, U+2580, U+2584, U+2588, U+258C, U+2590-2593, U+25A0, U+25AC, U+25B2, U+25BA, U+25BC, U+25C4, U+25CB, U+25D8, U+25D9, U+263A-263C, U+2640, U+2642, U+2660, U+2663, U+2665, U+2666, U+266A, U+266B, U+5170, U+81F4, U+8FEA, U+1F4D6;
  src: url("-cmuntt.woff2"); }
@font-face {
  font-display: fallback;
  font-family: "Inconsolata";
  font-weight: normal;
  font-style: normal;
  unicode-range: U+0-10FFFF;
  src: url("Inconsolata@3.001,wdth,wght.woff2"); }
@font-face {
  font-display: fallback;
  font-family: "Inconsolata";
  font-weight: normal;
  font-style: normal;
  unicode-range: U+20-7E, U+A0-FF, U+17F, U+192, U+200-2FF, U+393, U+398, U+3A3, U+3A6, U+3A9, U+3B1, U+3B4, U+3B5, U+3C0, U+3C3, U+3C4, U+3C6, U+627, U+628, U+62F, U+632, U+639, U+644, U+646, U+6CC, U+6D5, U+2010-201F, U+2022, U+2032-2034, U+203C, U+207F, U+20A7, U+2122, U+2190-2195, U+21A8, U+2219, U+221A, U+221E, U+221F, U+2229, U+2248, U+2261, U+2264, U+2265, U+2302, U+2310, U+2320, U+2321, U+2400-2426, U+2500, U+2502, U+250C, U+2510, U+2514, U+2518, U+251C, U+2524, U+252C, U+2534, U+253C, U+2550-256C, U+2580, U+2584, U+2588, U+258C, U+2590-2593, U+25A0, U+25AC, U+25B2, U+25BA, U+25BC, U+25C4, U+25CB, U+25D8, U+25D9, U+263A-263C, U+2640, U+2642, U+2660, U+2663, U+2665, U+2666, U+266A, U+266B, U+5170, U+81F4, U+8FEA, U+1F4D6;
  src: url("-Inconsolata@3.001,wdth,wght.woff2"); }
@font-face {
  font-display: fallback;
  font-family: "monofur";
  font-weight: normal;
  font-style: normal;
  unicode-range: U+0-10FFFF;
  src: url("monof55.woff2"); }
@font-face {
  font-display: fallback;
  font-family: "monofur";
  font-weight: normal;
  font-style: normal;
  unicode-range: U+20-7E, U+A0-FF, U+17F, U+192, U+200-2FF, U+393, U+398, U+3A3, U+3A6, U+3A9, U+3B1, U+3B4, U+3B5, U+3C0, U+3C3, U+3C4, U+3C6, U+627, U+628, U+62F, U+632, U+639, U+644, U+646, U+6CC, U+6D5, U+2010-201F, U+2022, U+2032-2034, U+203C, U+207F, U+20A7, U+2122, U+2190-2195, U+21A8, U+2219, U+221A, U+221E, U+221F, U+2229, U+2248, U+2261, U+2264, U+2265, U+2302, U+2310, U+2320, U+2321, U+2400-2426, U+2500, U+2502, U+250C, U+2510, U+2514, U+2518, U+251C, U+2524, U+252C, U+2534, U+253C, U+2550-256C, U+2580, U+2584, U+2588, U+258C, U+2590-2593, U+25A0, U+25AC, U+25B2, U+25BA, U+25BC, U+25C4, U+25CB, U+25D8, U+25D9, U+263A-263C, U+2640, U+2642, U+2660, U+2663, U+2665, U+2666, U+266A, U+266B, U+5170, U+81F4, U+8FEA, U+1F4D6;
  src: url("-monof55.woff2"); }
@font-face {
  font-display: fallback;
  font-family: "Symbola";
  font-weight: normal;
  font-style: normal;
  unicode-range: U+0-10FFFF;
  src: url("Symbola.woff2"); }
@font-face {
  font-display: fallback;
  font-family: "Symbola";
  font-weight: normal;
  font-style: normal;
  unicode-range: U+20-7E, U+A0-FF, U+17F, U+192, U+200-2FF, U+393, U+398, U+3A3, U+3A6, U+3A9, U+3B1, U+3B4, U+3B5, U+3C0, U+3C3, U+3C4, U+3C6, U+627, U+628, U+62F, U+632, U+639, U+644, U+646, U+6CC, U+6D5, U+2010-201F, U+2022, U+2032-2034, U+203C, U+207F, U+20A7, U+2122, U+2190-2195, U+21A8, U+2219, U+221A, U+221E, U+221F, U+2229, U+2248, U+2261, U+2264, U+2265, U+2302, U+2310, U+2320, U+2321, U+2400-2426, U+2500, U+2502, U+250C, U+2510, U+2514, U+2518, U+251C, U+2524, U+252C, U+2534, U+253C, U+2550-256C, U+2580, U+2584, U+2588, U+258C, U+2590-2593, U+25A0, U+25AC, U+25B2, U+25BA, U+25BC, U+25C4, U+25CB, U+25D8, U+25D9, U+263A-263C, U+2640, U+2642, U+2660, U+2663, U+2665, U+2666, U+266A, U+266B, U+5170, U+81F4, U+8FEA, U+1F4D6;
  src: url("-Symbola.woff2"); }
@font-face {
  font-display: fallback;
  font-family: "Noto Naskh Arabic";
  font-weight: normal;
  font-style: normal;
  unicode-range: U+0-10FFFF;
  src: url("NotoNaskhArabic-Regular.woff2"); }
@font-face {
  font-display: fallback;
  font-family: "Noto Naskh Arabic";
  font-weight: normal;
  font-style: normal;
  unicode-range: U+20-7E, U+A0-FF, U+17F, U+192, U+200-2FF, U+393, U+398, U+3A3, U+3A6, U+3A9, U+3B1, U+3B4, U+3B5, U+3C0, U+3C3, U+3C4, U+3C6, U+627, U+628, U+62F, U+632, U+639, U+644, U+646, U+6CC, U+6D5, U+2010-201F, U+2022, U+2032-2034, U+203C, U+207F, U+20A7, U+2122, U+2190-2195, U+21A8, U+2219, U+221A, U+221E, U+221F, U+2229, U+2248, U+2261, U+2264, U+2265, U+2302, U+2310, U+2320, U+2321, U+2400-2426, U+2500, U+2502, U+250C, U+2510, U+2514, U+2518, U+251C, U+2524, U+252C, U+2534, U+253C, U+2550-256C, U+2580, U+2584, U+2588, U+258C, U+2590-2593, U+25A0, U+25AC, U+25B2, U+25BA, U+25BC, U+25C4, U+25CB, U+25D8, U+25D9, U+263A-263C, U+2640, U+2642, U+2660, U+2663, U+2665, U+2666, U+266A, U+266B, U+5170, U+81F4, U+8FEA, U+1F4D6;
  src: url("-NotoNaskhArabic-Regular.woff2"); }
@font-face {
  font-display: fallback;
  font-family: "Noto Sans SC";
  font-weight: normal;
  font-style: normal;
  unicode-range: U+0-10FFFF;
  src: url("NotoSansSC-Regular.woff2"); }
@font-face {
  font-display: fallback;
  font-family: "Noto Sans SC";
  font-weight: normal;
  font-style: normal;
  unicode-range: U+20-7E, U+A0-FF, U+17F, U+192, U+200-2FF, U+393, U+398, U+3A3, U+3A6, U+3A9, U+3B1, U+3B4, U+3B5, U+3C0, U+3C3, U+3C4, U+3C6, U+627, U+628, U+62F, U+632, U+639, U+644, U+646, U+6CC, U+6D5, U+2010-201F, U+2022, U+2032-2034, U+203C, U+207F, U+20A7, U+2122, U+2190-2195, U+21A8, U+2219, U+221A, U+221E, U+221F, U+2229, U+2248, U+2261, U+2264, U+2265, U+2302, U+2310, U+2320, U+2321, U+2400-2426, U+2500, U+2502, U+250C, U+2510, U+2514, U+2518, U+251C, U+2524, U+252C, U+2534, U+253C, U+2550-256C, U+2580, U+2584, U+2588, U+258C, U+2590-2593, U+25A0, U+25AC, U+25B2, U+25BA, U+25BC, U+25C4, U+25CB, U+25D8, U+25D9, U+263A-263C, U+2640, U+2642, U+2660, U+2663, U+2665, U+2666, U+266A, U+266B, U+5170, U+81F4, U+8FEA, U+1F4D6;
  src: url("-NotoSansSC-Regular.woff2"); }
@font-face {
  font-display: fallback;
  font-family: "Source Serif Pro";
  font-weight: normal;
  font-style: normal;
  unicode-range: U+0-10FFFF;
  src: url("SourceSerifPro-Regular.woff2"); }
@font-face {
  font-display: fallback;
  font-family: "Source Serif Pro";
  font-weight: normal;
  font-style: normal;
  unicode-range: U+20-7E, U+A0-FF, U+17F, U+192, U+200-2FF, U+393, U+398, U+3A3, U+3A6, U+3A9, U+3B1, U+3B4, U+3B5, U+3C0, U+3C3, U+3C4, U+3C6, U+627, U+628, U+62F, U+632, U+639, U+644, U+646, U+6CC, U+6D5, U+2010-201F, U+2022, U+2032-2034, U+203C, U+207F, U+20A7, U+2122, U+2190-2195, U+21A8, U+2219, U+221A, U+221E, U+221F, U+2229, U+2248, U+2261, U+2264, U+2265, U+2302, U+2310, U+2320, U+2321, U+2400-2426, U+2500, U+2502, U+250C, U+2510, U+2514, U+2518, U+251C, U+2524, U+252C, U+2534, U+253C, U+2550-256C, U+2580, U+2584, U+2588, U+258C, U+2590-2593, U+25A0, U+25AC, U+25B2, U+25BA, U+25BC, U+25C4, U+25CB, U+25D8, U+25D9, U+263A-263C, U+2640, U+2642, U+2660, U+2663, U+2665, U+2666, U+266A, U+266B, U+5170, U+81F4, U+8FEA, U+1F4D6;
  src: url("-SourceSerifPro-Regular.woff2"); }
@font-face {
  font-display: fallback;
  font-family: "Source Serif Pro";
  font-weight: normal;
  font-style: italic;
  unicode-range: U+0-10FFFF;
  src: url("SourceSerifPro-Italic.woff2"); }
@font-face {
  font-display: fallback;
  font-family: "Source Serif Pro";
  font-weight: normal;
  font-style: italic;
  unicode-range: U+20-7E, U+A0-FF, U+17F, U+192, U+200-2FF, U+393, U+398, U+3A3, U+3A6, U+3A9, U+3B1, U+3B4, U+3B5, U+3C0, U+3C3, U+3C4, U+3C6, U+627, U+628, U+62F, U+632, U+639, U+644, U+646, U+6CC, U+6D5, U+2010-201F, U+2022, U+2032-2034, U+203C, U+207F, U+20A7, U+2122, U+2190-2195, U+21A8, U+2219, U+221A, U+221E, U+221F, U+2229, U+2248, U+2261, U+2264, U+2265, U+2302, U+2310, U+2320, U+2321, U+2400-2426, U+2500, U+2502, U+250C, U+2510, U+2514, U+2518, U+251C, U+2524, U+252C, U+2534, U+253C, U+2550-256C, U+2580, U+2584, U+2588, U+258C, U+2590-2593, U+25A0, U+25AC, U+25B2, U+25BA, U+25BC, U+25C4, U+25CB, U+25D8, U+25D9, U+263A-263C, U+2640, U+2642, U+2660, U+2663, U+2665, U+2666, U+266A, U+266B, U+5170, U+81F4, U+8FEA, U+1F4D6;
  src: url("-SourceSerifPro-Italic.woff2"); }
@font-face {
  font-display: fallback;
  font-family: "Source Serif Pro";
  font-weight: bold;
  font-style: normal;
  unicode-range: U+0-10FFFF;
  src: url("SourceSerifPro-Bold.woff2"); }
@font-face {
  font-display: fallback;
  font-family: "Source Serif Pro";
  font-weight: bold;
  font-style: normal;
  unicode-range: U+20-7E, U+A0-FF, U+17F, U+192, U+200-2FF, U+393, U+398, U+3A3, U+3A6, U+3A9, U+3B1, U+3B4, U+3B5, U+3C0, U+3C3, U+3C4, U+3C6, U+627, U+628, U+62F, U+632, U+639, U+644, U+646, U+6CC, U+6D5, U+2010-201F, U+2022, U+2032-2034, U+203C, U+207F, U+20A7, U+2122, U+2190-2195, U+21A8, U+2219, U+221A, U+221E, U+221F, U+2229, U+2248, U+2261, U+2264, U+2265, U+2302, U+2310, U+2320, U+2321, U+2400-2426, U+2500, U+2502, U+250C, U+2510, U+2514, U+2518, U+251C, U+2524, U+252C, U+2534, U+253C, U+2550-256C, U+2580, U+2584, U+2588, U+258C, U+2590-2593, U+25A0, U+25AC, U+25B2, U+25BA, U+25BC, U+25C4, U+25CB, U+25D8, U+25D9, U+263A-263C, U+2640, U+2642, U+2660, U+2663, U+2665, U+2666, U+266A, U+266B, U+5170, U+81F4, U+8FEA, U+1F4D6;
  src: url("-SourceSerifPro-Bold.woff2"); }
@font-face {
  font-display: fallback;
  font-family: "Source Serif Pro";
  font-weight: bold;
  font-style: italic;
  unicode-range: U+0-10FFFF;
  src: url("SourceSerifPro-BoldItalic.woff2"); }
@font-face {
  font-display: fallback;
  font-family: "Source Serif Pro";
  font-weight: bold;
  font-style: italic;
  unicode-range: U+20-7E, U+A0-FF, U+17F, U+192, U+200-2FF, U+393, U+398, U+3A3, U+3A6, U+3A9, U+3B1, U+3B4, U+3B5, U+3C0, U+3C3, U+3C4, U+3C6, U+627, U+628, U+62F, U+632, U+639, U+644, U+646, U+6CC, U+6D5, U+2010-201F, U+2022, U+2032-2034, U+203C, U+207F, U+20A7, U+2122, U+2190-2195, U+21A8, U+2219, U+221A, U+221E, U+221F, U+2229, U+2248, U+2261, U+2264, U+2265, U+2302, U+2310, U+2320, U+2321, U+2400-2426, U+2500, U+2502, U+250C, U+2510, U+2514, U+2518, U+251C, U+2524, U+252C, U+2534, U+253C, U+2550-256C, U+2580, U+2584, U+2588, U+258C, U+2590-2593, U+25A0, U+25AC, U+25B2, U+25BA, U+25BC, U+25C4, U+25CB, U+25D8, U+25D9, U+263A-263C, U+2640, U+2642, U+2660, U+2663, U+2665, U+2666, U+266A, U+266B, U+5170, U+81F4, U+8FEA, U+1F4D6;
  src: url("-SourceSerifPro-BoldItalic.woff2"); }
@font-face {
  font-display: fallback;
  font-family: "Atkinson Hyperlegible";
  font-weight: normal;
  font-style: normal;
  unicode-range: U+0-10FFFF;
  src: url("Atkinson-Hyperlegible-Regular-102.woff2"); }
@font-face {
  font-display: fallback;
  font-family: "Atkinson Hyperlegible";
  font-weight: normal;
  font-style: normal;
  unicode-range: U+20-7E, U+A0-FF, U+17F, U+192, U+200-2FF, U+393, U+398, U+3A3, U+3A6, U+3A9, U+3B1, U+3B4, U+3B5, U+3C0, U+3C3, U+3C4, U+3C6, U+627, U+628, U+62F, U+632, U+639, U+644, U+646, U+6CC, U+6D5, U+2010-201F, U+2022, U+2032-2034, U+203C, U+207F, U+20A7, U+2122, U+2190-2195, U+21A8, U+2219, U+221A, U+221E, U+221F, U+2229, U+2248, U+2261, U+2264, U+2265, U+2302, U+2310, U+2320, U+2321, U+2400-2426, U+2500, U+2502, U+250C, U+2510, U+2514, U+2518, U+251C, U+2524, U+252C, U+2534, U+253C, U+2550-256C, U+2580, U+2584, U+2588, U+258C, U+2590-2593, U+25A0, U+25AC, U+25B2, U+25BA, U+25BC, U+25C4, U+25CB, U+25D8, U+25D9, U+263A-263C, U+2640, U+2642, U+2660, U+2663, U+2665, U+2666, U+266A, U+266B, U+5170, U+81F4, U+8FEA, U+1F4D6;
  src: url("-Atkinson-Hyperlegible-Regular-102.woff2"); }
@font-face {
  font-display: fallback;
  font-family: "Atkinson Hyperlegible";
  font-weight: normal;
  font-style: italic;
  unicode-range: U+0-10FFFF;
  src: url("Atkinson-Hyperlegible-Italic-102.woff2"); }
@font-face {
  font-display: fallback;
  font-family: "Atkinson Hyperlegible";
  font-weight: normal;
  font-style: italic;
  unicode-range: U+20-7E, U+A0-FF, U+17F, U+192, U+200-2FF, U+393, U+398, U+3A3, U+3A6, U+3A9, U+3B1, U+3B4, U+3B5, U+3C0, U+3C3, U+3C4, U+3C6, U+627, U+628, U+62F, U+632, U+639, U+644, U+646, U+6CC, U+6D5, U+2010-201F, U+2022, U+2032-2034, U+203C, U+207F, U+20A7, U+2122, U+2190-2195, U+21A8, U+2219, U+221A, U+221E, U+221F, U+2229, U+2248, U+2261, U+2264, U+2265, U+2302, U+2310, U+2320, U+2321, U+2400-2426, U+2500, U+2502, U+250C, U+2510, U+2514, U+2518, U+251C, U+2524, U+252C, U+2534, U+253C, U+2550-256C, U+2580, U+2584, U+2588, U+258C, U+2590-2593, U+25A0, U+25AC, U+25B2, U+25BA, U+25BC, U+25C4, U+25CB, U+25D8, U+25D9, U+263A-263C, U+2640, U+2642, U+2660, U+2663, U+2665, U+2666, U+266A, U+266B, U+5170, U+81F4, U+8FEA, U+1F4D6;
  src: url("-Atkinson-Hyperlegible-Italic-102.woff2"); }
@font-face {
  font-display: fallback;
  font-family: "Atkinson Hyperlegible";
  font-weight: bold;
  font-style: normal;
  unicode-range: U+0-10FFFF;
  src: url("Atkinson-Hyperlegible-Bold-102.woff2"); }
@font-face {
  font-display: fallback;
  font-family: "Atkinson Hyperlegible";
  font-weight: bold;
  font-style: normal;
  unicode-range: U+20-7E, U+A0-FF, U+17F, U+192, U+200-2FF, U+393, U+398, U+3A3, U+3A6, U+3A9, U+3B1, U+3B4, U+3B5, U+3C0, U+3C3, U+3C4, U+3C6, U+627, U+628, U+62F, U+632, U+639, U+644, U+646, U+6CC, U+6D5, U+2010-201F, U+2022, U+2032-2034, U+203C, U+207F, U+20A7, U+2122, U+2190-2195, U+21A8, U+2219, U+221A, U+221E, U+221F, U+2229, U+2248, U+2261, U+2264, U+2265, U+2302, U+2310, U+2320, U+2321, U+2400-2426, U+2500, U+2502, U+250C, U+2510, U+2514, U+2518, U+251C, U+2524, U+252C, U+2534, U+253C, U+2550-256C, U+2580, U+2584, U+2588, U+258C, U+2590-2593, U+25A0, U+25AC, U+25B2, U+25BA, U+25BC, U+25C4, U+25CB, U+25D8, U+25D9, U+263A-263C, U+2640, U+2642, U+2660, U+2663, U+2665, U+2666, U+266A, U+266B, U+5170, U+81F4, U+8FEA, U+1F4D6;
  src: url("-Atkinson-Hyperlegible-Bold-102.woff2"); }
@font-face {
  font-display: fallback;
  font-family: "Atkinson Hyperlegible";
  font-weight: bold;
  font-style: italic;
  unicode-range: U+0-10FFFF;
  src: url("Atkinson-Hyperlegible-BoldItalic-102.woff2"); }
@font-face {
  font-display: fallback;
  font-family: "Atkinson Hyperlegible";
  font-weight: bold;
  font-style: italic;
  unicode-range: U+20-7E, U+A0-FF, U+17F, U+192, U+200-2FF, U+393, U+398, U+3A3, U+3A6, U+3A9, U+3B1, U+3B4, U+3B5, U+3C0, U+3C3, U+3C4, U+3C6, U+627, U+628, U+62F, U+632, U+639, U+644, U+646, U+6CC, U+6D5, U+2010-201F, U+2022, U+2032-2034, U+203C, U+207F, U+20A7, U+2122, U+2190-2195, U+21A8, U+2219, U+221A, U+221E, U+221F, U+2229, U+2248, U+2261, U+2264, U+2265, U+2302, U+2310, U+2320, U+2321, U+2400-2426, U+2500, U+2502, U+250C, U+2510, U+2514, U+2518, U+251C, U+2524, U+252C, U+2534, U+253C, U+2550-256C, U+2580, U+2584, U+2588, U+258C, U+2590-2593, U+25A0, U+25AC, U+25B2, U+25BA, U+25BC, U+25C4, U+25CB, U+25D8, U+25D9, U+263A-263C, U+2640, U+2642, U+2660, U+2663, U+2665, U+2666, U+266A, U+266B, U+5170, U+81F4, U+8FEA, U+1F4D6;
  src: url("-Atkinson-Hyperlegible-BoldItalic-102.woff2"); }
@font-face {
  font-display: fallback;
  font-family: "Comic Sans MS";
  font-weight: normal;
  font-style: normal;
  unicode-range: U+0-10FFFF;
  src: url("Comic_Sans_MS.woff2"); }
@font-face {
  font-display: fallback;
  font-family: "Comic Sans MS";
  font-weight: normal;
  font-style: normal;
  unicode-range: U+20-7E, U+A0-FF, U+17F, U+192, U+200-2FF, U+393, U+398, U+3A3, U+3A6, U+3A9, U+3B1, U+3B4, U+3B5, U+3C0, U+3C3, U+3C4, U+3C6, U+627, U+628, U+62F, U+632, U+639, U+644, U+646, U+6CC, U+6D5, U+2010-201F, U+2022, U+2032-2034, U+203C, U+207F, U+20A7, U+2122, U+2190-2195, U+21A8, U+2219, U+221A, U+221E, U+221F, U+2229, U+2248, U+2261, U+2264, U+2265, U+2302, U+2310, U+2320, U+2321, U+2400-2426, U+2500, U+2502, U+250C, U+2510, U+2514, U+2518, U+251C, U+2524, U+252C, U+2534, U+253C, U+2550-256C, U+2580, U+2584, U+2588, U+258C, U+2590-2593, U+25A0, U+25AC, U+25B2, U+25BA, U+25BC, U+25C4, U+25CB, U+25D8, U+25D9, U+263A-263C, U+2640, U+2642, U+2660, U+2663, U+2665, U+2666, U+266A, U+266B, U+5170, U+81F4, U+8FEA, U+1F4D6;
  src: url("-Comic_Sans_MS.woff2"); }
@font-face {
  font-display: fallback;
  font-family: "Comic Sans MS";
  font-weight: bold;
  font-style: normal;
  unicode-range: U+0-10FFFF;
  src: url("Comic_Sans_MS_Bold.woff2"); }
@font-face {
  font-display: fallback;
  font-family: "Comic Sans MS";
  font-weight: bold;
  font-style: normal;
  unicode-range: U+20-7E, U+A0-FF, U+17F, U+192, U+200-2FF, U+393, U+398, U+3A3, U+3A6, U+3A9, U+3B1, U+3B4, U+3B5, U+3C0, U+3C3, U+3C4, U+3C6, U+627, U+628, U+62F, U+632, U+639, U+644, U+646, U+6CC, U+6D5, U+2010-201F, U+2022, U+2032-2034, U+203C, U+207F, U+20A7, U+2122, U+2190-2195, U+21A8, U+2219, U+221A, U+221E, U+221F, U+2229, U+2248, U+2261, U+2264, U+2265, U+2302, U+2310, U+2320, U+2321, U+2400-2426, U+2500, U+2502, U+250C, U+2510, U+2514, U+2518, U+251C, U+2524, U+252C, U+2534, U+253C, U+2550-256C, U+2580, U+2584, U+2588, U+258C, U+2590-2593, U+25A0, U+25AC, U+25B2, U+25BA, U+25BC, U+25C4, U+25CB, U+25D8, U+25D9, U+263A-263C, U+2640, U+2642, U+2660, U+2663, U+2665, U+2666, U+266A, U+266B, U+5170, U+81F4, U+8FEA, U+1F4D6;
  src: url("-Comic_Sans_MS_Bold.woff2"); }
.highlight pre {
  color: #f8f8f2; }

/* https://github.com/jwarby/jekyll-pygments-themes/blob/fead13aa9a6f3216ecc9c5758319a3d5d1236835/monokai.css */
.highlight pre {
  background-color: #272822; }

.highlight .hll {
  background-color: #272822; }

.highlight .c {
  color: #75715e; }

/* Comment */
.highlight .err {
  color: #960050;
  background-color: #1e0010; }

/* Error */
.highlight .k {
  color: #66d9ef; }

/* Keyword */
.highlight .l {
  color: #ae81ff; }

/* Literal */
.highlight .n {
  color: #f8f8f2; }

/* Name */
.highlight .o {
  color: #f92672; }

/* Operator */
.highlight .p {
  color: #f8f8f2; }

/* Punctuation */
.highlight .cm {
  color: #75715e; }

/* Comment.Multiline */
.highlight .cp {
  color: #75715e; }

/* Comment.Preproc */
.highlight .c1 {
  color: #75715e; }

/* Comment.Single */
.highlight .cs {
  color: #75715e; }

/* Comment.Special */
.highlight .ge {
  font-style: italic; }

/* Generic.Emph */
.highlight .gs {
  font-weight: bold; }

/* Generic.Strong */
.highlight .kc {
  color: #66d9ef; }

/* Keyword.Constant */
.highlight .kd {
  color: #66d9ef; }

/* Keyword.Declaration */
.highlight .kn {
  color: #f92672; }

/* Keyword.Namespace */
.highlight .kp {
  color: #66d9ef; }

/* Keyword.Pseudo */
.highlight .kr {
  color: #66d9ef; }

/* Keyword.Reserved */
.highlight .kt {
  color: #66d9ef; }

/* Keyword.Type */
.highlight .ld {
  color: #e6db74; }

/* Literal.Date */
.highlight .m {
  color: #ae81ff; }

/* Literal.Number */
.highlight .s {
  color: #e6db74; }

/* Literal.String */
.highlight .na {
  color: #a6e22e; }

/* Name.Attribute */
.highlight .nb {
  color: #f8f8f2; }

/* Name.Builtin */
.highlight .nc {
  color: #a6e22e; }

/* Name.Class */
.highlight .no {
  color: #66d9ef; }

/* Name.Constant */
.highlight .nd {
  color: #a6e22e; }

/* Name.Decorator */
.highlight .ni {
  color: #f8f8f2; }

/* Name.Entity */
.highlight .ne {
  color: #a6e22e; }

/* Name.Exception */
.highlight .nf {
  color: #a6e22e; }

/* Name.Function */
.highlight .nl {
  color: #f8f8f2; }

/* Name.Label */
.highlight .nn {
  color: #f8f8f2; }

/* Name.Namespace */
.highlight .nx {
  color: #a6e22e; }

/* Name.Other */
.highlight .py {
  color: #f8f8f2; }

/* Name.Property */
.highlight .nt {
  color: #f92672; }

/* Name.Tag */
.highlight .nv {
  color: #f8f8f2; }

/* Name.Variable */
.highlight .ow {
  color: #f92672; }

/* Operator.Word */
.highlight .w {
  color: #f8f8f2; }

/* Text.Whitespace */
.highlight .mf {
  color: #ae81ff; }

/* Literal.Number.Float */
.highlight .mh {
  color: #ae81ff; }

/* Literal.Number.Hex */
.highlight .mi {
  color: #ae81ff; }

/* Literal.Number.Integer */
.highlight .mo {
  color: #ae81ff; }

/* Literal.Number.Oct */
.highlight .sb {
  color: #e6db74; }

/* Literal.String.Backtick */
.highlight .sc {
  color: #e6db74; }

/* Literal.String.Char */
.highlight .sd {
  color: #e6db74; }

/* Literal.String.Doc */
.highlight .s2 {
  color: #e6db74; }

/* Literal.String.Double */
.highlight .se {
  color: #ae81ff; }

/* Literal.String.Escape */
.highlight .sh {
  color: #e6db74; }

/* Literal.String.Heredoc */
.highlight .si {
  color: #e6db74; }

/* Literal.String.Interpol */
.highlight .sx {
  color: #e6db74; }

/* Literal.String.Other */
.highlight .sr {
  color: #e6db74; }

/* Literal.String.Regex */
.highlight .s1 {
  color: #e6db74; }

/* Literal.String.Single */
.highlight .ss {
  color: #e6db74; }

/* Literal.String.Symbol */
.highlight .bp {
  color: #f8f8f2; }

/* Name.Builtin.Pseudo */
.highlight .vc {
  color: #f8f8f2; }

/* Name.Variable.Class */
.highlight .vg {
  color: #f8f8f2; }

/* Name.Variable.Global */
.highlight .vi {
  color: #f8f8f2; }

/* Name.Variable.Instance */
.highlight .il {
  color: #ae81ff; }

/* Literal.Number.Integer.Long */
/* Generic Heading & Diff Header */
.highlight .gu {
  color: #75715e; }

/* Generic.Subheading & Diff Unified/Comment? */
.highlight .gd {
  color: #f92672; }

/* Generic.Deleted & Diff Deleted */
.highlight .gi {
  color: #a6e22e; }

/* Generic.Inserted & Diff Inserted */
/* http://edward.oconnor.cx/2007/08/tex-poshlet */
.tex sub, .latex sub, .latex sup {
  text-transform: uppercase; }

.tex sub, .latex sub {
  vertical-align: -0.5ex;
  margin-left: -0.1667em;
  margin-right: -0.125em; }

.tex, .latex, .tex sub, .latex sub {
  font-size: 1em; }

.latex sup {
  font-size: 0.85em;
  vertical-align: 0.15em;
  margin-left: -0.36em;
  margin-right: -0.15em; }

::selection {
  background: black;
  color: white; }

::-moz-selection {
  background: black;
  color: white; }

* {
  box-sizing: border-box;
  -moz-box-sizing: border-box; }

* + * {
  margin-top: 0.5em; }

br {
  /* Firefox */
  margin: 0; }

img {
  image-orientation: from-image; }

html {
  overflow-y: scroll;
  font-size: 15pt; }

body {
  max-width: 630pt;
  margin: 1em auto 2em auto;
  padding: 0 15pt;
  line-height: 1.5; }

header {
  font-size: 3em;
  text-align: center;
  text-transform: lowercase;
  letter-spacing: 0.1em; }

header span {
  letter-spacing: 0; }

aside, blockquote {
  margin-left: 4rem;
  margin-right: 1rem; }

aside.references:before, blockquote:before {
  display: block;
  float: left;
  margin-left: -4rem;
  color: #808080; }

aside.references:before {
  font-size: 3em;
  margin-top: -0.5rem;
  /* OPEN BOOK in text presentation */
  content: '\1F4D6\FE0E'; }

blockquote:before {
  font-size: 4em;
  margin-top: -1rem;
  content: '“'; }

h1 {
  font-size: 2em; }

h2 {
  font-size: 1.5em; }

h3 {
  font-size: 1.25em; }

dt {
  font-weight: bold; }

dd {
  margin-left: 2em; }

a, hr {
  color: black; }

hr {
  margin-top: 0;
  border: none; }

hr:before {
  display: block;
  text-align: center;
  content: "• • •"; }

i, i *, em, em * {
  font-style: italic; }

b, b *, strong, strong * {
  font-weight: bold; }

strong, strong * {
  font-style: italic; }

ul, ol, dl {
  margin-left: 2em; }

ul * + li, ul * + ul, ul * + ol, ul * + dl, ol * + li, ol * + ul, ol * + ol, ol * + dl, dl * + li, dl * + ul, dl * + ol, dl * + dl {
  margin-top: 0; }
ul ul, ul ol, ul dl, ol ul, ol ol, ol dl, dl ul, dl ol, dl dl {
  list-style: circle outside none; }

ul {
  list-style: disc outside none; }

ol {
  list-style: decimal outside none; }

sub {
  vertical-align: sub;
  font-size: 0.75em; }

sup {
  vertical-align: super;
  font-size: 0.75em; }

nav {
  text-align: center;
  font-size: 1.25em;
  color: #808080; }

nav a {
  color: black; }

.post_summary {
  clear: both; }

.post_date {
  float: right;
  margin: 0 0 1em 2em;
  line-height: 1;
  text-align: center;
  text-transform: uppercase;
  border: thin solid black;
  border-width: thin 0;
  padding: 0.25em 0; }

.post_date a {
  text-decoration: none; }

.post_date .date {
  font-size: 2em; }

.post_combo {
  margin-top: 0.75em; }

.post_combo > h2 {
  display: inline; }

.post_image {
  max-width: 30%;
  margin: 0.5em;
  vertical-align: middle; }

.post_image_half {
  width: 50%;
  vertical-align: top; }

.post_image_full {
  width: 100%; }

html {
  --inner-width: calc(100vw - 30pt); }

@media (min-width: 630pt) {
  html {
    --inner-width: 600pt; }

  header {
    font-size: 4em; } }
pre, code {
  font-family: Inconsolata, monospace, monospace;
  font-size: 0.75em;
  font-style: normal !important; }

pre {
  background: #e0e0e0;
  padding: 0.5em;
  line-height: 1.25; }

pre code {
  font-size: 1em; }

article {
  word-wrap: break-word; }
  article pre {
    word-wrap: normal; }

figure {
  margin: 0.5em 0; }
  figure > div.scroll {
    /* horizontal scroll */
    overflow-x: auto; }
    figure > div.scroll > * {
      margin: 0 auto; }
    figure > div.scroll > img, figure > div.scroll > picture, figure > div.scroll > picture * {
      display: block;
      width: min-content; }
    figure > div.scroll div.flex {
      width: max-content;
      display: flex;
      flex-flow: row wrap;
      justify-content: start; }
      figure > div.scroll div.flex > * {
        margin: 0; }
      figure > div.scroll div.flex > div.gap {
        width: 1em;
        height: 1em; }
      figure > div.scroll div.flex.row_bag, figure > div.scroll div.flex.column_bag {
        align-items: center; }
      figure > div.scroll div.flex.row_bag {
        flex-direction: row; }
      figure > div.scroll div.flex.column_bag {
        flex-direction: column; }
    figure > div.scroll > pre,
    figure > div.scroll > div.highlighter-rouge,
    figure > div.scroll > div.highlighter-rouge > div.highlight,
    figure > div.scroll > div.highlighter-rouge > div.highlight > pre {
      /* extend background */
      width: min-content; }
  figure > figcaption {
    font-size: 0.75em;
    text-align: center; }

.fleft {
  float: left;
  margin: 1em;
  margin-left: 0; }

.flight {
  float: right;
  margin: 1em;
  margin-right: 0; }

html.blogv2 strong {
  font-style: unset; }
html.blogv2 aside, html.blogv2 blockquote {
  margin-left: 3rem;
  margin-right: 3rem; }
html.blogv2 blockquote:before {
  margin-left: -3rem; }
