body {
	font-family: Tahoma, Verdana, sans-serif;
	font-size: 16px;
	line-height: 1.5;
	color: #111;
	background: linear-gradient(#111 1px, transparent 1px),
        linear-gradient(90deg,#111 1px,transparent 1px),
        #050505;
	background-size: 32px 32px;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
}

abbr {
	cursor: pointer;
	font-weight: 900;
}

a {
	color: #0055aa;
}

a:hover {
	color: #6b3f00;
}

.text-centre {
	text-align: center;
}

.body-wrapper {
	max-width: 1100px;
	width: 95%;
	margin: 0 auto;
}

.picheader {
	height: 250px;
	overflow: hidden;
}

.picheader img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

header nav {
	background: linear-gradient(#222, #000);
	border-top: 1px solid #444;
	border-bottom: 1px solid #666;
	overflow: hidden;
	padding: 0;
}

header nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
}

header nav li {
	margin: 0;
	border-right: 1px solid #333;
}

header nav li:last-child {
	border-right: none;
}

header nav a {
	display: block;
	padding: 10px 18px;
	color: #fff;
	text-decoration: none;
	font-weight: bold;
	font: bold 12px Tahoma, Verdana, sans-serif;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

header nav a:hover {
	background: linear-gradient(#bea451, #9b7f2e);
	color: #000;
}

header nav a:active {
	background: #7e6523;
	color: #fff;
}

article {
	margin: auto;
	padding-bottom: 12px;
	background: #e3c18f;
	border: 1px solid #000;
	box-sizing: border-box;
	font-size: 16px;
	line-height: 1.55;
	color: #222;
	text-align: left;
}

article p,
article ul,
article ol {
	margin: 0 auto;
	padding: 0.75rem 1rem;
}

article ul,
article ol {
	margin: 0 auto;
	padding-left: 2rem;
}

article li {
	margin-bottom: 0.35rem;
	line-height: 1.3;
}

.goals li {
	margin-left: 4%;
}

.goals li {
	list-style-image: url("../img/point-list.png") !important;
}

.title {
	margin: 0;
	padding: 6px 10px;
	background: linear-gradient(rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0)),
    linear-gradient(#333, #111);
	color: #fff;
	border-top: 1px solid #555;
	border-bottom: 2px solid #55c94f;
	box-shadow: 0 1px 0 #bea451;
	font: bold 11px Tahoma, Verdana, sans-serif;
	text-transform: uppercase;
}

.title::before {
	content: "";
	display: inline-block;
	width: 6px;
	height: 6px;
	margin-right: 8px;
	background: #bea451;
	border: 1px solid #e3cc7a;
	vertical-align: middle;
	box-shadow: 0 0 4px #bea451;
}

article h1,
article h2,
article h3,
article h4 {
	padding: 0 16px;
	margin: 1rem 0 0.5rem;
	line-height: 1.3;
}

main {
	float: left;
	width: 100%;
	box-sizing: border-box;
}

aside {
	display: none;
}

.with-sidebar main {
	width: 70%;
}

.with-sidebar aside {
	display: block;
	float: right;
	width: 28%;
}

aside article {
	margin-left: 10px;
}

footer {
	clear: both;
	margin-top: 10px;
}

#legal {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 8px 12px;
	background: linear-gradient(#222, #000);
	border-top: 1px solid #444;
	border-bottom: 2px solid #bea451;
	color: #ccc;
	font: 11px Tahoma, Verdana, sans-serif;
	min-height: 55px;
	box-sizing: border-box;
}

#legal .mini {
	flex: none;
	width: 45px;
	height: 45px;
	background: url("../img/footer-icon.png") no-repeat center;
	background-size: contain;
	filter: drop-shadow(1px 1px 0 #000) drop-shadow(0 0 2px #bea451);
}

.footer-text {
	line-height: 1.4;
}

.unique-list {
	list-style: none;
	padding: 0;
	margin: 0;
	width: 100%;
	box-sizing: border-box;
}

.unique-list li {
	padding: 8px 12px;
}

.unique-list li::before {
	content: "";
	display: inline-block;
	width: 6px;
	height: 6px;
	margin-right: 8px;
	background: black;
	border: 1px solid black;
	vertical-align: middle;
}

.unique-list::before {
	content: attr(data-title);
	display: block;
	padding: 10px 10px;
	font: bold 11px Tahoma, sans-serif;
	border-bottom: 1px solid #666;
}

/******** GACHA SECTION ************/

/*** PGR userbar ****/
#pgr-user-bar {
	width: 92%;
	margin-left: 10px;
	padding: 10px;
	background-image: url(../img/Gachapage/pgrbackground.png);
	background-position: 30% 50%;
	border-radius: 4px;
	box-shadow: 0 0 20px rgba(0, 0, 0, 0.7);
	overflow: hidden;
	color: #fff;
	position: relative;
}

/* dark transparent overlay */
#pgr-user-bar::before {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.45);
  /* adjust darkness here */
	pointer-events: none;
}

/* keep content above overlay */
#pgr-user-bar > * {
	position: relative;
	z-index: 1;
}

.pgravatar {
	float: left;
	position: relative;
	width: 90px;
	height: 90px;
}

.pgrphoto {
	position: absolute;
	top: 10px;
	left: 10px;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.pgrframe {
	position: absolute;
	inset: 0;
	width: 120%;
	height: 120%;
	pointer-events: none;
}

.pgr-info {
	margin-left: 105px;
  /* pushes text beside avatar */
	position: relative;
}

.pgr-info h2 {
	margin: 0 0 6px;
	font-size: 22px;
}

.pgr-info div {
	line-height: 1.4;
	margin-left: 3%;
}

.uid {
	margin-top: 6px;
	color: #ff7085;
	font-weight: bold;
}

.pgrtitle {
	width: 90px;
	vertical-align: middle;
}

.pgrtitle2 {
	width: 150px;
	vertical-align: middle;
}

.pgr-stats {
	float: right;
	text-align: right;
}

/** WuWa userbar **/

/*** PGR userbar ****/
#wuwa-user-bar {
	width: 92%;
	margin-left: 10px;
	padding: 10px;
	background-image: url(../img/Gachapage/wuwasigil.png);
	background-position: 30% 50%;
	border-radius: 4px;
	box-shadow: 0 0 20px rgba(0, 0, 0, 0.7);
	overflow: hidden;
	color: #fff;
	position: relative;
}

/* dark transparent overlay */
#wuwa-user-bar::before {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.45);
  /* adjust darkness here */
	pointer-events: none;
}

/* keep content above overlay */
#wuwa-user-bar > * {
	position: relative;
	z-index: 1;
}

/****** Nikke *********/
#nikke-user-bar {
	width: 92%;
	margin-left: 10px;
	padding: 10px;
	background-image: url(../img/Gachapage/niikebackground.png);
	background-position: 30% 60%;
	border-radius: 4px;
	box-shadow: 0 0 20px rgba(0, 0, 0, 0.7);
	overflow: hidden;
	color: #fff;
	position: relative;
}

/* dark transparent overlay */
#nikke-user-bar::before {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.45);
  /* adjust darkness here */
	pointer-events: none;
}

/* keep content above overlay */
#nikke-user-bar > * {
	position: relative;
	z-index: 1;
}

/*** Stream Schedule ***/

.container {
	max-width: 1100px;
	margin: auto;
	padding: 20px;
}

.schedule {
	overflow: hidden;
	margin-bottom: 30px;
}

table {
	width: 100%;
	border-collapse: collapse;
	margin: 1rem 0;
	background: transparent;
	border: 1px solid #444;
}

th {
	padding: 8px 12px;
	background: linear-gradient(rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0)),
    linear-gradient(#333, #111);
	color: #fff;
	font: bold 11px Tahoma, Verdana, sans-serif;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	text-shadow: 1px 1px #000;
	border-right: 1px solid #555;
}

th:last-child {
	border-right: none;
}

td {
	padding: 10px 12px;
	background: transparent;
	color: #222;
	text-align: center;
	border-right: 1px solid #222;
	border-bottom: 1px solid #222;
}

td:last-child,
th:last-child {
	border-right: none;
}

tbody tr:last-child td {
	border-bottom: none;
}

.stream-section {
	background: #1f1f1f;
	padding: 20px;
}

.player {
	display: flex;
	justify-content: center;
}

iframe {
	max-width: 100%;
}

/**** History Page ****/
section {
	width: 100%;
	box-sizing: border-box;
	font: 14px Tahoma, Verdana, sans-serif;
}

section > h2 {
	margin: 0;
	padding: 7px 10px;
	background: linear-gradient(rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0)),
    linear-gradient(#333, #111);
	font: bold 12px Tahoma, Verdana, sans-serif;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	border-top: 1px solid #555;
	border-bottom: 2px solid #bea451;
}

.scroll-section {
	max-height: 300px;
	overflow-y: hidden;
}

.scrolled {
	list-style: none;
	padding: 0;
	margin: 0;
	max-height: 220px;
}

.scrolled li {
	position: relative;
	padding: 9px 10px 9px 28px;
	border-bottom: 1px solid #333;
}

.scrolled li::before {
	content: "";
	position: absolute;
	left: 10px;
	top: 13px;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #4dbbff;
	border: 1px solid #9edcff;
	box-shadow: 0 0 4px #4dbbff;
}

.scrolled li::after {
	content: "";
	position: absolute;
	left: 13px;
	top: 21px;
	bottom: -8px;
	width: 2px;
	background: #444;
}

.scrolled li:last-child::after {
	display: none;
}

/*** FAQS ***/

fieldset {
	margin-top: 1%;
	margin-left: 1%;
	padding: 8px;
	border: 1px solid #91783d;
	-moz-border-radius: 5px;
	border-radius: 5px;
	text-align: justify;
	width: 95%;
}

legend {
	font-size: 1.2em;
	font-weight: bold;
	margin-left: 10px;
}

.social-links {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	padding: 10px 15px;
}

.social-links a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: #333;
	text-decoration: none;
	font: bold 12px Tahoma, Verdana, sans-serif;
}

.social-links a:hover {
	color: #2b1b06;
}

.social-links i {
	width: 18px;
	text-align: center;
	font-size: 16px;
}

/**** games list ****/

.game-list {
	padding: 10px 15px;
}

.game-item {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 6px 0;
	color: #0055aa;
	text-decoration: none;
	border-bottom: 1px solid #000000;
}

.game-item:last-child {
	border-bottom: none;
}

.game-item img {
	width: 45px;
	height: 45px;
	object-fit: cover;
	border: 1px solid #555;
	box-shadow: 1px 1px 0 #000;
}

.game-item strong {
	display: block;
	font: bold 12px Tahoma, Verdana, sans-serif;
	text-transform: uppercase;
}

.game-item span {
	display: block;
	margin-top: 3px;
	color: #666;
	font: 11px Tahoma, Verdana, sans-serif;
}

.game-item:hover strong {
	color: #6b3f00;
}

/**** Notes Link ****/

.resource-list {
	padding: 10px 15px;
}

.resource-item {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 6px 0;
	color: #0055aa;
	text-decoration: none;
	border-bottom: 1px solid #000000;
}

.resource-item:last-child {
	border-bottom: none;
}

.resource-item img {
	width: 24px;
	height: 24px;
	display: block;
	flex-shrink: 0;
	object-fit: contain;
	image-rendering: pixelated;
  /* Remove if your icons aren't pixel art */
}

.resource-item strong {
  display: block;

  font: bold 12px Tahoma, Verdana, sans-serif;
  text-transform: uppercase;
}

.resource-item span {
  display: block;

  margin-top: 3px;

  color: #666;

  font: 11px Tahoma, Verdana, sans-serif;
}

.resource-item:hover strong {
  color: #6b3f00;
}

/**** Notes Article *******/

.article-list::before {
  content: attr(data-title);
  display: block;
  padding-bottom: 0.2rem;
  font: bold 14px Tahoma, sans-serif;
}

.toc {
  top: 20px;
  box-shadow: inset 0 1px rgba(0, 0, 0, 0.2), 0 1px 2px rgba(0, 0, 0, 0.2);
}

.toc ul {
  margin: 5%;
  padding-left: 18px;
}

.toc li {
  margin: 5px 0;
}

.toc a {
  color: #0055aa;
  text-decoration: none;
}

.toc a:hover {
  color: #2b1b06;
  text-decoration: underline;
}

.article-wrapper {
  position: relative;
  width: 100%;
}

.article-scroll {
  flex: 1;
  max-height: 570px;
  overflow: hidden;
}

.history {
  overflow: hidden;
}

.highlight-text {
  background-image: linear-gradient(0deg, #f6bb2680 0.5em, transparent 0.5em);
  font-weight: bold;
}

/*** YouTube Modal ***/

.video-modal {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.75);
  z-index: 99999;
}

.video-window {
  width: 720px;
  max-width: 90%;

  position: absolute;
  top: 50%;
  left: 50%;

  transform: translate(-50%, -50%);

  background: #1a1a1a;

  border: 1px solid #444;
  border-top-color: #7aa8d8;

  box-shadow: 0 0 20px rgba(190, 164, 81, 0.5), inset 0 0 20px #000;
}

.video-title {
  height: 32px;
  line-height: 32px;

  padding: 0 10px;

  background: linear-gradient(#222, #000);

  color: white;

  font: bold 13px Tahoma, Arial;

  text-shadow: 1px 1px #000;
}

.close-button {
  float: right;

  cursor: pointer;

  color: #ccc;

  font-size: 18px;
}

.close-button:hover {
  color: white;
}

.player-frame {
  padding: 12px;

  background: #111;
}

.youtube-player {
  width: 100%;
  height: 405px;

  border: 1px solid #555;

  display: block;
}

.video-footer {
  padding: 8px 12px;

  background: #151515;

  color: #777;

  font: 11px Tahoma, Arial;

  border-top: 1px solid #333;
}

/**** Recent changes widget for home page ****/

.news-updates {
  list-style: none;
  margin: 0;
  padding: 0;
}

.news-updates li {
  padding: 7px 10px;
  border-bottom: 1px solid #000000;

  font: 11px Tahoma, Verdana, sans-serif;
  line-height: 1.4;
}

.news-updates li:last-child {
  border-bottom: none;
}

.news-updates .date {
  display: inline-block;
  width: 42px;

  color: #3c2509;
  font-weight: bold;
}

.news-updates a {
  color: #0055aa;
  text-decoration: none;
}

.news-updates a:hover {
  color: #3c2509;
  text-decoration: underline;
}

.news-updates li:hover {
  background: #e3c18f;
}

/** Image thumbnail **/

/** Image thumbnail **/

.gallery {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.shot {
  width: 220px;

  background: #1a1a1a;

  border: 1px solid #444;
  border-top-color: #555;

  cursor: pointer;

  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6), inset 0 0 10px #000;
}

.shot:hover {
  border-color: #555;
}

.shot img {
  display: block;

  width: 100%;
  height: 124px;

  object-fit: cover;

  border-bottom: 1px solid #333;
}

.info {
  padding: 6px 8px;
  color: white;
  background: transparent;
}

.title {
  color: #fff;

  font: bold 11px Tahoma, Arial;

  margin-bottom: 3px;

  text-shadow: 1px 1px #000;
}

.details {
  color: #555;

  font: 11px Tahoma, Arial;
}

/** Screenshot Viewer **/

#viewer {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.75);
  z-index: 99999;
}

#viewer.show {
  display: block;
}

.window {
  width: 900px;
  max-width: 90%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #1a1a1a;
  border: 1px solid #444;
  border-top-color: #7aa8d8;
  box-shadow: 0 0 20px rgba(190, 164, 81, 0.5), inset 0 0 20px #000;
}

/** Title Bar **/

.titlebar {
  height: 32px;
  line-height: 32px;
  padding: 0 10px;
  background: linear-gradient(#222, #000);
  color: white;
  font: bold 13px Tahoma, Arial;
  text-shadow: 1px 1px #000;
}

.titlebar button {
  float: right;
  margin-top: 7px;
  background: none;
  border: 0;
  color: #ccc;
  cursor: pointer;
  font: bold 14px Tahoma;
}

.titlebar button:hover {
  color: white;
}

/** Image Area **/

.content {
  padding: 12px;

  background: #111;
}

.content img {
  width: 100%;

  max-height: 650px;

  object-fit: contain;

  display: block;

  border: 1px solid #555;

  background: #000;
}

/*** Scroll Style **/

.custom-scroll-container {
  display: flex;
  height: 100%;
}

.custom-scrollbar {
  width: 16px;
  background: linear-gradient(90deg, #111, #222, #111);
  border-left: 1px solid #000;
  border-right: 1px solid #444;
  box-shadow: inset 1px 0 #333;
  display: flex;
  flex-direction: column;
}

.custom-scrollbar button {
  width: 16px;
  height: 16px;
  padding: 0;

  background: linear-gradient(#d8c77a, #bea451);

  border: 1px solid #5e5128;
  text-shadow: 1px 1px rgba(255, 255, 255, 0.4);

  box-shadow: inset 1px 1px #fff0a8, inset -1px -1px #6d5d2c;

  color: #17130a;
  font-size: 10px;
  line-height: 10px;
}

.custom-scrollbar button:active {
  background: linear-gradient(#9b8338, #bea451);

  box-shadow: inset 1px 1px #6d5d2c;
}

/* empty scrollbar track */
.scroll-track {
  flex: 1;

  position: relative;

  background: linear-gradient(90deg, #0b0b0b, #292929, #0b0b0b);

  border-left: 1px solid #333;
}

/* draggable bar */
.scroll-thumb {
  position: absolute;

  left: 0;
  top: 0;

  width: 14px;

  background: linear-gradient(#e5d68a, #bea451);

  border: 1px solid #5e5128;

  box-shadow: inset 1px 1px #fff4b8, inset -1px -1px #756128,
    0 0 4px rgba(190, 164, 81, 0.5);

  cursor: grab;
}

.scroll-thumb:hover {
  background: linear-gradient(#f0df94, #c7aa50);
}

.scroll-thumb:active {
  cursor: grabbing;

  background: linear-gradient(#bea451, #8f772f);

  box-shadow: inset 1px 1px #756128, inset -1px -1px #e8d991;
}

/*** Browsers Scroll Bar **/

/* Chrome / Edge / Safari / Opera */

::-webkit-scrollbar {
  width: 16px;
  height: 16px;
}

::-webkit-scrollbar-track {
  background: linear-gradient(90deg, #0b0b0b, #222, #0b0b0b);

  border-left: 1px solid #000;
}

::-webkit-scrollbar-thumb {
  background: linear-gradient(#e5d68a, #bea451);

  border: 1px solid #5e5128;

  box-shadow: inset 1px 1px #fff4b8, inset -1px -1px #756128;
}

::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(#f0df94, #c7aa50);
}

::-webkit-scrollbar-thumb:active {
  background: linear-gradient(#bea451, #8f772f);
}

::-webkit-scrollbar-button {
  height: 16px;
  width: 16px;

  background: linear-gradient(#d8c77a, #bea451);

  border: 1px solid #5e5128;
}

/* Firefox */

* {
  scrollbar-width: thin;

  scrollbar-color: #bea451 #111;
}

/** Blockquote **/

.otro-blockquote {
  font-size: 16px;
  width: 80%;
  font-style: italic;
  background: #e3c18f;
  color: #3d2b12;
  padding-top: 1em;
  padding-left: 6%;
  padding-right: 1.2em;
  border-left: 8px solid #bea451;
  line-height: 1.5;
  position: relative;
}

.otro-blockquote::before {
  font-family: Arial;
  content: "\201C";
  color: #2b1b06;
  font-size: 4em;
  position: absolute;
  left: 10px;
  top: -10px;
}

.otro-blockquote::after {
  content: "";
}

.otro-blockquote span {
  display: block;
  color: #333333;
  font-style: normal;
  font-weight: bold;
  margin-top: 1em;
}

/** mini table **/
.left-header-table {
  display: inline-table;
  width: auto;
  border-collapse: separate;
  border-spacing: 0;
  margin: 0.75rem 0 1rem;
  border: 1px solid #8f6d36;
  border-radius: 6px;
  overflow: hidden;
  font-size: 0.95rem;
}

.left-header-table caption {
  caption-side: top;
  text-align: left;
  font-weight: 600;
  margin-bottom: 0.35rem;
  padding-left: 2px;
}

.left-header-table th,
.left-header-table td {
  padding: 0.4rem 0.75rem;
}

.left-header-table tr:last-child th,
.left-header-table tr:last-child td {
  border-bottom: 0;
}

.left-header-table th {
  text-align: left;
  white-space: nowrap;
  font-weight: 600;
}

.mini-table {
  margin: 1rem 0 1rem 1rem; /* indent from the left */
}