html { font-family: Courier,monospace; font-size: 14px; line-height: calc(1ex/0.37); } #TOC {text-align: left;} html,body { margin: 0; padding: 0; border: 0; } .main { min-height: calc(100vh - 1em); } h1,h2,h3,h4,h5,h6 { line-height: calc(1ex/0.42); margin: calc(1ex/0.42) 0; } #preamble h1 { margin: 0; } p { text-align: justify; hyphens: auto; } pre { overflow-x: scroll; border: solid 1px; padding: 1ex; } pre > code { font-size: 0.875em; background: none; } code,pre { font-family: Courier, monospace; } figure { margin: 1rem 0; padding: 0; } .meta { font-size: small;} .abstract { margin: 1rem; font-size: 0.875em; font-style: italic; } #logo { display: inline-block; } #logo svg { width: 3em; } #preamble, #postamble { text-align: center; } #content,.content,#preamble,#postamble { padding: 0 1rem; max-width: 68ch; overflow: hidden; margin: 0 auto; } figure img { width: 100%; } .footdef > sup { vertical-align: top; font-size: medium; } .footdef > sup > a { padding: 0.5em; } .footpara { display: inline; } footer { margin: 3em 0; padding: 1em 0; border-top: solid 1px; border-bottom: solid 1px; line-height: 1em; font-size: 0.875em; } table { margin: 1rem 0; line-height: 1em; } nav { text-align: center; padding: 1em 0; } pre { line-height: 1em; } /* COLORS */ /* colortheme switch */ body>input { display: none; } #labels > .content { margin: 0 auto; text-align: center; } label { font-weight: 700; } label:hover { cursor: pointer; } label ~ pre { margin-top: 0; } :root { --b03: #2E3440; --b02: #3B4252; /* not used because light mode is has more contrast --b01: #656b74; */ --y: #c18600; --o: #d84100; --r: #e62729; --m: #ec0085; --v: #6c71c4; --b: #0095ff; --c: #00b0a3; --g: #879a00; --b00: #727781; --b0: #989ea8; --b1: #b0bac7; --b2: #ECEFF4; --b3: #fff; /* default light */ --bg: var(--b3); --rbg: var(--b2); --fg0: var(--b0); --fg: var(--b02); --rfg: #000; --hl: var(--o); } /* dark preferred */ @media (prefers-color-scheme: dark) { :root { --y: #ae8c51; --o: #a9654a; --r: #af6255; --m: #ae5e7d; --v: #6774b2; --b: #3f8cc3; --c: #15a198; --g: #939452; --bg: hsl(218,20%,16%); --rbg: var(--b03); --fg: var(--b0); --fg0: var(--b00); --rfg: var(--b1); --hl: var(--g); } img { filter: brightness(0.7) saturate(0.5); } pre { background: hsl(218,20%,18%); border-color: hsl(218,15%,23%); } } /* light checked */ input#l:checked ~ div { --y: #c18600; --o: #d84100; --r: #e62729; --m: #ec0085; --v: #6c71c4; --b: #0095ff; --c: #00b0a3; --g: #879a00; --bg: var(--b3); --rbg: var(--b2); --fg0: var(--b0); --fg: var(--b02); --rfg: #000; --hl: var(--o); } input#l:checked ~ div img { filter: none; } input#l:checked ~ div pre { border: 1px solid hsl(218, 15%, 49%); background: hsl(218, 40%, 96%); } /* dark checked */ input#d:checked ~ div { --y: #ae8c51; --o: #a9654a; --r: #af6255; --m: #ae5e7d; --v: #6774b2; --b: #3f8cc3; --c: #15a198; --g: #939452; --bg: hsl(218,20%,16%); --rbg: var(--b03); --fg: var(--b0); --fg0: var(--b00); --rfg: var(--b1); --hl: var(--g); } input#d:checked ~ div img { filter: brightness(0.7) saturate(0.5); } input#d:checked ~ div pre { background: hsl(218,20%,18%); border-color: hsl(218,15%,23%); } em,strong,b,i,h1,h2,h3,h4,h5,h6 { color: var(--rfg); } /* ---- */ ::selection { background: var(--m); color: hsl(218,40%,96%); text-decoration: hsl(218,40%,96%); } body, body > div { background: var(--bg); color: var(--fg); } a,a:visited { color: var(--hl); } code { background: var(--rbg); } /* ---- SYNTAX HIGHLIGHTING ---- */ #table-of-contents { text-align: left; } .ex { color:var(--v); } .op, .fu, .ot {color:var(--b);} .bu { color:var(--m); } .dt { color:var(--o); } .kw { color:var(--y); } .st { color:var(--g); } .co { color:var(--fg0); }