body { font-size: 16px; margin: 20px auto; padding: 10px 15px; max-width: 800px; font-family: "Merriweather", serif; font-optical-sizing: auto; font-weight: 400; font-style: normal; line-height: 35px; hyphens: initial; } :root { --dark--header-color: #fff; --dark--p-color: #eee; --dark--link-color: #bbf; --dark--bg-color: #222; --dark--blockquote-color: #ddd; --dark--blockquote-bg-color: #60606020; --dark--code-bg-color: #353535; --dark--h2-bg-color: #fd501bb0; --dark--syntax-0: #eee; --dark--syntax-1: #ffb29a; --dark--syntax-2: #bbf; --dark--syntax-3: #92d392; --light--header-color: #1a1a1a; --light--p-color: #101010; --light--link-color: #007973; --light--bg-color: #fff; --light--blockquote-color: #606060; --light--blockquote-bg-color: #c8c8c820; --light--code-bg-color: #eee; --light--h2-bg-color: #f73e0030; --light--syntax-0: #101010; --light--syntax-1: #f73e00; --light--syntax-2: #007973; --light--syntax-3: #1038d8; } @media (prefers-color-scheme: dark) { :root { --header-color: var(--dark--header-color); --p-color: var(--dark--p-color); --link-color: var(--dark--link-color); --bg-color: var(--dark--bg-color); --blockquote-color: var(--dark--blockquote-color); --blockquote-bg-color: var(--dark--blockquote-bg-color); --code-bg-color: var(--dark--code-bg-color); --h2-bg-color: var(--dark--h2-bg-color); --syntax-0: var(--dark--syntax-0); --syntax-1: var(--dark--syntax-1); --syntax-2: var(--dark--syntax-2); --syntax-3: var(--dark--syntax-3); } } @media (prefers-color-scheme: light) { :root { --header-color: var(--light--header-color); --p-color: var(--light--p-color); --link-color: var(--light--link-color); --bg-color: var(--light--bg-color); --blockquote-color: var(--light--blockquote-color); --blockquote-bg-color: var(--light--blockquote-bg-color); --code-bg-color: var(--light--code-bg-color); --h2-bg-color: var(--light--h2-bg-color); --syntax-0: var(--light--syntax-0); --syntax-1: var(--light--syntax-1); --syntax-2: var(--light--syntax-2); --syntax-3: var(--light--syntax-3); } } html.dark { --header-color: var(--dark--header-color); --p-color: var(--dark--p-color); --link-color: var(--dark--link-color); --bg-color: var(--dark--bg-color); --blockquote-color: var(--dark--blockquote-color); --blockquote-bg-color: var(--dark--blockquote-bg-color); --code-bg-color: var(--dark--code-bg-color); --h2-bg-color: var(--dark--h2-bg-color); --syntax-0: var(--dark--syntax-0); --syntax-1: var(--dark--syntax-1); --syntax-2: var(--dark--syntax-2); --syntax-3: var(--dark--syntax-3); } html.light { --header-color: var(--light--header-color); --p-color: var(--light--p-color); --link-color: var(--light--link-color); --bg-color: var(--light--bg-color); --blockquote-color: var(--light--blockquote-color); --blockquote-bg-color: var(--light--blockquote-bg-color); --code-bg-color: var(--light--code-bg-color); --h2-bg-color: var(--light--h2-bg-color); --syntax-0: var(--light--syntax-0); --syntax-1: var(--light--syntax-1); --syntax-2: var(--light--syntax-2); --syntax-3: var(--light--syntax-3); } html { color: var(--p-color); background-color: var(--bg-color); } h1, h2, h3, h4, h5, h6 { color: var(--header-color); } h2, h4, h6 { padding: 0 8px; display: inline-block; background-color: var(--h2-bg-color); } a, a:visited { color: var(--link-color); text-decoration: none; font-weight: bold; cursor: pointer; text-underline-position: under; } a:hover, a:focus { text-decoration: underline; } #dark-mode-btn { border: none; background: none; font-size: 30px; cursor: pointer; padding: 0; margin: 0; } .header-row { display: flex; flex-flow: row nowrap; align-items: center; justify-content: space-between; margin: 30px 0; } .header-row h1 { margin: 0; } .page-title { text-decoration: none; color: var(--header-color) !important; font-size: 32px; font-weight: 700; } code { padding: 6px; background-color: var(--code-bg-color); white-space: nowrap; } pre, div.sourceCode { padding: 8px 10px; overflow-x: scroll; color: inherit; background-color: var(--code-bg-color); } .sourceCode { line-height: 22px; } blockquote { display: block; color: var(--blockquote-color); background-color: var(--blockquote-bg-color); border-left: 10px solid var(--link-color); margin: 20px 0; padding: 2px 20px; quotes: "\201C""\201D""\2018""\2019"; } img { max-width: 100%; width: 100%; margin: 20px 0; } figure { max-width: 100%; padding: 0; margin: 10px 0; display: block; } figure img { margin: 10px 0; } figure figcaption { /* Hide from non-screen-reader users */ opacity: 0; height: 0; } hr { background: none !important; height: 0; margin: 40px auto; border: none; border-top: 2px dotted var(--header-color) !important; width: 50%; } .nojs-hidden { display: none; } small { color: var(--blockquote-color); } ul, ol { margin-left: 10px; } li::marker { color: var(--link-color); } .webrings p { margin: 0 !important; } .archive-list { margin-left: 15px; padding-left: 0; } .archive-entry { list-style: disclosure-closed; margin-bottom: 8px; } .archive-entry a { line-height: 25px; display: block; margin-bottom: 6px; } .archive-entry small { margin-top: -10px; display: block; font-size: 16px; } .archive-entry small span { color: var(--header-color); } table td { width: 1%; /* I have no idea why this makes columns responsive width */ min-width: 150px; } th { border-top: none; } tbody { border-bottom: none; border-top: 2px solid var(--blockquote-color); } table .odd { background-color: var(--blockquote-bg-color); } table { margin: 20px 0 30px; } /* Syntax highlighting, overrides Pandoc generated styles */ code.sourceCode span { color: var(--syntax-0); } code span.al { color: var(--syntax-1); font-weight: bold; } /* Alert */ code span.an { color: var(--syntax-0); font-weight: bold; font-style: italic; } /* Annotation */ code span.at { color: var(--syntax-3); } /* Attribute */ code span.bn { color: var(--syntax-3); } /* BaseN */ code span.bu { color: var(--syntax-3); } /* BuiltIn */ code span.cf { color: var(--syntax-3); font-weight: bold; } /* ControlFlow */ code span.ch { color: var(--syntax-2); } /* Char */ code span.cn { color: var(--syntax-3); } /* Constant */ code span.co { color: var(--syntax-0); font-style: italic; opacity: 0.7; } /* Comment */ code span.cv { color: var(--syntax-2); font-weight: bold; font-style: italic; } /* CommentVar */ code span.do { color: var(--syntax-0); font-style: italic; } /* Documentation */ code span.dt { color: var(--syntax-1); } /* DataType */ code span.dv { color: var(--syntax-3); } /* DecVal */ code span.er { color: var(--syntax-1); font-weight: bold; } /* Error */ code span.ex { } /* Extension */ code span.fl { color: var(--syntax-3); } /* Float */ code span.fu { color: var(--syntax-1); } /* Function */ code span.im { color: var(--syntax-3); font-weight: bold; } /* Import */ code span.in { color: var(--syntax-3); font-weight: bold; font-style: italic; } /* Information */ code span.kw { color: var(--syntax-3); font-weight: bold; } /* Keyword */ code span.op { color: var(--syntax-2); } /* Operator */ code span.ot { color: var(--syntax-0); } /* Other */ code span.pp { color: var(--syntax-1); } /* Preprocessor */ code span.sc { color: var(--syntax-2); } /* SpecialChar */ code span.ss { color: var(--syntax-2); } /* SpecialString */ code span.st { color: var(--syntax-2); } /* String */ code span.va { color: var(--syntax-1); } /* Variable */ code span.vs { color: var(--syntax-2); } /* VerbatimString */ code span.wa { color: var(--syntax-3); font-weight: bold; font-style: italic; }