/* GitHub Repo for MyBB. Colours as custom properties, so a theme can override them on .githubrepo. */

.githubrepo {
	--gr-text: #1f2328;
	--gr-muted: #59636e;
	--gr-link: #0969da;
	--gr-border: #d1d9e0;
	--gr-bg: #fff;
	--gr-subtle: #f6f8fa;
	--gr-hover: #eff2f5;
	--gr-button: #24292f;
	--gr-button-hover: #32383f;
	--gr-button-text: #fff;
	--gr-success: #1a7f37;
	--gr-success-bg: #dafbe1;
	--gr-success-border: #4ac26b;
	--gr-accent-bg: #ddf4ff;
	--gr-accent-border: #54aeff;
	--gr-border-hover: #b7c0ca;
	display: block;
	max-width: 760px;
	margin: 10px 0;
	box-sizing: border-box;
	border: 1px solid var(--gr-border);
	border-radius: 8px;
	background: var(--gr-bg);
	color: var(--gr-text);
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif;
	font-size: 13px;
	line-height: 1.45;
	text-align: left;
}

.githubrepo *,
.githubrepo *::before,
.githubrepo *::after {
	box-sizing: border-box;
}

/* Centred with [align=center] */
.mycode_align[style*="center"] > .githubrepo {
	margin-left: auto;
	margin-right: auto;
}

.githubrepo .githubrepo_icon {
	display: inline-block;
	flex: none;
	width: 16px;
	height: 16px;
	fill: currentColor;
	vertical-align: text-bottom;
}

/* Title ------------------------------------------------------------------ */

.githubrepo_head {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	padding: 12px 12px 4px;
}

.githubrepo_head .githubrepo_icon_repo {
	width: 18px;
	height: 18px;
	margin-top: 2px;
	color: var(--gr-muted);
}

.githubrepo a.githubrepo_title,
.githubrepo a.githubrepo_title:link,
.githubrepo a.githubrepo_title:visited {
	min-width: 0;
	color: var(--gr-link);
	font-size: 17px;
	font-weight: 700;
	line-height: 22px;
	text-decoration: none;
	overflow-wrap: anywhere;
}

.githubrepo a.githubrepo_title:hover,
.githubrepo a.githubrepo_title:focus-visible {
	color: var(--gr-link);
	text-decoration: underline;
}

.githubrepo_owner {
	opacity: 0.75;
}

/* Buttons ---------------------------------------------------------------- */

.githubrepo_bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	padding: 6px 12px 12px;
}

.githubrepo a.githubrepo_open,
.githubrepo a.githubrepo_open:link,
.githubrepo a.githubrepo_open:visited {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	height: 32px;
	padding: 0 12px;
	border: 1px solid var(--gr-button);
	border-radius: 6px;
	background: var(--gr-button);
	color: var(--gr-button-text);
	font-size: 13px;
	font-weight: 500;
	line-height: 20px;
	text-decoration: none;
	white-space: nowrap;
	box-shadow: 0 1px 2px rgba(31, 35, 40, 0.12);
	transition: background-color 0.15s, border-color 0.15s;
}

.githubrepo a.githubrepo_open:hover,
.githubrepo a.githubrepo_open:focus-visible {
	border-color: var(--gr-button-hover);
	background: var(--gr-button-hover);
	color: var(--gr-button-text);
	text-decoration: none;
}

.githubrepo_open .githubrepo_icon_external {
	width: 12px;
	height: 12px;
	opacity: 0.7;
}

.githubrepo button.githubrepo_button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	height: 32px;
	margin: 0;
	padding: 0 12px;
	border: 1px solid var(--gr-border);
	border-radius: 6px;
	background: var(--gr-bg);
	box-shadow: 0 1px 0 rgba(31, 35, 40, 0.04), 0 1px 2px rgba(31, 35, 40, 0.06);
	color: var(--gr-text);
	font: inherit;
	font-size: 13px;
	font-weight: 500;
	line-height: 20px;
	text-transform: none;
	white-space: nowrap;
	cursor: pointer;
	user-select: none;
	transition: background-color 0.15s, border-color 0.15s, color 0.15s, box-shadow 0.15s, transform 0.1s;
}

.githubrepo button.githubrepo_button:hover {
	border-color: var(--gr-border-hover);
	background: var(--gr-subtle);
	box-shadow: 0 1px 0 rgba(31, 35, 40, 0.04), 0 2px 4px rgba(31, 35, 40, 0.08);
}

.githubrepo button.githubrepo_button:active {
	background: var(--gr-hover);
	box-shadow: inset 0 1px 2px rgba(31, 35, 40, 0.1);
	transform: translateY(1px);
}

.githubrepo button.githubrepo_button:focus-visible,
.githubrepo a.githubrepo_open:focus-visible,
.githubrepo a.githubrepo_title:focus-visible {
	outline: 2px solid var(--gr-link);
	outline-offset: 1px;
}

.githubrepo button.githubrepo_button .githubrepo_icon {
	color: var(--gr-muted);
	transition: color 0.15s, transform 0.2s;
}

.githubrepo button.githubrepo_button:hover .githubrepo_icon {
	color: var(--gr-text);
}

/* Copy: for two seconds green with a check mark. Both labels share one grid
 * cell, so the button keeps its width when the text changes. */
.githubrepo_copy .githubrepo_icon_check,
.githubrepo_copy.is-copied .githubrepo_icon_copy {
	display: none;
}

.githubrepo_copy.is-copied .githubrepo_icon_check {
	display: inline-block;
	animation: githubrepo-pop 0.25s ease-out;
}

.githubrepo_copy_labels {
	display: inline-grid;
}

.githubrepo_copy_labels > span {
	grid-area: 1 / 1;
}

.githubrepo_copied_label,
.githubrepo_copy.is-copied .githubrepo_copy_label {
	visibility: hidden;
}

.githubrepo_copy.is-copied .githubrepo_copied_label {
	visibility: visible;
}

.githubrepo button.githubrepo_copy.is-copied,
.githubrepo button.githubrepo_copy.is-copied:hover {
	border-color: var(--gr-success-border);
	background: var(--gr-success-bg);
	color: var(--gr-success);
}

.githubrepo button.githubrepo_copy.is-copied .githubrepo_icon {
	color: var(--gr-success);
}

@keyframes githubrepo-pop {
	0% {
		transform: scale(0.4);
		opacity: 0;
	}
	70% {
		transform: scale(1.2);
		opacity: 1;
	}
	100% {
		transform: scale(1);
	}
}

/* README toggle: blue while open, the chevron turns. */
.githubrepo_toggle .githubrepo_chevron {
	width: 14px;
	height: 14px;
	margin-left: -1px;
}

.githubrepo_toggle[aria-expanded="true"] .githubrepo_chevron {
	transform: rotate(180deg);
}

.githubrepo button.githubrepo_toggle[aria-expanded="true"],
.githubrepo button.githubrepo_toggle[aria-expanded="true"]:hover {
	border-color: var(--gr-accent-border);
	background: var(--gr-accent-bg);
	color: var(--gr-link);
}

.githubrepo button.githubrepo_toggle[aria-expanded="true"] .githubrepo_icon {
	color: var(--gr-link);
}

/* Description, language, stars ------------------------------------------ */

.githubrepo_about {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 4px 16px;
	padding: 0 12px 4px 38px;
	color: var(--gr-muted);
	font-size: 13px;
}

.githubrepo_desc {
	flex: 1 1 260px;
	min-width: 0;
	color: var(--gr-text);
	overflow-wrap: anywhere;
}

.githubrepo_gone .githubrepo_desc {
	color: var(--gr-muted);
	font-style: italic;
}

.githubrepo_gone .githubrepo_name {
	text-decoration: line-through;
}

.githubrepo_meta {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 14px;
	font-size: 12px;
}

.githubrepo_meta > span {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	white-space: nowrap;
}

.githubrepo_meta .githubrepo_icon {
	width: 14px;
	height: 14px;
}

.githubrepo_lang_dot {
	display: inline-block;
	width: 10px;
	height: 10px;
	border: 1px solid rgba(31, 35, 40, 0.15);
	border-radius: 50%;
	background: #8b949e;
}

.githubrepo_badge {
	padding: 0 7px;
	border: 1px solid #d4a72c;
	border-radius: 2em;
	color: #9a6700;
	font-weight: 500;
	line-height: 18px;
}

.githubrepo_pending .githubrepo_about {
	display: none;
}

/* README panel ----------------------------------------------------------- */

.githubrepo_readme {
	border-top: 1px solid var(--gr-border);
}

.githubrepo_readme[hidden] {
	display: none !important;
}

.githubrepo_readme_msg {
	margin: 0;
	padding: 14px 16px;
	color: var(--gr-muted);
}

.githubrepo_readme_msg a {
	color: var(--gr-link);
}

.githubrepo_loading::before {
	content: "";
	display: inline-block;
	width: 12px;
	height: 12px;
	margin-right: 8px;
	border: 2px solid var(--gr-border);
	border-top-color: var(--gr-muted);
	border-radius: 50%;
	vertical-align: -1px;
	animation: githubrepo-spin 0.8s linear infinite;
}

@keyframes githubrepo-spin {
	to {
		transform: rotate(360deg);
	}
}

.githubrepo_readme_foot {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 14px;
	padding: 8px 12px;
	border-top: 1px solid var(--gr-border);
	border-radius: 0 0 7px 7px;
	background: var(--gr-subtle);
	color: var(--gr-muted);
	font-size: 12px;
}

.githubrepo_readme_foot a,
.githubrepo_readme_foot a:link,
.githubrepo_readme_foot a:visited {
	color: var(--gr-link);
	font-weight: 500;
	text-decoration: none;
}

.githubrepo_readme_foot a:hover {
	text-decoration: underline;
}

.githubrepo_readme_note {
	flex: 1 1 auto;
}

.githubrepo .githubrepo_readme_foot button.githubrepo_button {
	height: 26px;
	padding: 0 10px;
	font-size: 12px;
}

.githubrepo_collapse .githubrepo_chevron {
	width: 14px;
	height: 14px;
	transform: rotate(180deg);
}

/* README content: GitHub's Markdown look, scoped so the forum's styles for
 * quotes, tables and code don't leak in. */

.githubrepo_md {
	padding: 16px 20px 8px;
	color: var(--gr-text);
	font-size: 14px;
	line-height: 1.5;
	overflow-wrap: break-word;
}

.githubrepo_md > :first-child {
	margin-top: 0 !important;
}

.githubrepo_md p,
.githubrepo_md blockquote,
.githubrepo_md ul,
.githubrepo_md ol,
.githubrepo_md dl,
.githubrepo_md table,
.githubrepo_md pre,
.githubrepo_md details,
.githubrepo_md .markdown-alert {
	margin: 0 0 16px;
}

.githubrepo_md a,
.githubrepo_md a:link,
.githubrepo_md a:visited {
	color: var(--gr-link);
	text-decoration: none;
}

.githubrepo_md a:hover {
	text-decoration: underline;
}

.githubrepo_md h1,
.githubrepo_md h2,
.githubrepo_md h3,
.githubrepo_md h4,
.githubrepo_md h5,
.githubrepo_md h6 {
	margin: 24px 0 16px;
	padding: 0;
	border: 0;
	background: none;
	color: var(--gr-text);
	font-family: inherit;
	font-weight: 600;
	line-height: 1.25;
	text-transform: none;
	letter-spacing: normal;
	scroll-margin-top: 70px;
}

.githubrepo_md h1 {
	padding-bottom: 0.3em;
	border-bottom: 1px solid var(--gr-border);
	font-size: 2em;
}

.githubrepo_md h2 {
	padding-bottom: 0.3em;
	border-bottom: 1px solid var(--gr-border);
	font-size: 1.5em;
}

.githubrepo_md h3 {
	font-size: 1.25em;
}

.githubrepo_md h4 {
	font-size: 1em;
}

.githubrepo_md h5 {
	font-size: 0.875em;
}

.githubrepo_md h6 {
	color: var(--gr-muted);
	font-size: 0.85em;
}

.githubrepo_md p[align="center"],
.githubrepo_md div[align="center"],
.githubrepo_md h1[align="center"],
.githubrepo_md h2[align="center"],
.githubrepo_md h3[align="center"] {
	text-align: center;
}

.githubrepo_md p[align="right"],
.githubrepo_md div[align="right"] {
	text-align: right;
}

.githubrepo_md img {
	max-width: 100%;
	border: 0;
	background: transparent;
	vertical-align: middle;
	box-sizing: content-box;
}

.githubrepo_md img[align="right"] {
	float: right;
	margin-left: 16px;
}

.githubrepo_md img[align="left"] {
	float: left;
	margin-right: 16px;
}

.githubrepo_md video {
	display: block;
	max-width: 100%;
	max-height: 640px;
	border-radius: 6px;
	background: #000;
}

.githubrepo_md ul,
.githubrepo_md ol {
	padding-left: 2em;
	list-style-position: outside;
}

.githubrepo_md ul {
	list-style-type: disc;
}

.githubrepo_md ol {
	list-style-type: decimal;
}

.githubrepo_md ul ul,
.githubrepo_md ol ul {
	list-style-type: circle;
}

.githubrepo_md ul ul,
.githubrepo_md ul ol,
.githubrepo_md ol ol,
.githubrepo_md ol ul {
	margin: 0;
}

.githubrepo_md li {
	margin: 0;
	padding: 0;
	list-style: inherit;
}

.githubrepo_md li + li {
	margin-top: 0.25em;
}

.githubrepo_md .contains-task-list {
	padding-left: 0.6em;
	list-style: none;
}

.githubrepo_md .task-list-item {
	list-style: none;
}

.githubrepo_md dt {
	margin-top: 16px;
	font-style: italic;
	font-weight: 600;
}

.githubrepo_md dd {
	margin: 0 0 16px;
	padding: 0 16px;
}

.githubrepo_md blockquote {
	padding: 0 1em;
	border: 0;
	border-left: 0.25em solid var(--gr-border);
	background: none;
	color: var(--gr-muted);
	font-size: inherit;
}

.githubrepo_md blockquote > :last-child {
	margin-bottom: 0;
}

.githubrepo_md hr {
	height: 0.25em;
	margin: 24px 0;
	padding: 0;
	border: 0;
	background: var(--gr-border);
}

.githubrepo_md code,
.githubrepo_md kbd,
.githubrepo_md samp,
.githubrepo_md tt,
.githubrepo_md pre {
	font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
	font-size: 85%;
}

.githubrepo_md code,
.githubrepo_md tt {
	margin: 0;
	padding: 0.2em 0.4em;
	border: 0;
	border-radius: 6px;
	background: rgba(129, 139, 152, 0.12);
	color: inherit;
	white-space: break-spaces;
}

.githubrepo_md pre {
	max-height: none;
	padding: 16px;
	overflow: auto;
	border: 0;
	border-radius: 6px;
	background: var(--gr-subtle);
	color: var(--gr-text);
	line-height: 1.45;
	white-space: pre;
	word-wrap: normal;
}

.githubrepo_md pre code {
	display: inline;
	padding: 0;
	background: transparent;
	font-size: 100%;
	white-space: pre;
	word-break: normal;
}

.githubrepo_md kbd {
	display: inline-block;
	padding: 3px 5px;
	border: 1px solid var(--gr-border);
	border-bottom-color: #afb8c1;
	border-radius: 6px;
	background: var(--gr-subtle);
	box-shadow: inset 0 -1px 0 #afb8c1;
	font-size: 11px;
	line-height: 10px;
	vertical-align: middle;
}

.githubrepo_md table {
	display: block;
	width: max-content;
	max-width: 100%;
	overflow: auto;
	border: 0;
	border-collapse: collapse;
	border-spacing: 0;
	background: none;
}

.githubrepo_md th,
.githubrepo_md td {
	padding: 6px 13px;
	border: 1px solid var(--gr-border);
	background: var(--gr-bg);
	color: inherit;
	font-size: inherit;
	text-align: inherit;
}

.githubrepo_md th {
	font-weight: 600;
}

.githubrepo_md tr:nth-child(2n) td {
	background: var(--gr-subtle);
}

.githubrepo_md th[align="center"],
.githubrepo_md td[align="center"] {
	text-align: center;
}

.githubrepo_md th[align="right"],
.githubrepo_md td[align="right"] {
	text-align: right;
}

.githubrepo_md details > summary {
	cursor: pointer;
}

.githubrepo_md sup,
.githubrepo_md sub {
	font-size: 75%;
	line-height: 0;
}

/* Alerts: > [!NOTE] and friends */
.githubrepo_md .markdown-alert {
	padding: 8px 16px;
	border-left: 0.25em solid var(--gr-border);
	color: inherit;
}

.githubrepo_md .markdown-alert > :last-child {
	margin-bottom: 0;
}

.githubrepo_md .markdown-alert-title {
	margin-bottom: 4px;
	font-weight: 500;
}

.githubrepo_md .markdown-alert-note {
	border-left-color: #0969da;
}

.githubrepo_md .markdown-alert-note .markdown-alert-title {
	color: #0969da;
}

.githubrepo_md .markdown-alert-tip {
	border-left-color: #1a7f37;
}

.githubrepo_md .markdown-alert-tip .markdown-alert-title {
	color: #1a7f37;
}

.githubrepo_md .markdown-alert-important {
	border-left-color: #8250df;
}

.githubrepo_md .markdown-alert-important .markdown-alert-title {
	color: #8250df;
}

.githubrepo_md .markdown-alert-warning {
	border-left-color: #9a6700;
}

.githubrepo_md .markdown-alert-warning .markdown-alert-title {
	color: #9a6700;
}

.githubrepo_md .markdown-alert-caution {
	border-left-color: #d1242f;
}

.githubrepo_md .markdown-alert-caution .markdown-alert-title {
	color: #d1242f;
}

/* Syntax highlighting (GitHub light) */
.githubrepo_md .pl-c {
	color: #59636e;
}

.githubrepo_md .pl-c1,
.githubrepo_md .pl-s .pl-v {
	color: #0550ae;
}

.githubrepo_md .pl-e,
.githubrepo_md .pl-en {
	color: #6639ba;
}

.githubrepo_md .pl-smi,
.githubrepo_md .pl-s .pl-s1 {
	color: #1f2328;
}

.githubrepo_md .pl-ent {
	color: #0550ae;
}

.githubrepo_md .pl-k {
	color: #cf222e;
}

.githubrepo_md .pl-s,
.githubrepo_md .pl-pds,
.githubrepo_md .pl-s .pl-pse .pl-s1,
.githubrepo_md .pl-sr,
.githubrepo_md .pl-sr .pl-cce,
.githubrepo_md .pl-sr .pl-sre,
.githubrepo_md .pl-sr .pl-sra {
	color: #0a3069;
}

.githubrepo_md .pl-v,
.githubrepo_md .pl-smw {
	color: #953800;
}

.githubrepo_md .pl-bu {
	color: #82071e;
}

.githubrepo_md .pl-ii {
	background: #82071e;
	color: #f6f8fa;
}

.githubrepo_md .pl-c2 {
	background: #cf222e;
	color: #f6f8fa;
}

.githubrepo_md .pl-sr .pl-cce {
	color: #116329;
	font-weight: 700;
}

.githubrepo_md .pl-ml {
	color: #3b2300;
}

.githubrepo_md .pl-mh,
.githubrepo_md .pl-mh .pl-en,
.githubrepo_md .pl-ms {
	color: #0550ae;
	font-weight: 700;
}

.githubrepo_md .pl-mi {
	color: #1f2328;
	font-style: italic;
}

.githubrepo_md .pl-mb {
	color: #1f2328;
	font-weight: 700;
}

.githubrepo_md .pl-md {
	background: #ffebe9;
	color: #82071e;
}

.githubrepo_md .pl-mi1 {
	background: #dafbe1;
	color: #116329;
}

.githubrepo_md .pl-mc {
	background: #ffd8b5;
	color: #953800;
}

.githubrepo_md .pl-mi2 {
	background: #0550ae;
	color: #eaeef2;
}

/* Field under the message ------------------------------------------------ */

.githubrepo_field {
	max-width: 760px;
	margin-top: 10px;
	text-align: left;
}

.githubrepo_field_label {
	display: flex;
	align-items: center;
	gap: 6px;
	margin-bottom: 5px;
	font-weight: bold;
}

.githubrepo_field_label .githubrepo_icon {
	width: 16px;
	height: 16px;
	fill: currentColor;
}

.githubrepo_field input.githubrepo_field_input {
	display: block;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

.githubrepo_field_hint {
	margin: 4px 0 6px;
	opacity: 0.8;
}

.githubrepo_field_auto {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	cursor: pointer;
}

.githubrepo_field_auto input {
	margin: 0;
}

/* Phones ----------------------------------------------------------------- */

@media (max-width: 600px) {
	.githubrepo_head {
		padding: 10px 10px 4px;
	}

	.githubrepo_about {
		padding: 0 10px 4px 36px;
	}

	.githubrepo_bar {
		gap: 6px;
		padding: 6px 10px 10px;
	}

	.githubrepo_md {
		padding: 12px 12px 4px;
	}
}
