body {
	font-family: var(--sans-font), sans-serif;
	font-size: 1.1rem;
	margin: 0 0 4rem 0;
	padding: 0 .5rem;
	background: var(--bg);
	color: var(--text);
}

main {
	margin-top: 3rem;
}

input {
	width: 50%;
	padding: 12px 10px;
	margin: 8px 0;
	box-sizing: border-box;
}



.medium {
	font-weight: bold;
	font-size: 1.4rem;
}

.jump li {
	display: inline-block;
	padding-right: 1rem;
}

a,
a:visited {
	color: var(--link)
}

a:hover,
a:focus {
	text-decoration: none;
}

a.site,
a.site:visited {
	color: currentColor;
	text-decoration: none;
}

a.site:hover,
a.site:focus {
	text-decoration: underline;
}

.button {
  background: var(--link);
  color: var(--bg) !important;
  margin: 1.5rem 0;
  padding: 1rem 1.25rem;
  border-radius: 5px;
  text-decoration: none;
}

.button:hover {
  background: var(--text);
}

pre {
	font-family: var(--mono-font);
	background: var(--pre-bg) !important;
	border-radius: 5px;
	margin-bottom: 1.6em;
	max-width: 100%;
	white-space: pre-wrap;
	padding: 1.6em;
	max-height: 650px;
}

pre code {
	font-size: 1.1rem;
	font-family: var(--mono-font);
	color: #ccc;
}

code {
	font-family: var(--mono-font);
	color: var(--code);
}

ul {
	list-style: none;
	margin: 3rem 0 0 0;
	padding: 0;
}

/* BLUE COLOURS */
ul.blue li {
	background: var(--after-blue);
	color: #212121;
	line-height: 1;
	margin: 0 0 0.5rem 0;
	padding: 15px 10px 12px;
	position: relative;
	border-radius: 4px;
}

ul.blue li span.before {
	background: var(--before-blue);
	height: 100%;
	width: calc(var(--data-size)/512 * 100%);
	border-radius: 4px;
	z-index: 0;
}

/* ORANGE COLOURS */
ul.orange li {
	background: var(--after-orange);
	color: #212121;
	line-height: 1;
	margin: 0 0 0.5rem 0;
	padding: 15px 10px 12px;
	position: relative;
	border-radius: 4px;
}

ul.orange li span.before {
	background: var(--before-orange);
	height: 100%;
	width: calc(var(--data-size)/512 * 100%);
	border-radius: 4px;
	z-index: 0;
}

/* GREEN COLOURS */
ul.green li {
	background: var(--after-green);
	color: #212121;
	line-height: 1;
	margin: 0 0 0.5rem 0;
	padding: 15px 10px 12px;
	position: relative;
	border-radius: 4px;
}

ul.green li span.before {
	background: var(--before-green);
	height: 100%;
	width: calc(var(--data-size)/512 * 100%);
	border-radius: 4px;
	z-index: 0;
}

ul li span.before,
ul li span.after {
	left: 0;
	position: absolute;
	top: 0;
}

ul li span.after {
	left: auto;
	opacity: 0.8;
	right: 10px;
	top: auto;
}

ul li a {
	font-weight: bold;
	position: relative;
	z-index: 2;
}

@media(max-width:500px) {
	body {
		margin: 0 0 4rem 0;
		padding: 0 10px;
	}
}

/* Format the accordion */
details {
	padding: .6rem 1rem;
	background: var(--accent);
	border: 1px solid;
	border-radius: 5px;
	margin-bottom: 1rem;
}

details.red-notice {
  background: var(--notice-red-bg);
  border-color: var(--notice-red-border);
}

.red-notice h2 {
  margin: 0;
}

summary {
	cursor: pointer;
	font-weight: bold;
}

details[open] {
	padding-bottom: .75rem;
}

details[open] summary {
	margin-bottom: .5rem;
}

details[open]>*:last-child {
	margin-bottom: 0;
}

img {
  max-width: 100%;
  display: block;
  margin: 0 auto;
}

.divrandom {
  margin: 2rem 0 4rem 0;
}

.random {
  background: var(--before-green);
}

.notice {
  margin: 0 auto 0 auto;
  max-width: 50em;
  width: 60%;
  border: 2px solid;
  padding: 1rem 1.5rem;
  background-color: var(--accent);
  text-align: center;
  word-wrap: break-word; /* Break long words into multiple lines */
  overflow-wrap: break-word; /* Ensure wrapping of long words */
  box-sizing: border-box; /* Ensure padding and border are considered in width */
}

/* section two */
.section-two{
	margin: 40px 0;
}

#f-img-1:hover,
#f-img-2:hover,
#f-img-3:hover,
#f-img-4:hover {
	transform: scale(1.05); /* zoom-in effect */
	transition: 0.4s;
}

/* zoom-in on mobile */
#f-img-1:active,
#f-img-2:active,
#f-img-3:active,
#f-img-4:active {
	transform: scale(1.2);
	transition: 0.1s; 
}


/* Leaderboard */
.leaderboard-terminal {
	background-color: #000000;
	color: #04AA6D; /* Bright green text */
	font-family: 'Courier New', monospace;
	padding: 1rem;
	border: 2px solid #04AA6D;
	border-radius: 8px;
	max-width: 600px;
	margin: auto;
	white-space: pre-line;
}

#leaderboard {
	width: 100%;
	border-collapse: collapse;
	padding: 5rem;
}

#leaderboard th, #leaderboard td {
	border: 1px solid #04AA6D;
	padding: 8px;
	text-align: center;
}

#leaderboard th {
	background-color: #333;
}