@charset "UTF-8";

/* Import ET Book styles
   adapted from https://github.com/edwardtufte/et-book/blob/gh-pages/et-book.css */

@font-face {
    font-family: "et-book";
    src: url("et-book/et-book-roman-line-figures/et-book-roman-line-figures.eot");
    src: url("et-book/et-book-roman-line-figures/et-book-roman-line-figures.eot?#iefix") format("embedded-opentype"), url("et-book/et-book-roman-line-figures/et-book-roman-line-figures.woff") format("woff"), url("et-book/et-book-roman-line-figures/et-book-roman-line-figures.ttf") format("truetype"), url("et-book/et-book-roman-line-figures/et-book-roman-line-figures.svg#etbookromanosf") format("svg");
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "et-book";
    src: url("et-book/et-book-display-italic-old-style-figures/et-book-display-italic-old-style-figures.eot");
    src: url("et-book/et-book-display-italic-old-style-figures/et-book-display-italic-old-style-figures.eot?#iefix") format("embedded-opentype"), url("et-book/et-book-display-italic-old-style-figures/et-book-display-italic-old-style-figures.woff") format("woff"), url("et-book/et-book-display-italic-old-style-figures/et-book-display-italic-old-style-figures.ttf") format("truetype"), url("et-book/et-book-display-italic-old-style-figures/et-book-display-italic-old-style-figures.svg#etbookromanosf") format("svg");
    font-weight: normal;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: "et-book";
    src: url("et-book/et-book-bold-line-figures/et-book-bold-line-figures.eot");
    src: url("et-book/et-book-bold-line-figures/et-book-bold-line-figures.eot?#iefix") format("embedded-opentype"), url("et-book/et-book-bold-line-figures/et-book-bold-line-figures.woff") format("woff"), url("et-book/et-book-bold-line-figures/et-book-bold-line-figures.ttf") format("truetype"), url("et-book/et-book-bold-line-figures/et-book-bold-line-figures.svg#etbookromanosf") format("svg");
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "et-book-roman-old-style";
    src: url("et-book/et-book-roman-old-style-figures/et-book-roman-old-style-figures.eot");
    src: url("et-book/et-book-roman-old-style-figures/et-book-roman-old-style-figures.eot?#iefix") format("embedded-opentype"), url("et-book/et-book-roman-old-style-figures/et-book-roman-old-style-figures.woff") format("woff"), url("et-book/et-book-roman-old-style-figures/et-book-roman-old-style-figures.ttf") format("truetype"), url("et-book/et-book-roman-old-style-figures/et-book-roman-old-style-figures.svg#etbookromanosf") format("svg");
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

/* Tufte CSS styles */
html {
    font-size: 15px;
    margin: 0;
    padding: 0;
}

body {
    width: 87.5%;
    margin: 0 auto;
    padding-left: 12.5%;
    /* font-family: et-book, Palatino, "Palatino Linotype", "Palatino LT STD", "Book Antiqua", Georgia, serif; */
    font-family: "Source Sans Pro";
    background-color: #fefefe;
    color: #111;
    max-width: 1400px;
    counter-reset: sidenote-counter;
}

/* Adds dark mode */
@media (prefers-color-scheme: dark) {
    body {
        background-color: #151515;
        color: #ddd;
    }
}

h1 {
    font-weight: 400;
    margin-top: 4rem;
    margin-bottom: 1.5rem;
    font-size: 3.2rem;
    line-height: 1;
    font-family: Vollkorn; 
}

h2 {
    font-style: italic;
    font-weight: 400;
    margin-top: 2.1rem;
    margin-bottom: 1.4rem;
    font-size: 2.2rem;
    line-height: 1;
    font-family: Vollkorn; 
}

h3 {
    font-style: italic;
    font-weight: 400;
    font-size: 1.7rem;
    margin-top: 2rem;
    margin-bottom: 1.4rem;
    line-height: 1; 
}

hr {
    display: block;
    height: 1px;
    width: 55%;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0; 
}

p.subtitle {
    font-style: italic;
    margin-top: 1rem;
    margin-bottom: 1rem;
    font-size: 1.8rem;
    display: block;
    line-height: 1; 
}

.numeral {
    font-family: et-book-roman-old-style; 
}

.danger {
    color: red; 
}

article {
    padding: 5rem 0rem;
}

.hero-spacer + article {
    padding-top: 0rem;
}

section {
    padding-top: 1rem;
    padding-bottom: 1rem; 
}

p,
dl,
ol,
ul {
    font-size: 1.3rem;
    line-height: 2rem;
}

p {
    margin-top: 1.4rem;
    margin-bottom: 1.4rem;
    padding-right: 0;
    vertical-align: baseline;
}

nav {
	width: 88%;
}

nav ul {
	padding-left: 0;
	list-style: none;
}

nav li {
	display: inline-block;
	font-size: 1.2rem;
	text-transform: uppercase;
	font-family: Raleway;
	padding-right: 2rem;
}

nav a:link,
nav a:visited {
	text-decoration: none;
}

nav .admin {
	float: right;
}

nav.paginator li {
	font-family: inherit;
	text-transform: inherit;
}

nav.paginator a:link,
nav.paginator a:visited {
	text-decoration: underline;
}

/* Hero header - full viewport width image with nav overlay */
.hero-header {
	position: absolute;
	top: 0;
	left: 0;
	width: 100vw;
	aspect-ratio: 5 / 2;
}

.hero-header > img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.hero-header > nav {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
    padding: 1rem 0 1rem 0;
	background: linear-gradient(
		to bottom,
		rgba(0, 0, 0, 0.6) 0%,
		rgba(0, 0, 0, 0.3) 70%,
		transparent 100%
	);
}

.hero-header > nav > ul {
	/* 77% = 88% of body's 87.5%, aligning admin link with margin notes */
	width: 77%;
	max-width: 1400px;
	margin: 0;
	padding-left: 12.5%;
	box-sizing: content-box;
}

.hero-header > nav,
.hero-header > nav a:link,
.hero-header > nav a:visited {
	color: white;
}

.hero-header > nav a:link {
	text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
}

/* Spacer to push content below hero header */
.hero-spacer {
	width: 100vw;
	margin-left: -12.5%;
	aspect-ratio: 5 / 2;
}

@media (max-width: 760px) {
	.hero-header > nav > ul {
		width: 84%;
		margin: 0;
		padding-left: 8%;
		padding-right: 8%;
	}
}

/* Chapter Epigraphs */
div.epigraph {
    margin: 5em 0; 
}

div.epigraph > blockquote {
    margin-top: 3em;
    margin-bottom: 3em; 
}

div.epigraph > blockquote,
div.epigraph > blockquote > p {
    font-style: italic; 
}

div.epigraph > blockquote > footer {
    font-style: normal; 
}

div.epigraph > blockquote > footer > cite {
    font-style: italic; 
}
/* end chapter epigraphs styles */

/* Style for index page */
div.index > article {
		width: 55%;
		padding: 1rem 0rem;
}

div.index h1 {
	margin-top: 2.1rem;
	margin-bottom: 1.4rem;
	font-size: 2.2rem;
}

/* Stretched link pattern for clickable post cards */
.post-card {
	position: relative;
}

.post-card .stretched-link::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}

/* Bring internal links above the stretched overlay */
.post-card a:not(.stretched-link) {
	position: relative;
	z-index: 2;
}
/*  */

blockquote {
    font-size: 1.4rem; 
}

blockquote p {
    width: 55%;
    margin-right: 40px; 
}

blockquote footer {
    width: 55%;
    font-size: 1.1rem;
    text-align: right; 
}

section > p,
section > footer,
section > table {
    width: 55%;
}

section > p.fullwidth {
    width: 90%;
}

/* 50 + 5 == 55, to be the same width as paragraph */
section > dl,
section > ol,
section > ul {
    width: 50%;
    -webkit-padding-start: 5%;
}

dt:not(:first-child),
li:not(:first-child) {
    margin-top: 0.25rem;
}

figure {
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
    max-width: 55%;
    -webkit-margin-start: 0;
    -webkit-margin-end: 0;
    margin: 0 0 3em 0; 
}

figcaption {
    float: right;
    clear: right;
    margin-top: 0;
    margin-bottom: 0;
    font-size: 1.1rem;
    line-height: 1.6;
    vertical-align: baseline;
    position: relative;
    max-width: 40%; 
}

figure.fullwidth figcaption {
    margin-right: 24%; 
}

figure.header-img {
	margin-top: -5rem;
}

footer p {
	font-size: 1.2rem;
}

a:link,
a:visited {
    color: inherit;
    text-underline-offset: 0.1em;
    text-decoration-thickness: 0.05em;
}

.no-tufte-underline {
    text-decoration: none;
}

/* Sidenotes, margin notes, figures, captions */
img {
    max-width: 100%; 
}

.sidenote,
.marginnote {
    float: right;
    clear: right;
    margin-right: -60%;
    width: 50%;
    margin-top: 0.3rem;
    margin-bottom: 0;
    font-size: 1.1rem;
    line-height: 1.3;
    vertical-align: baseline;
    position: relative;
}

.sidenote-number {
    counter-increment: sidenote-counter; 
}

.sidenote-number:after,
.sidenote:before {
    font-family: et-book-roman-old-style;
    position: relative;
    vertical-align: baseline; 
}

.sidenote-number:after {
    content: counter(sidenote-counter);
    font-size: 1rem;
    top: -0.5rem;
    left: 0.1rem; 
}

.sidenote:before {
    content: counter(sidenote-counter) " ";
    font-size: 1rem;
    top: -0.5rem; 
}

blockquote .sidenote,
blockquote .marginnote {
    margin-right: -82%;
    min-width: 59%;
    text-align: left; 
}

div.fullwidth,
table.fullwidth {
    width: 100%; 
}

div.table-wrapper {
    overflow-x: auto;
    font-family: "Trebuchet MS", "Gill Sans", "Gill Sans MT", sans-serif; 
}

.sans {
    font-family: "Gill Sans", "Gill Sans MT", Calibri, sans-serif;
    letter-spacing: .03em; 
}

code, pre > code {
    font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;
    font-size: 1.0rem;
    line-height: 1.42;
    -webkit-text-size-adjust: 100%; /* Prevent adjustments of font size after orientation changes in iOS. See https://github.com/edwardtufte/tufte-css/issues/81#issuecomment-261953409 */
}

.sans > code {
    font-size: 1.2rem; 
}

h1 > code,
h2 > code,
h3 > code {
    font-size: 0.80em; 
}

.marginnote > code,
.sidenote > code {
    font-size: 1rem; 
}

pre > code {
    font-size: 0.9rem;
    width: 100%;
    overflow-x: auto;
    display: block;
}

pre.chroma {
    width: calc(55% + 3rem);
    padding: 1rem 1.5rem;
    margin-left: -1.5rem;
    box-sizing: border-box;
}

pre.chroma.fullwidth {
    width: calc(90% + 3rem);
}

pre.fullwidth > code {
    width: 90%;
}

.fullwidth {
    max-width: 90%;
    clear:both; 
}

span.newthought {
    font-variant: small-caps;
    font-size: 1.2em; 
}

input.margin-toggle {
    display: none; 
}

label.sidenote-number {
    display: inline-block;
    max-height: 2rem; /* should be less than or equal to paragraph line-height */
}

label.margin-toggle:not(.sidenote-number) {
    display: none; 
}

.iframe-wrapper {
    position: relative;
    padding-bottom: 56.25%; /* 16:9 */
    padding-top: 25px;
    height: 0; 
}

.iframe-wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; 
}

@media (max-width: 760px) {
    body {
        width: 84%;
        padding-left: 8%;
        padding-right: 8%; 
    }
    
    nav {
        width: 100%;
    }

    hr,
    section > p,
    section > footer,
    section > table {
        width: 100%;
    }

		div.index > article {
				width: 100%;
		}
    
    pre > code {
        width: 100%;
    }

    pre.chroma {
        width: calc(100% + 2rem);
        margin-left: -1rem;
        padding: 1rem;
    }

    section > dl,
    section > ol,
    section > ul {
        width: 90%;
    }

    figure {
        max-width: 100%;
    }

    figure.fullwidth {
        max-width: none;
        width: 100vw;
        margin-left: -9.5%;
        padding: 0;
    }

	img {
		width: 100%;
		height: auto;
	}
    
    figcaption,
    figure.fullwidth figcaption {
        margin-right: 0%;
        max-width: none; 
    }
    
    blockquote {
        margin-left: 1.5em;
        margin-right: 0em; 
    }

    blockquote p,
    blockquote footer {
        width: 100%; 
    }
    
    label.margin-toggle:not(.sidenote-number) {
        display: inline; 
    }

    .sidenote,
    .marginnote {
        display: none; 
    }
    
    .margin-toggle:checked + .sidenote,
    .margin-toggle:checked + .marginnote {
        display: block;
        float: left;
        left: 1rem;
        clear: both;
        width: 95%;
        margin: 1rem 2.5%;
        vertical-align: baseline;
        position: relative; 
    }

    label {
        cursor: pointer; 
    }

    div.table-wrapper,
    table {
        width: 85%;
    }

    img {
        width: 100%;
    }
}

/* Syntax highlighting - Tango (light) / Gruvbox (dark) */

/* Light mode - Tango */
/* Background */ .bg { background-color: #f8f8f8; }
/* PreWrapper */ .chroma { background-color: #f8f8f8; }
/* Other */ .chroma .x { color: #000000 }
/* Error */ .chroma .err { color: #a40000 }
/* LineTableTD */ .chroma .lntd { vertical-align: top; padding: 0; margin: 0; border: 0; }
/* LineTable */ .chroma .lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; }
/* LineHighlight */ .chroma .hl { background-color: #dfdfdf }
/* LineNumbersTable */ .chroma .lnt { white-space: pre; user-select: none; margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f }
/* LineNumbers */ .chroma .ln { white-space: pre; user-select: none; margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f }
/* Line */ .chroma .line { display: flex; }
/* Keyword */ .chroma .k { color: #204a87; font-weight: bold }
/* KeywordConstant */ .chroma .kc { color: #204a87; font-weight: bold }
/* KeywordDeclaration */ .chroma .kd { color: #204a87; font-weight: bold }
/* KeywordNamespace */ .chroma .kn { color: #204a87; font-weight: bold }
/* KeywordPseudo */ .chroma .kp { color: #204a87; font-weight: bold }
/* KeywordReserved */ .chroma .kr { color: #204a87; font-weight: bold }
/* KeywordType */ .chroma .kt { color: #204a87; font-weight: bold }
/* Name */ .chroma .n { color: #000000 }
/* NameAttribute */ .chroma .na { color: #c4a000 }
/* NameBuiltin */ .chroma .nb { color: #204a87 }
/* NameBuiltinPseudo */ .chroma .bp { color: #3465a4 }
/* NameClass */ .chroma .nc { color: #000000 }
/* NameConstant */ .chroma .no { color: #000000 }
/* NameDecorator */ .chroma .nd { color: #5c35cc; font-weight: bold }
/* NameEntity */ .chroma .ni { color: #ce5c00 }
/* NameException */ .chroma .ne { color: #cc0000; font-weight: bold }
/* NameFunction */ .chroma .nf { color: #000000 }
/* NameFunctionMagic */ .chroma .fm { color: #000000 }
/* NameLabel */ .chroma .nl { color: #f57900 }
/* NameNamespace */ .chroma .nn { color: #000000 }
/* NameOther */ .chroma .nx { color: #000000 }
/* NameProperty */ .chroma .py { color: #000000 }
/* NameTag */ .chroma .nt { color: #204a87; font-weight: bold }
/* NameVariable */ .chroma .nv { color: #000000 }
/* NameVariableClass */ .chroma .vc { color: #000000 }
/* NameVariableGlobal */ .chroma .vg { color: #000000 }
/* NameVariableInstance */ .chroma .vi { color: #000000 }
/* NameVariableMagic */ .chroma .vm { color: #000000 }
/* Literal */ .chroma .l { color: #000000 }
/* LiteralDate */ .chroma .ld { color: #000000 }
/* LiteralString */ .chroma .s { color: #4e9a06 }
/* LiteralStringAffix */ .chroma .sa { color: #4e9a06 }
/* LiteralStringBacktick */ .chroma .sb { color: #4e9a06 }
/* LiteralStringChar */ .chroma .sc { color: #4e9a06 }
/* LiteralStringDelimiter */ .chroma .dl { color: #4e9a06 }
/* LiteralStringDoc */ .chroma .sd { color: #8f5902; font-style: italic }
/* LiteralStringDouble */ .chroma .s2 { color: #4e9a06 }
/* LiteralStringEscape */ .chroma .se { color: #4e9a06 }
/* LiteralStringHeredoc */ .chroma .sh { color: #4e9a06 }
/* LiteralStringInterpol */ .chroma .si { color: #4e9a06 }
/* LiteralStringOther */ .chroma .sx { color: #4e9a06 }
/* LiteralStringRegex */ .chroma .sr { color: #4e9a06 }
/* LiteralStringSingle */ .chroma .s1 { color: #4e9a06 }
/* LiteralStringSymbol */ .chroma .ss { color: #4e9a06 }
/* LiteralNumber */ .chroma .m { color: #0000cf; font-weight: bold }
/* LiteralNumberBin */ .chroma .mb { color: #0000cf; font-weight: bold }
/* LiteralNumberFloat */ .chroma .mf { color: #0000cf; font-weight: bold }
/* LiteralNumberHex */ .chroma .mh { color: #0000cf; font-weight: bold }
/* LiteralNumberInteger */ .chroma .mi { color: #0000cf; font-weight: bold }
/* LiteralNumberIntegerLong */ .chroma .il { color: #0000cf; font-weight: bold }
/* LiteralNumberOct */ .chroma .mo { color: #0000cf; font-weight: bold }
/* Operator */ .chroma .o { color: #ce5c00; font-weight: bold }
/* OperatorWord */ .chroma .ow { color: #204a87; font-weight: bold }
/* Punctuation */ .chroma .p { color: #000000; font-weight: bold }
/* Comment */ .chroma .c { color: #8f5902; font-style: italic }
/* CommentHashbang */ .chroma .ch { color: #8f5902; font-style: italic }
/* CommentMultiline */ .chroma .cm { color: #8f5902; font-style: italic }
/* CommentSingle */ .chroma .c1 { color: #8f5902; font-style: italic }
/* CommentSpecial */ .chroma .cs { color: #8f5902; font-style: italic }
/* CommentPreproc */ .chroma .cp { color: #8f5902; font-style: italic }
/* CommentPreprocFile */ .chroma .cpf { color: #8f5902; font-style: italic }
/* Generic */ .chroma .g { color: #000000 }
/* GenericDeleted */ .chroma .gd { color: #a40000 }
/* GenericEmph */ .chroma .ge { color: #000000; font-style: italic }
/* GenericError */ .chroma .gr { color: #ef2929 }
/* GenericHeading */ .chroma .gh { color: #000080; font-weight: bold }
/* GenericInserted */ .chroma .gi { color: #00a000 }
/* GenericOutput */ .chroma .go { color: #000000; font-style: italic }
/* GenericPrompt */ .chroma .gp { color: #8f5902 }
/* GenericStrong */ .chroma .gs { color: #000000; font-weight: bold }
/* GenericSubheading */ .chroma .gu { color: #800080; font-weight: bold }
/* GenericTraceback */ .chroma .gt { color: #a40000; font-weight: bold }
/* GenericUnderline */ .chroma .gl { color: #000000; text-decoration: underline }
/* TextWhitespace */ .chroma .w { color: #f8f8f8; text-decoration: underline }

/* Dark mode - Gruvbox */
@media (prefers-color-scheme: dark) {
    /* Background */ .bg { color: #ebdbb2; background-color: #282828; }
    /* PreWrapper */ .chroma { color: #ebdbb2; background-color: #282828; }
    /* LineTableTD */ .chroma .lntd { vertical-align: top; padding: 0; margin: 0; border: 0; }
    /* LineTable */ .chroma .lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; }
    /* LineHighlight */ .chroma .hl { background-color: #3d3d3d }
    /* LineNumbersTable */ .chroma .lnt { white-space: pre; user-select: none; margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #756d59 }
    /* LineNumbers */ .chroma .ln { white-space: pre; user-select: none; margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #756d59 }
    /* Line */ .chroma .line { display: flex; }
    /* Keyword */ .chroma .k { color: #fe8019 }
    /* KeywordConstant */ .chroma .kc { color: #fe8019 }
    /* KeywordDeclaration */ .chroma .kd { color: #fe8019 }
    /* KeywordNamespace */ .chroma .kn { color: #fe8019 }
    /* KeywordPseudo */ .chroma .kp { color: #fe8019 }
    /* KeywordReserved */ .chroma .kr { color: #fe8019 }
    /* KeywordType */ .chroma .kt { color: #fabd2f }
    /* NameAttribute */ .chroma .na { color: #b8bb26; font-weight: bold }
    /* NameBuiltin */ .chroma .nb { color: #fabd2f }
    /* NameConstant */ .chroma .no { color: #d3869b }
    /* NameEntity */ .chroma .ni { color: #fabd2f }
    /* NameException */ .chroma .ne { color: #fb4934 }
    /* NameFunction */ .chroma .nf { color: #fabd2f }
    /* NameLabel */ .chroma .nl { color: #fb4934 }
    /* NameTag */ .chroma .nt { color: #fb4934 }
    /* LiteralString */ .chroma .s { color: #b8bb26 }
    /* LiteralStringAffix */ .chroma .sa { color: #b8bb26 }
    /* LiteralStringBacktick */ .chroma .sb { color: #b8bb26 }
    /* LiteralStringChar */ .chroma .sc { color: #b8bb26 }
    /* LiteralStringDelimiter */ .chroma .dl { color: #b8bb26 }
    /* LiteralStringDoc */ .chroma .sd { color: #b8bb26 }
    /* LiteralStringDouble */ .chroma .s2 { color: #b8bb26 }
    /* LiteralStringEscape */ .chroma .se { color: #b8bb26 }
    /* LiteralStringHeredoc */ .chroma .sh { color: #b8bb26 }
    /* LiteralStringInterpol */ .chroma .si { color: #b8bb26 }
    /* LiteralStringOther */ .chroma .sx { color: #b8bb26 }
    /* LiteralStringRegex */ .chroma .sr { color: #b8bb26 }
    /* LiteralStringSingle */ .chroma .s1 { color: #b8bb26 }
    /* LiteralStringSymbol */ .chroma .ss { color: #83a598 }
    /* LiteralNumber */ .chroma .m { color: #d3869b }
    /* LiteralNumberBin */ .chroma .mb { color: #d3869b }
    /* LiteralNumberFloat */ .chroma .mf { color: #d3869b }
    /* LiteralNumberHex */ .chroma .mh { color: #d3869b }
    /* LiteralNumberInteger */ .chroma .mi { color: #d3869b }
    /* LiteralNumberIntegerLong */ .chroma .il { color: #d3869b }
    /* LiteralNumberOct */ .chroma .mo { color: #d3869b }
    /* Operator */ .chroma .o { color: #fe8019 }
    /* OperatorWord */ .chroma .ow { color: #fe8019 }
    /* Comment */ .chroma .c { color: #928374; font-style: italic }
    /* CommentHashbang */ .chroma .ch { color: #928374; font-style: italic }
    /* CommentMultiline */ .chroma .cm { color: #928374; font-style: italic }
    /* CommentSingle */ .chroma .c1 { color: #928374; font-style: italic }
    /* CommentSpecial */ .chroma .cs { color: #928374; font-style: italic }
    /* CommentPreproc */ .chroma .cp { color: #8ec07c }
    /* CommentPreprocFile */ .chroma .cpf { color: #8ec07c; font-style: italic }
    /* GenericDeleted */ .chroma .gd { color: #282828; background-color: #fb4934 }
    /* GenericEmph */ .chroma .ge { color: #83a598; text-decoration: underline }
    /* GenericError */ .chroma .gr { background-color: #fb4934; font-weight: bold }
    /* GenericHeading */ .chroma .gh { color: #b8bb26; font-weight: bold }
    /* GenericInserted */ .chroma .gi { color: #282828; background-color: #b8bb26 }
    /* GenericOutput */ .chroma .go { color: #504945 }
    /* GenericSubheading */ .chroma .gu { color: #b8bb26; font-weight: bold }
    /* GenericTraceback */ .chroma .gt { background-color: #fb4934; font-weight: bold }
}
