html { font-family: Georgia, serif; font-size: 4.5mm; 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: 1em; } pre > code { background: none; font-size: 0.875em; } code,pre { font-family: Menlo, Monaco, monospace; font-size: 1.85ex; } figure { margin: 1rem 0; padding: 0; } .meta { font-size: small;} .abstract { margin: 2rem 10%; font-size: 0.875em; font-style: italic; } #logo { display: inline-block; vertical-align: middle;} #logo svg { width: 3em; } #preamble, #postamble { text-align: center; } #content,.content,#preamble,#postamble { padding: 0 1rem; max-width: 70ch; overflow: hidden; margin: 0 auto; } figure img { width: 100%; } sup, sub { vertical-align: baseline; position: relative; top: -0.4em; } sub { top: 0.4em; } .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; } figcaption { text-align: right; font-family: italic; } :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: rgb(248,249,251); /* default light */ --bg: var(--b3); --rbg: var(--b2); --fg0: var(--b0); --fg: #4c566a; /* var(--b02); */ --rfg: var(--b03); --hl: var(--o); } pre { border-color: var(--b1); background: var(--b2); } /* 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); --b03: var(--bg); --b2: hsl(218,15%,23%); } 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); } /* geek checked */ input#g:checked ~ div { --y: #6A0; --o: #8A0; --r: #AA0; --m: #6A6; --v: #4A8; --b: #0A8; --c: #0A4; --g: #0A0; --bg: #020; --rbg: #040; --fg: #0B0; --fg0: #090; --rfg: #0C0; --hl: #0D0; --b03: #020; --b2: #080; font-family: Courier, monospace; font-size: 14px; line-height: 1.1em; } input#g:checked ~ div img { filter: brightness(0.8) sepia(100%) hue-rotate(55deg) saturate(3); } input#g:checked ~ div pre { background: var(--bg); border-color: var(--rbg); } em,strong,b,i,h1,h2,h3,h4,h5,h6 { color: var(--rfg); } /* plain checked */ input#b:checked ~ div { --y: #b58900; --o: #cb4b16; --r: #dc322f; --m: #d33682; --v: #6c71c4; --b: #268bd2; --c: #2aa198; --g: #859900; --b03: #002b36; --b02: #073642; --b01: #586e75; --b00: #657b83; --b0: #839496; --b1: #93a1a1; --b2: #eee8d5; --b3: #fdf6e3; --hl: var(--y); --bg: var(--b3); --rbg: var(--b2); --fg: var(--b00); --fg0: var(--b1); --rfg: var(--b01); font-family: Hoefler Text, serif; font-size: 18px; line-height: 1.35em; } input#b:checked ~ div img { border: solid 1px; filter: brightness(0.8) sepia(30%) saturate(0.8); } input#b:checked ~ div pre { background: var(--rbg); border-color: var(-b1); } 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); } label:hover, 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); }