/* Jonathan Neal's system font stack https://github.com/jonathantneal/system-font-css/blob/gh-pages/system-font.css */ @font-face { font-family: system-ui; font-style: normal; font-weight: 300; src: local(".SFNS-Light"), local(".SFNSText-Light"), local(".HelveticaNeueDeskInterface-Light"), local(".LucidaGrandeUI"), local("Segoe UI Light"), local("Ubuntu Light"), local("Roboto-Light"), local("DroidSans"), local("Tahoma"), sans-serif; } @font-face { font-family: system-ui; font-style: italic; font-weight: 300; src: local(".SFNS-LightItalic"), local(".SFNSText-LightItalic"), local(".HelveticaNeueDeskInterface-Italic"), local(".LucidaGrandeUI"), local("Segoe UI Light Italic"), local("Ubuntu Light Italic"), local("Roboto-LightItalic"), local("DroidSans"), local("Tahoma"), sans-serif; } @font-face { font-family: system-ui; font-style: normal; font-weight: 400; src: local(".SFNS-Regular"), local(".SFNSText-Regular"), local(".HelveticaNeueDeskInterface-Regular"), local(".LucidaGrandeUI"), local("Segoe UI"), local("Ubuntu"), local("Roboto-Regular"), local("DroidSans"), local("Tahoma"), sans-serif; } @font-face { font-family: system-ui; font-style: italic; font-weight: 400; src: local(".SFNS-Italic"), local(".SFNSText-Italic"), local(".HelveticaNeueDeskInterface-Italic"), local(".LucidaGrandeUI"), local("Segoe UI Italic"), local("Ubuntu Italic"), local("Roboto-Italic"), local("DroidSans"), local("Tahoma"), sans-serif; } @font-face { font-family: system-ui; font-style: normal; font-weight: 500; src: local(".SFNS-Medium"), local(".SFNSText-Medium"), local(".HelveticaNeueDeskInterface-MediumP4"), local(".LucidaGrandeUI"), local("Segoe UI Semibold"), local("Ubuntu Medium"), local("Roboto-Medium"), local("DroidSans-Bold"), local("Tahoma Bold"), sans-serif; } @font-face { font-family: system-ui; font-style: italic; font-weight: 500; src: local(".SFNS-MediumItalic"), local(".SFNSText-MediumItalic"), local(".HelveticaNeueDeskInterface-MediumItalicP4"), local(".LucidaGrandeUI"), local("Segoe UI Semibold Italic"), local("Ubuntu Medium Italic"), local("Roboto-MediumItalic"), local("DroidSans-Bold"), local("Tahoma Bold"), sans-serif; } @font-face { font-family: system-ui; font-style: normal; font-weight: 700; src: local(".SFNS-Bold"), local(".SFNSText-Bold"), local(".HelveticaNeueDeskInterface-Bold"), local(".LucidaGrandeUI"), local("Segoe UI Bold"), local("Ubuntu Bold"), local("Roboto-Bold"), local("DroidSans-Bold"), local("Tahoma Bold"), sans-serif; } @font-face { font-family: system-ui; font-style: italic; font-weight: 700; src: local(".SFNS-BoldItalic"), local(".SFNSText-BoldItalic"), local(".HelveticaNeueDeskInterface-BoldItalic"), local(".LucidaGrandeUI"), local("Segoe UI Bold Italic"), local("Ubuntu Bold Italic"), local("Roboto-BoldItalic"), local("DroidSans-Bold"), local("Tahoma Bold"), sans-serif; } @font-face { font-family: iosevka; font-style: normal; font-weight: 300; src: url("/font/iosevka/ss07-regular.woff2"); font-display: swap; } @font-face { font-family: iosevka; font-style: italic; font-weight: 300; src: url("/font/iosevka/ss07-italic.woff2"); font-display: swap; } @font-face { font-family: iosevka; font-style: italic; font-weight: 500; src: url("/font/iosevka/ss07-bold-italic.woff2"); font-display: swap; } *,*::before,*::after { margin: 0; padding: 0; box-sizing: border-box; } body > main { padding: 0.5em; line-height: 1.6em; } body > main > .highlight, main > h1, main > h2, main > h3, main > h4, main > h5, body > main > form, body > main > ul, body > main > ol, body > main > p { margin-top: 1em; margin-bottom: 0.25em; } main > h1, main > h2, main > h3, main > h4, main > h5, body > main > ul > li, body > main > ol > li, body > main > form, body > main > p { max-width: 60ch; } main > *:first-child { margin-top: 0; } main > p > code { padding: 0.1em 0.25em; border-radius: 0.25em; background-color: rgba(255, 255, 255, 0.03); } body { background-color: #111; color: #fff; font-family: system-ui; font-weight: 500; font-size: 1rem; } code, pre { font-family: iosevka, monospace; } body > header { font-family: iosevka, monospace; position: relative; display: flex; background-color: #191919; box-shadow: 0 0 0.5em rgba(0, 0, 0, 0.25); margin-bottom: 0.5em; } body > header > section { display: flex; } body > header > section > a { line-height: 1.5em; display: flex; justify-content: center; align-items: center; padding: 0.25em 0.5em; color: #fff; } body > header > section > a:visited { color: #fff; } body > header > section > a:hover { background: rgba(255, 255, 255, 0.1); } body > header > section > a > img, body > header > section > a > img { max-width: 48px; } body > header > section > a { text-decoration: none; } body > header > section > a > h1 { font-weight: 300; font-size: 150%; } input, textarea { background: #222; border: 0; font: inherit; padding: 0.5em 1em; color: inherit; border-radius: 0.25em; } input:hover, textarea:hover { background: #333; } button, input[type=submit] { background: #fff; color: #000; cursor: pointer; } button:focus, input[type=submit]:focus, button:hover, input[type=submit]:hover { background: #ccc; } ul, ol { padding-left: 2em; } a { text-decoration-skip-ink: auto; /* color: #a1efe4; */ color: #fff; } a:visited { color: #ccc; } .lead { font-size: 1.5rem; } .rounded { border-radius: 0.5em; } form > fieldset { border: 0; display: flex; flex-direction: column; } form > fieldset ~ fieldset { margin-top: 0.5em; } img, embed, frame, iframe { max-width: 100vw; } @media (max-width: 600px) { body > header { flex-direction: column; font-size: 125%; } } main > .highlight pre.chroma { border: 0; padding: 0.5em; border-left: solid 0.25em #75715e; overflow-x: auto; background-color: rgba(255, 255, 255, 0.03); } /* syntax highlighting */ /* TabSize */ .chroma { -moz-tab-size: 2; tab-size: 2 } /* Background */ .chroma { color: #f8f8f2; border: solid 0.05em rgba(255, 255, 255, 0.2) } /* Error */ .chroma .err { color: #960050; background-color: #1e0010 } /* LineTableTD */ .chroma .lntd { vertical-align: top; padding: 0; margin: 0; border: 0; } /* LineTable */ .chroma .lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; width: auto; overflow: auto; display: block; } /* LineHighlight */ .chroma .hl { display: block; width: 100%;background-color: #ffffcc } /* LineNumbersTable */ .chroma .lnt { margin-right: 0.4em; padding: 0 0.4em 0 0.4em; } /* LineNumbers */ .chroma .ln { margin-right: 0.4em; padding: 0 0.4em 0 0.4em; } /* Keyword */ .chroma .k { color: #66d9ef } /* KeywordConstant */ .chroma .kc { color: #66d9ef } /* KeywordDeclaration */ .chroma .kd { color: #66d9ef } /* KeywordNamespace */ .chroma .kn { color: #f92672 } /* KeywordPseudo */ .chroma .kp { color: #66d9ef } /* KeywordReserved */ .chroma .kr { color: #66d9ef } /* KeywordType */ .chroma .kt { color: #66d9ef } /* NameAttribute */ .chroma .na { color: #a6e22e } /* NameClass */ .chroma .nc { color: #a6e22e } /* NameConstant */ .chroma .no { color: #66d9ef } /* NameDecorator */ .chroma .nd { color: #a6e22e } /* NameException */ .chroma .ne { color: #a6e22e } /* NameFunction */ .chroma .nf { color: #a6e22e } /* NameOther */ .chroma .nx { color: #a6e22e } /* NameTag */ .chroma .nt { color: #f92672 } /* Literal */ .chroma .l { color: #ae81ff } /* LiteralDate */ .chroma .ld { color: #e6db74 } /* LiteralString */ .chroma .s { color: #e6db74 } /* LiteralStringAffix */ .chroma .sa { color: #e6db74 } /* LiteralStringBacktick */ .chroma .sb { color: #e6db74 } /* LiteralStringChar */ .chroma .sc { color: #e6db74 } /* LiteralStringDelimiter */ .chroma .dl { color: #e6db74 } /* LiteralStringDoc */ .chroma .sd { color: #e6db74 } /* LiteralStringDouble */ .chroma .s2 { color: #e6db74 } /* LiteralStringEscape */ .chroma .se { color: #ae81ff } /* LiteralStringHeredoc */ .chroma .sh { color: #e6db74 } /* LiteralStringInterpol */ .chroma .si { color: #e6db74 } /* LiteralStringOther */ .chroma .sx { color: #e6db74 } /* LiteralStringRegex */ .chroma .sr { color: #e6db74 } /* LiteralStringSingle */ .chroma .s1 { color: #e6db74 } /* LiteralStringSymbol */ .chroma .ss { color: #e6db74 } /* LiteralNumber */ .chroma .m { color: #ae81ff } /* LiteralNumberBin */ .chroma .mb { color: #ae81ff } /* LiteralNumberFloat */ .chroma .mf { color: #ae81ff } /* LiteralNumberHex */ .chroma .mh { color: #ae81ff } /* LiteralNumberInteger */ .chroma .mi { color: #ae81ff } /* LiteralNumberIntegerLong */ .chroma .il { color: #ae81ff } /* LiteralNumberOct */ .chroma .mo { color: #ae81ff } /* Operator */ .chroma .o { color: #f92672 } /* OperatorWord */ .chroma .ow { color: #f92672 } /* Comment */ .chroma .c { color: #75715e } /* CommentHashbang */ .chroma .ch { color: #75715e } /* CommentMultiline */ .chroma .cm { color: #75715e } /* CommentSingle */ .chroma .c1 { color: #75715e } /* CommentSpecial */ .chroma .cs { color: #75715e } /* CommentPreproc */ .chroma .cp { color: #75715e } /* CommentPreprocFile */ .chroma .cpf { color: #75715e } /* GenericDeleted */ .chroma .gd { color: #f92672 } /* GenericEmph */ .chroma .ge { font-style: italic } /* GenericInserted */ .chroma .gi { color: #a6e22e } /* GenericStrong */ .chroma .gs { font-weight: bold } /* GenericSubheading */ .chroma .gu { color: #75715e }