.pommel-source {
	border-radius: .25rem;
}
.pommel-source summary {
	padding: .5rem 1rem;
	border: 1px solid #eee;
	color: #555;
	font-size: 0.8125em; /* 13px /16 */
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: .5px;
}
.pommel-source[open] summary {
	border-top-right-radius: .25rem;
	border-top-left-radius: .25rem;
	background-color: #444;
	color: #fff;
	border-color: transparent;
}

@supports(transform: rotate(90deg)) {
	.pommel-source summary {
		/* Note this blows away the arrow in Firefox so we need another method to show an arrow */
		display: inline-block;
	}
	.pommel-source summary::-webkit-details-marker {
		display: none;
	}
	.pommel-source summary:before {
		display: inline-block;
		content: "";
		margin-right: .75em;
		width: 0; 
		height: 0; 
		border-top: .4em solid transparent;
		border-bottom: .4em solid transparent;
		border-left: .4em solid;
	}
	.pommel-source[open] summary:before {
		transform: rotate(90deg);
		/*border-bottom: none;
		border-left: .4em solid transparent;
		border-right: .4em solid transparent;
		border-top: .4em solid;*/
	}
}
.pommel-source pre {
	margin: 0;
	padding: 1rem;
	border-top-right-radius: 0;
	border-top-left-radius: 0;
	border-width: 0;
}

/**
* xonokai theme for JavaScript, CSS and HTML
* based on: https://github.com/MoOx/sass-prism-theme-base by Maxime Thirouin ~ MoOx --> http://moox.fr/ , which is Loosely based on Monokai textmate theme by http://www.monokai.nl/
* license: MIT; http://moox.mit-license.org/
*/
code[class*="language-"],
pre[class*="language-"] {
	-moz-tab-size: 2;
	-o-tab-size: 2;
	tab-size: 2;
	-webkit-hyphens: none;
	-moz-hyphens: none;
	-ms-hyphens: none;
	hyphens: none;
	white-space: pre;
	white-space: pre-wrap;
	word-wrap: normal;
	font-family: Menlo, Monaco, "Courier New", monospace;
	font-size: 14px;
	color: #76d9e6;
	text-shadow: none;
}

pre > code[class*="language-"] {
	font-size: 1em;
}

pre[class*="language-"],
:not(pre) > code[class*="language-"] {
	background: #2a2a2a;
}

pre[class*="language-"] {
	padding: 15px;
	border-radius: 4px;
	overflow: auto;
	position: relative;
}

pre[class*="language-"] code {
	white-space: pre;
	display: block;
}

:not(pre) > code[class*="language-"] {
	padding: 0.15em 0.2em 0.05em;
	border-radius: .3em;
	border: 0.13em solid #7a6652;
	box-shadow: 1px 1px 0.3em -0.1em #000 inset;
}

.token.namespace {
	opacity: .7;
}

.token.comment,
.token.prolog,
.token.doctype,
.token.cdata {
	color: #6f705e;
}

.token.operator,
.token.boolean,
.token.number {
	color: #a77afe;
}

.token.attr-name,
.token.string {
	color: #e6d06c;
}

.token.entity,
.token.url,
.language-css .token.string,
.style .token.string {
	color: #e6d06c;
}

.token.selector,
.token.inserted {
	color: #a6e22d;
}

.token.atrule,
.token.attr-value,
.token.keyword,
.token.important,
.token.deleted {
	color: #ef3b7d;
}

.token.regex,
.token.statement {
	color: #76d9e6;
}

.token.placeholder,
.token.variable {
	color: #fff;
}

.token.important,
.token.statement,
.token.bold {
	font-weight: bold;
}

.token.punctuation {
	color: #bebec5;
}

.token.entity {
	cursor: help;
}

.token.italic {
	font-style: italic;
}

code.language-markup {
	color: #f9f9f9;
}

code.language-markup .token.tag {
	color: #ef3b7d;
}

code.language-markup .token.attr-name {
	color: #a6e22d;
}

code.language-markup .token.attr-value {
	color: #e6d06c;
}

code.language-markup .token.style,
code.language-markup .token.script {
	color: #76d9e6;
}

code.language-markup .token.script .token.keyword {
	color: #76d9e6;
}

/* Line highlight plugin */
pre[class*="language-"][data-line] {
	position: relative;
	padding: 1em 0 1em 3em;
}

pre[data-line] .line-highlight {
	position: absolute;
	left: 0;
	right: 0;
	padding: 0;
	margin-top: 1em;
	background: rgba(255, 255, 255, 0.08);
	pointer-events: none;
	line-height: inherit;
	white-space: pre;
}

pre[data-line] .line-highlight:before,
pre[data-line] .line-highlight[data-end]:after {
	content: attr(data-start);
	position: absolute;
	top: .4em;
	left: .6em;
	min-width: 1em;
	padding: 0.2em 0.5em;
	background-color: rgba(255, 255, 255, 0.4);
	color: black;
	font: bold 65%/1 sans-serif;
	height: 1em;
	line-height: 1em;
	text-align: center;
	border-radius: 999px;
	text-shadow: none;
	box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);
}

pre[data-line] .line-highlight[data-end]:after {
	content: attr(data-end);
	top: auto;
	bottom: .4em;
}
html {
	overflow-y: scroll;
	margin: 0;
}
body {
	font-family: system-ui, sans-serif;
	background-color: #2e2e2e;
	color: #fff;
	margin: 0.5rem; /* 8px /16 */
}
header,
footer {
	font-style: italic;
	text-align: center;
}
code {
	font-family: Monaco, monospace;
}

html:not(.js) [data-js-only] {
	display: none !important;
}
[data-sr-only] {
	border: 0;
	clip: rect(0 0 0 0);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	white-space: nowrap; /* 1 */
	width: 1px;
}


:link,
:visited {
	color: #fff;
}

summary {
	padding: .25em 0;
}

.url {
	font-size: 1em; /* 20px /16 */
	-ms-word-break: break-all;
	word-break: break-all;
	word-break: break-word;
}
@media (min-width: 37.5em) { /* 600px */
	.url {
		font-size: 1.25em; /* 20px /16 */
	}
}

table {
	border-spacing: 0;
	border-collapse: collapse;
}
th, td {
	margin: 0;
	padding: .75rem .5rem;
}
th {
	text-align: left;
	color: #ddd;
	font-weight: normal;
}

abbr {
	text-decoration: none;
}

/* Speedlify specific styles */
.speedlify-hed {
	text-align: center;
	font-size: 2em;
}
@media (min-width: 37.5em) { /* 600px */
	.speedlify-hed {
		font-size: 3em;
	}
}
.speedlify-subhed {
	padding: 0 2em;
	margin: 0 auto;
	max-width: 40em;
	text-align: center;
}
.speedlify-subhed ~ .speedlify-subhed {
	margin-top: 1em;
}

/* Leaderboard */

.leaderboard-wrapper {
	margin-left: -.5rem;
	margin-right: -.4375rem; /* 7px /16 */
}
.leaderboard-wrapper > * {
	width: 100%;
	max-width: 100rem; /* 1600px /16 */
	margin: 3em auto;
	box-sizing: border-box;
}
.leaderboard-wrapper > p {
	padding-left: 1em;
	margin-top: 3em;
	margin-bottom: -3em;
}
.leaderboard-trophies {
	white-space: nowrap;
}
.leaderboard-url {
	width: 100%;
}
.leaderboard-url a[href] {
	display: inline-flex;
	vertical-align: middle;
}
.leaderboard-redirect-error,
.leaderboard-redirect-warn {
	text-transform: uppercase;
	font-size: 0.75em; /* 12px /16 */
	font-weight: 400;
	margin-left: 1em;
}
.leaderboard-redirect-error:before {
	content: "⛔️ ";
}
.leaderboard-redirect-warn:before {
	content: "⚠️ ";
}
.leaderboard-redirect-warn code {
	text-transform: none;
}
.leaderboard-redirect-warn {
	color: hsl(58, 100%, 71%);
}
.leaderboard-redirect-error {
	color: hsl(1, 100%, 58%);
}
.leaderboard-list {
	width: auto;
	margin-left: auto;
	margin-right: auto;
}
.leaderboard-list-entry {
	border-top: 1px solid #444;
}
.leaderboard-list-entry-badrank {
	border-top: 1px solid hsl(333, 100%, 50%);
	border-bottom: 1px solid hsl(333, 100%, 50%);
}

.leaderboard-list-entry-details > td {
	padding: 0;
}
.leaderboard-list-entry-thumbnail {
	width: 2em;
	height: 2em;
	margin-right: .5em;
	vertical-align: middle;
	border: none;
	border-radius: .2em;
}
.leaderboard-list-entry-thumbnail.small {
	width: 1.5em;
	height: 1.5em;
}
.leaderboard caption {
	font-size: 1.5em;
	margin: 0 0 1em;
}
.leaderboard-data-right {
	text-align: right;
}
@media (max-width: 37.4375em) { /* 599px */
	.leaderboard-hide-sm {
		display: none;
	}
}
@media (max-width: 63.9375em) { /* 1023px */
	.leaderboard-hide-md {
		display: none;
	}
}
.leaderboard > thead > tr > th {
	font-size: 0.8125em; /* 13px /16 */
}
@media (min-width: 50em) { /* 800px */
	.leaderboard > tbody > tr > td {
		font-size: 1.3125em; /* 21px /16 */
	}
}

.speedlify-button {
	white-space: nowrap;
	display: inline-block;
	text-decoration: none;
	background-color: #444;
	border-radius: 50px;
	border: 1px solid #aaa;
	padding: .5em 1em;
	text-align: center;
}

/* Results table */
.results {
	width: 100%;
}
.results th,
.results td {
	padding: .25em;
}
@media (min-width: 25em) { /* 400px */
	.results th,
	.results td {
		padding-left: .5em;
		padding-right: .5em;
	}
}
.results th {
	color: #fff;
	border: 1px solid #555;
	text-align: center;
}
.results th:first-child {
	border-left: none;
}
@media (max-width: 87.4375em) { /* 1399px */
	.results th:last-child {
		border-right: none;
	}
}
.results tr:first-child th {
	font-weight: bold;
}
.results td {
	white-space: nowrap;
}
.results-calc {
	text-align: center;
}
.results-bool {
	width: 1ch;
}
.results-bool + td {
	padding-left: 0;
}
.results-date {
	width: 6.25rem; /* 100px /16 */
}
.leaderboard .results th,
.leaderboard .results td {
	font-size: 0.6875em; /* 11px /16 */
}
@media (min-width: 31.25em) { /* 500px */
	.leaderboard .results th,
	.leaderboard .results td {
		font-size: 0.875em; /* 14px /16 */
	}
}
@media (min-width: 50em) { /* 800px */
	.leaderboard .results th,
	.leaderboard .results td {
		font-size: 0.7619047619048em; /* 16px /21 */
	}
}

.small,
.count,
.date,
.heart-hundo {
	color: #aaa;
	font-size: 0.8125em; /* 13px /16 */
}
.leaderboard-score-circles {
	display: inline-flex;
	flex-wrap: nowrap;
	margin-right: 8px;
}
.leaderboard-score-sum {
	display: inline-block;
	vertical-align: middle;
}
.leaderboard-score-circles {
	font-size: 0.6875rem; /* 11px /16 */
	font-weight: 600;
	line-height: 1;
}
.leaderboard-score-circles-400 {
	--speedlify-circle: #bcffc2;
}
@media (min-width: 37.5em) { /* 600px */
	.leaderboard-score-circles {
		font-size: 0.8125em; /* 13px /16 */
	}
}

/* Score Cell RWD */
.leaderboard-score{
	white-space: nowrap;
}
@media (max-width: 28.0625em) { /* 449px */
	.leaderboard-score{
		display: none;
	}
}
@media (max-width: 37.4375em) { /* 599px */
	.leaderboard-score-circles {
		display: none;
	}
}

/* Layout */
.tablewrap {
	width: 100%;
	margin: 0 0 2em;
}
@media (min-width: 87.5em) { /* 1400px */
	.layout {
		display: grid;
		grid-gap: 1em;
		margin-bottom: 2em;
	}
	.js .layout {
		grid-template-columns: repeat(auto-fill, 49%);
	}
}

/* File sizes */
/*.filesize {}*/
.filesize-label-lg {
	display: none;
}

@media (min-width: 31.25em) { /* 500px */
	.filesize-label-sm {
		display: none;
	}
	.filesize-label-lg {
		display: inline;
	}
}
[data-numeric-value="0"] .filesize-label-sm,
[data-numeric-value="0"] .filesize-label-lg,
[data-numeric-value="0"] .count {
	display: none;
}

/* Charts */

.ct-chart.ct-chart {
	margin-bottom: 2em;
}
.ct-line.ct-line {
	stroke-width: 3px;
}
.ct-label.ct-label {
	fill: rgba(255, 255, 255, 0.4);
	color: rgba(255, 255, 255, 0.4);
	white-space: nowrap;
}
.ct-grid.ct-grid {
	stroke: rgba(255, 255, 255, 0.2);
}
/* via https://learnui.design/tools/data-color-picker.html */
:root {
	--speedlify-color-1: #374c80;
	--speedlify-color-2: #7a5195;
	--speedlify-color-3: #bc5090;
	--speedlify-color-4: #ef5675;
	--speedlify-color-5: #ff764a;
	--speedlify-color-6: #ffa600;
}
.color--lighthouse {
	--speedlify-color-1: #004e5f;
	--speedlify-color-2: #006a6c;
	--speedlify-color-3: #00845f;
	--speedlify-color-4: #4f9a3e;
	--speedlify-color-5: #a3a704;
	--speedlify-color-6: #ffa600;
}
.color--weight {
	--speedlify-color-1: #5100ff;
	--speedlify-color-2: #de00c3;
	--speedlify-color-3: #ff0085;
	--speedlify-color-4: #ff004f;
	--speedlify-color-5: #ff6c22;
	--speedlify-color-6: #ffa600;
}
.results-series-a {
	background-color: var(--speedlify-color-1);
}
.ct-series-a.ct-series-a .ct-line {
	stroke: var(--speedlify-color-1);
}
.results-series-b {
	background-color: var(--speedlify-color-2);
}
.ct-series-b.ct-series-b .ct-line {
	stroke: var(--speedlify-color-2);
}
.results-series-c {
	background-color: var(--speedlify-color-3);
}
.ct-series-c.ct-series-c .ct-line {
	stroke: var(--speedlify-color-3);
}
.results-series-d {
	background-color: var(--speedlify-color-4);
}
.ct-series-d.ct-series-d .ct-line {
	stroke: var(--speedlify-color-4);
}
.results-series-e {
	background-color: var(--speedlify-color-5);
}
.ct-series-e.ct-series-e .ct-line {
	stroke: var(--speedlify-color-5);
}
.results-series-f {
	background-color: var(--speedlify-color-6);
}
.ct-series-f.ct-series-f .ct-line {
	stroke: var(--speedlify-color-6);
}


/* Category stats */
.category-stats {
	margin: 2em auto 4em;
	max-width: 25em; /* 400px /16 */
}
.category-stats,
.category-stats-entry {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}
.category-stats-entry {
	flex-basis: 20em;
	padding: 0 1em;
}
.category-stats dt,
.category-stats dd {
	flex-basis: 4.6875em; /* 150px /32 */
}
.category-stats dt {
	flex-grow: 999;
	min-width: 9.375em; /* 150px /16 */
	text-align: right;
}
.category-stats dd {
	flex-grow: 1;
	text-align: right;
	margin: 0 0 0 .5em;
	font-size: 2em;
	font-variant-numeric: tabular-nums;
	font-weight: 700;
}
.category-stats dd span {
	font-weight: 100;
}

/* Pommel source */
.speedlify-pommel-source {
	overflow: hidden;
	border-radius: 0;
	margin: 0 .5rem;
}
.speedlify-pommel-source summary {
	border-color: transparent;
	text-transform: none;
	color: #aaa;
	padding-left: 2px;
}
.speedlify-pommel-source summary + pre {
	clear: both;
}
.speedlify-pommel-source[open] summary {
	background-color: transparent;
}
.speedlify-pommel-source pre[class*="language-"] {
	border-radius: 0;
	background: transparent;
	padding: 0 0 .5em 0;
}
.speedlify-pommel-source pre[class*="language-"] code {
	white-space: pre-wrap;
	-ms-word-break: break-all;
	word-break: break-all;
	word-break: break-word;
}
.speedlify-pommel-source p {
	margin: 0 0 1.5em 0;
	font-size: 0.625em;
}

/* Side quests */
.leaderboard-sidequest {
	margin-left: .5em;
	font-size: 0.6666666666667em; /* 14px /21 */
	background-color: #202020;
	border-radius: 0.2142857142857em; /* 3px /14 */
	padding: 0.1428571428571em 0.2857142857143em; /* 2px 4px /14 */
	text-transform: uppercase;
	letter-spacing: -.3px;
	white-space: nowrap;
}

.leaderboard-number span {
	font-size: .75em;
	vertical-align: text-top;
	margin-right: 1px;
}

.leaderboard-floppies {
	white-space: nowrap;
}
.floppy-0 {
	clip-path: inset(0 20px 0 0);
}
.floppy-1,
.floppy-2,
.floppy-3,
.floppy-4 {
	clip-path: inset(0 14px 0 0);
}
.floppy-5,
.floppy-6,
.floppy-7,
.floppy-8 {
	clip-path: inset(0 7px 0 0);
}