/*
 * ArcaneVeil 1.0.0
 * phpBB 3.3.17 child style of prosilver
 *
 * Visual direction: midnight archive, violet arcana, antique silver/gold trim.
 * ArcaneVeil intentionally loads prosilver first and overrides it here.
 */

:root {
	--av-bg-0: #02050b;
	--av-bg-1: #050a13;
	--av-bg-2: #08111d;
	--av-bg-3: #0b1422;
	--av-bg-4: #101929;
	--av-panel: rgba(7, 14, 24, 0.94);
	--av-panel-soft: rgba(11, 19, 32, 0.92);
	--av-panel-hover: rgba(18, 25, 43, 0.96);
	--av-line: #46506a;
	--av-line-soft: rgba(121, 126, 153, 0.30);
	--av-line-faint: rgba(121, 126, 153, 0.16);
	--av-text: #bcc1ce;
	--av-text-soft: #949baa;
	--av-text-dim: #727b8d;
	--av-heading: #d4cec4;
	--av-gold: #c2b49a;
	--av-gold-dim: #8f846f;
	--av-lilac: #c5a8ff;
	--av-violet: #9a72e8;
	--av-violet-deep: #6040a9;
	--av-violet-dark: #2b1f55;
	--av-green: #82b574;
	--av-red: #ce6f7e;
	--av-shadow: rgba(0, 0, 0, 0.78);
	--av-glow: rgba(142, 96, 238, 0.32);
	--av-radius: 2px;
	--av-serif: Georgia, "Times New Roman", Times, serif;
	--av-sans: Arial, Helvetica, sans-serif;
}

/* ---------- Page / atmosphere ---------- */

html {
	background: var(--av-bg-0);
}

body,
#phpbb {
	color: var(--av-text);
	font-family: var(--av-sans);
	background:
		radial-gradient(circle at 18% 4%, rgba(77, 44, 139, 0.15) 0, rgba(77, 44, 139, 0) 25%),
		radial-gradient(circle at 87% 20%, rgba(50, 40, 115, 0.16) 0, rgba(50, 40, 115, 0) 28%),
		linear-gradient(180deg, #030611 0%, #02050b 56%, #010307 100%);
	background-attachment: fixed;
}

body::before {
	content: "";
	position: fixed;
	inset: 0;
	z-index: -1;
	pointer-events: none;
	opacity: 0.38;
	background-image:
		radial-gradient(circle, rgba(216, 212, 255, .75) 0 1px, transparent 1.2px),
		radial-gradient(circle, rgba(166, 130, 255, .42) 0 1px, transparent 1.25px);
	background-size: 93px 93px, 137px 137px;
	background-position: 19px 13px, 61px 77px;
}

.arcane-wrap,
#wrap {
	box-sizing: border-box;
	display: grid;
	grid-template-columns: minmax(0, 1fr) 258px;
	grid-template-rows: auto auto auto;
	column-gap: 22px;
	width: calc(100% - 24px);
	max-width: 1680px;
	min-width: 0;
	margin: 16px auto 0;
	padding: 0 20px 28px;
	background:
		linear-gradient(180deg, rgba(7, 13, 24, .91), rgba(2, 7, 13, .97)),
		radial-gradient(circle at 50% 0, rgba(90, 58, 167, .09), transparent 42%);
	border: 1px solid rgba(114, 123, 153, .46);
	box-shadow:
		0 22px 70px rgba(0, 0, 0, .62),
		inset 0 0 55px rgba(0, 0, 0, .34);
}

.arcane-page-header,
#page-header {
	grid-column: 1 / -1;
	grid-row: 1;
	position: relative;
	min-width: 0;
	margin: 0 -20px 18px;
}

.arcane-page-body,
#page-body {
	grid-column: 1;
	grid-row: 2;
	min-width: 0;
	margin: 0;
	padding: 0;
}

.arcane-sidebar {
	grid-column: 2;
	grid-row: 2;
	align-self: start;
	min-width: 0;
}

/* ---------- Hero ---------- */

.headerbar.arcane-headerbar,
.headerbar {
	position: relative;
	overflow: hidden;
	min-height: 196px;
	margin: 0;
	padding: 0;
	border-radius: 0;
	border: 0;
	border-bottom: 1px solid rgba(120, 125, 155, .35);
	color: var(--av-heading);
	background:
		radial-gradient(circle at 67% 30%, rgba(203, 207, 255, .86) 0 1.1%, rgba(95, 109, 200, .42) 1.2% 4.3%, rgba(29, 35, 91, .38) 4.4% 7.6%, transparent 7.8%),
		radial-gradient(ellipse at 25% 20%, rgba(91, 49, 164, .38) 0, rgba(37, 30, 99, .19) 17%, transparent 41%),
		radial-gradient(ellipse at 82% 17%, rgba(115, 70, 205, .33) 0, rgba(38, 31, 104, .19) 19%, transparent 43%),
		linear-gradient(180deg, rgba(5, 9, 25, .90) 0%, rgba(6, 10, 30, .73) 46%, rgba(4, 7, 19, .94) 100%);
	box-shadow: inset 0 -24px 44px rgba(0, 0, 0, .54);
}

.headerbar.arcane-headerbar::before {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	opacity: .82;
	background-image:
		radial-gradient(circle, rgba(255, 255, 255, .90) 0 1px, transparent 1.2px),
		radial-gradient(circle, rgba(181, 160, 255, .78) 0 1px, transparent 1.35px),
		radial-gradient(ellipse at 31% 0%, rgba(74, 43, 134, .30), transparent 33%),
		radial-gradient(ellipse at 76% 8%, rgba(85, 52, 160, .30), transparent 29%);
	background-size: 71px 71px, 111px 111px, auto, auto;
	background-position: 12px 18px, 47px 63px, 0 0, 0 0;
}

.headerbar.arcane-headerbar::after {
	content: "";
	position: absolute;
	right: 3%;
	bottom: -1px;
	width: 39%;
	height: 116px;
	pointer-events: none;
	opacity: .78;
	background:
		linear-gradient(180deg, rgba(77, 43, 148, .88), rgba(9, 10, 29, .98));
	clip-path: polygon(
		0% 100%, 0% 82%, 5% 82%, 5% 73%, 8% 73%, 8% 57%, 10% 57%, 10% 76%,
		16% 76%, 16% 63%, 19% 63%, 19% 37%, 21% 37%, 22% 19%, 23% 37%, 25% 37%, 25% 69%,
		31% 69%, 31% 51%, 34% 51%, 35% 25%, 36% 51%, 40% 51%, 40% 70%,
		45% 70%, 45% 57%, 49% 57%, 49% 31%, 51% 31%, 52% 8%, 53% 31%, 55% 31%, 55% 63%,
		61% 63%, 61% 51%, 65% 51%, 65% 25%, 67% 25%, 68% 43%, 70% 43%, 70% 68%,
		76% 68%, 76% 55%, 80% 55%, 80% 36%, 82% 36%, 83% 19%, 84% 36%, 86% 36%, 86% 71%,
		92% 71%, 92% 61%, 96% 61%, 96% 76%, 100% 76%, 100% 100%
	);
	filter: drop-shadow(0 -5px 11px rgba(102, 57, 190, .38));
}

.arcane-hero-inner {
	position: relative;
	z-index: 2;
	min-height: 196px;
}

.arcane-site-description,
#site-description {
	box-sizing: border-box;
	float: none;
	width: 100%;
	margin: 0;
	padding: 65px 20px 30px;
	text-align: center;
}

.arcane-site-description h1,
#site-description h1 {
	float: none;
	margin: 0;
	padding: 0;
	color: var(--av-heading);
	font-family: var(--av-serif);
	font-size: 44px;
	font-weight: normal;
	line-height: 1.08;
	letter-spacing: .095em;
	text-shadow: 0 2px 2px #000, 0 0 18px rgba(96, 80, 166, .24);
}

.arcane-site-description > p:not(.skiplink),
#site-description > p:not(.skiplink) {
	margin: 11px 0 0;
	color: #d0d1d9;
	font-family: var(--av-serif);
	font-size: 13px;
	font-weight: normal;
	line-height: 1.5;
	text-shadow: 0 1px 2px #000;
}

.arcane-logo-link,
#logo.arcane-logo-link {
	position: absolute;
	left: 50%;
	top: 14px;
	float: none;
	width: 32px;
	height: 32px;
	margin: 0 0 0 -16px;
	padding: 0;
	background: none;
	border: 0;
	z-index: 4;
}

.arcane-sigil-mark {
	display: block;
	box-sizing: border-box;
	width: 24px;
	height: 24px;
	margin: 4px;
	border: 1px solid rgba(195, 181, 224, .75);
	transform: rotate(45deg);
	box-shadow: 0 0 12px var(--av-glow), inset 0 0 8px rgba(148, 95, 235, .55);
}

.arcane-sigil-mark::before,
.arcane-sigil-mark::after {
	content: "";
	position: absolute;
	inset: 5px;
	border: 1px solid rgba(165, 118, 238, .72);
}

.arcane-sigil-mark::after {
	inset: 9px;
	background: var(--av-lilac);
	box-shadow: 0 0 10px var(--av-violet);
}

.search-header {
	display: none;
}

/* ---------- Header navigation / breadcrumbs ---------- */

#page-header > .navbar {
	position: relative;
	margin: 0;
	padding: 0;
	border-radius: 0;
	border: 0;
	background: rgba(4, 9, 16, .97);
	box-shadow: inset 0 1px rgba(255,255,255,.018), inset 0 -1px rgba(0,0,0,.65);
}

#page-header > .navbar > .inner {
	padding: 0;
}

#nav-main {
	box-sizing: border-box;
	position: absolute;
	z-index: 8;
	left: 0;
	right: 0;
	top: -196px;
	min-height: 42px;
	margin: 0;
	padding: 7px 22px;
	background: rgba(2, 5, 13, .73);
	border-bottom: 1px solid rgba(147, 132, 177, .22);
	backdrop-filter: blur(3px);
}

#nav-breadcrumbs {
	box-sizing: border-box;
	min-height: 42px;
	margin: 0;
	padding: 9px 18px;
	border-top: 1px solid rgba(164, 142, 197, .10);
	border-bottom: 1px solid rgba(127, 138, 169, .34);
	background: linear-gradient(180deg, rgba(10, 18, 31, .98), rgba(5, 10, 18, .98));
}

#nav-main a,
#nav-breadcrumbs a,
.navbar a {
	color: #c4afe9;
	text-decoration: none;
	text-shadow: 0 1px 1px #000;
}

#nav-main a:hover,
#nav-breadcrumbs a:hover,
.navbar a:hover {
	color: #eee7ff;
}

#nav-main .icon,
#nav-breadcrumbs .icon,
.navbar .icon {
	color: var(--av-gold);
}

#nav-main > li,
#nav-main > li.rightside {
	border-color: rgba(145, 130, 173, .18);
}

.breadcrumbs .crumb::before,
.breadcrumbs .crumb a::before {
	color: var(--av-gold-dim);
}

/* ---------- Sidebar ---------- */

.arcane-card {
	position: relative;
	box-sizing: border-box;
	margin: 0 0 14px;
	padding: 14px 14px 16px;
	background:
		linear-gradient(180deg, rgba(11, 19, 32, .97), rgba(5, 11, 19, .98));
	border: 1px solid rgba(105, 115, 145, .52);
	box-shadow:
		inset 0 0 0 4px rgba(5, 9, 17, .68),
		inset 0 0 0 5px rgba(126, 117, 145, .14),
		0 12px 28px rgba(0,0,0,.23);
}

.arcane-card::before,
.arcane-card::after {
	content: "";
	position: absolute;
	width: 18px;
	height: 18px;
	pointer-events: none;
	border-color: rgba(157, 139, 185, .42);
}

.arcane-card::before {
	left: 5px;
	top: 5px;
	border-left: 1px solid;
	border-top: 1px solid;
}

.arcane-card::after {
	right: 5px;
	bottom: 5px;
	border-right: 1px solid;
	border-bottom: 1px solid;
}

.arcane-card h2,
.arcane-card h3 {
	margin: 2px 0 0;
	padding: 0;
	color: var(--av-heading);
	font-family: var(--av-serif);
	font-size: 17px;
	font-weight: normal;
	line-height: 1.25;
	letter-spacing: .055em;
	text-transform: uppercase;
	text-align: center;
}

.arcane-card h3 {
	font-size: 12px;
	text-align: left;
	letter-spacing: .07em;
}

.arcane-card-rule {
	position: relative;
	height: 1px;
	margin: 8px 0 12px;
	background: linear-gradient(90deg, transparent, rgba(170, 157, 187, .48), transparent);
}

.arcane-card-rule span {
	position: absolute;
	left: 50%;
	top: -3px;
	width: 7px;
	height: 7px;
	margin-left: -4px;
	background: #171026;
	border: 1px solid var(--av-violet);
	transform: rotate(45deg);
}

.arcane-avatar {
	position: relative;
	display: block;
	box-sizing: border-box;
	width: 98px;
	height: 98px;
	margin: 8px auto 12px;
	padding: 11px;
	border-radius: 50%;
	border: 1px solid rgba(164, 143, 198, .65);
	background:
		repeating-conic-gradient(from 0deg, rgba(168, 128, 239, .30) 0 6deg, transparent 6deg 18deg),
		radial-gradient(circle, rgba(116, 74, 195, .38) 0 23%, rgba(11, 15, 31, .95) 24% 61%, rgba(67, 48, 105, .45) 62% 64%, rgba(5, 10, 18, 1) 65%);
	box-shadow: 0 0 21px rgba(117, 70, 198, .25), inset 0 0 18px rgba(116, 70, 198, .20);
	text-align: center;
}

.arcane-avatar::before,
.arcane-avatar::after {
	content: "";
	position: absolute;
	inset: 7px;
	border: 1px solid rgba(164, 142, 211, .42);
	border-radius: 50%;
}

.arcane-avatar::after {
	inset: 17px;
	border-style: dashed;
	transform: rotate(22deg);
}

.arcane-avatar img,
.arcane-avatar .avatar {
	position: relative;
	z-index: 2;
	width: 72px !important;
	height: 72px !important;
	max-width: 72px !important;
	object-fit: cover;
	border-radius: 50%;
	border: 1px solid rgba(196, 170, 241, .72);
	box-shadow: 0 0 12px rgba(126, 81, 211, .35);
}

.arcane-avatar-placeholder {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 72px;
	height: 72px;
	margin: 1px auto;
	border-radius: 50%;
	background: radial-gradient(circle, #aa86f5 0 4%, #573b9b 5% 18%, #11182a 19% 100%);
	box-shadow: inset 0 0 16px rgba(177, 132, 255, .35), 0 0 16px rgba(120, 72, 208, .28);
}

.arcane-avatar-placeholder .icon {
	font-size: 23px;
	color: #ded0ff;
}

.arcane-welcome {
	margin: 0;
	color: var(--av-text);
	font-size: 13px;
	line-height: 1.45;
	text-align: center;
}

.arcane-welcome strong,
.arcane-welcome a {
	color: var(--av-lilac);
	font-weight: normal;
}

.arcane-motto {
	margin: 5px 0 11px;
	color: #aeb3c2;
	font-family: var(--av-serif);
	font-size: 13px;
	font-style: italic;
	line-height: 1.5;
	text-align: center;
}

.arcane-card-links {
	display: grid;
	gap: 3px;
}

.arcane-card-links a {
	display: block;
	padding: 6px 7px;
	color: #bca7e6;
	font-size: 11px;
	text-decoration: none;
	border-top: 1px solid rgba(128, 117, 153, .12);
}

.arcane-card-links a:hover {
	color: #eee7ff;
	background: rgba(109, 72, 173, .10);
}

.arcane-card-links a .icon {
	width: 18px;
	margin-right: 7px;
	color: var(--av-gold-dim);
}

.arcane-stats {
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: 12px;
	line-height: 1.35;
}

.arcane-stats li {
	padding: 2px 0;
	color: var(--av-text-soft);
}

.arcane-newest {
	margin: 10px 0 0;
	padding-top: 9px;
	border-top: 1px solid rgba(128, 117, 153, .20);
	color: var(--av-lilac);
	font-size: 11px;
	line-height: 1.45;
}

.arcane-newest span {
	color: var(--av-text-dim);
	text-transform: uppercase;
	font-size: 9px;
	letter-spacing: .08em;
}

/* ---------- Global typography / links ---------- */

a,
a:link,
a:visited,
a.forumtitle,
a.topictitle,
.postlink {
	color: #bfa3f0;
}

a:hover,
a:focus,
a.forumtitle:hover,
a.topictitle:hover,
.postlink:hover {
	color: #eee6ff;
	text-decoration: none;
}

h1,
h2,
h3,
h4,
.content h2,
.panel h2,
.postbody h3,
.ucp-title,
.mcp-title {
	color: var(--av-heading);
	font-family: var(--av-serif);
	font-weight: normal;
}

hr,
hr.dashed {
	border-color: rgba(135, 128, 153, .23);
}

/* ---------- Forum/category blocks ---------- */

.forabg,
.forumbg {
	position: relative;
	margin: 0 0 17px;
	padding: 6px;
	border: 1px solid rgba(112, 120, 147, .52);
	border-radius: var(--av-radius);
	background: linear-gradient(180deg, rgba(11, 18, 30, .98), rgba(5, 11, 19, .98));
	box-shadow:
		inset 0 0 0 4px rgba(3, 7, 13, .58),
		0 11px 28px rgba(0,0,0,.18);
}

.forabg::before,
.forumbg::before {
	content: "";
	position: absolute;
	left: 9px;
	right: 9px;
	top: 37px;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(156, 139, 184, .36), transparent);
	pointer-events: none;
}

.forabg .inner,
.forumbg .inner {
	margin: 0;
}

ul.topiclist {
	background: transparent;
}

ul.topiclist li.header {
	padding: 7px 11px 9px;
	background: transparent;
	color: var(--av-heading);
}

ul.topiclist li.header dt,
ul.topiclist li.header dd {
	color: var(--av-heading);
	font-family: var(--av-serif);
	font-size: 12px;
	font-weight: normal;
	letter-spacing: .045em;
	text-transform: uppercase;
}

ul.topiclist li.row {
	position: relative;
	margin: 0;
	border-top: 1px solid rgba(121, 128, 154, .24);
	border-bottom: 0;
	background: linear-gradient(90deg, rgba(7, 14, 24, .96), rgba(10, 17, 29, .92));
	transition: background .16s ease, box-shadow .16s ease;
}

ul.topiclist li.row:hover {
	background: linear-gradient(90deg, rgba(13, 20, 34, .98), rgba(15, 21, 38, .96));
	box-shadow: inset 3px 0 rgba(142, 96, 220, .22);
}

ul.topiclist li.row dl {
	border-color: rgba(123, 128, 153, .22);
}

ul.topiclist li.row dt,
ul.topiclist li.row dd {
	border-color: rgba(123, 128, 153, .20);
}

.forumtitle,
a.forumtitle {
	font-family: var(--av-serif);
	font-size: 17px;
	font-weight: normal;
	letter-spacing: .01em;
}

a.topictitle {
	font-family: var(--av-serif);
	font-size: 14px;
	font-weight: normal;
}

.topiclist .forum-description,
.topiclist .responsive-show,
.topiclist dfn,
.topiclist .lastpost,
.topiclist .topics,
.topiclist .posts,
.topiclist .views,
.topiclist .redirect {
	color: var(--av-text-soft);
}

.topiclist .lastpost a {
	color: #c7a7f5;
}

/* Arcane forum sigil replacing prosilver's stock forum folder image. */
ul.topiclist.forums dl.icon {
	background-image: none !important;
}

ul.topiclist.forums li.row::before {
	content: "";
	position: absolute;
	z-index: 2;
	left: 18px;
	top: 50%;
	width: 42px;
	height: 42px;
	margin-top: -22px;
	border-radius: 50%;
	border: 1px solid rgba(159, 139, 201, .58);
	background:
		repeating-conic-gradient(from 0deg, rgba(179, 145, 245, .28) 0 7deg, transparent 7deg 23deg),
		radial-gradient(circle, #d4c1ff 0 3%, #8c62dd 4% 9%, #2f2057 10% 24%, #0a1120 25% 58%, #4d3b72 59% 61%, #07101a 62%);
	box-shadow: 0 0 12px rgba(121, 78, 207, .24), inset 0 0 10px rgba(148, 97, 230, .18);
}

ul.topiclist.forums li.row:hover::before,
ul.topiclist.forums li.row.forum_unread::before,
ul.topiclist.forums li.row.forum_unread_subforum::before {
	box-shadow: 0 0 18px rgba(145, 91, 236, .48), inset 0 0 11px rgba(165, 112, 241, .28);
}

ul.topiclist.forums li.row dl.icon dt {
	padding-left: 60px;
}

/* Topic status icons: retain layout but harmonise the image treatment. */
ul.topiclist.topics dl.icon {
	background-color: rgba(82, 55, 127, .08);
	background-blend-mode: luminosity;
}

/* ---------- Panels / information blocks ---------- */

.panel,
.bg1,
.bg2,
.bg3,
.post,
.rules,
.message-box textarea {
	color: var(--av-text);
}

.panel,
.bg3 {
	margin-bottom: 14px;
	padding: 12px 14px;
	border: 1px solid rgba(113, 121, 149, .34);
	border-radius: var(--av-radius);
	background: linear-gradient(180deg, rgba(11, 19, 32, .95), rgba(7, 13, 23, .97));
	box-shadow: inset 0 1px rgba(255,255,255,.018);
}

.bg1 {
	background-color: rgba(8, 15, 26, .97);
}

.bg2 {
	background-color: rgba(11, 18, 31, .97);
}

.bg3 {
	background-color: rgba(10, 16, 28, .98);
}

.rules {
	border: 1px solid rgba(167, 119, 145, .38);
	background: rgba(62, 25, 46, .25);
}

.rules .inner,
.rules a {
	color: #e0b3c6;
}

/* ---------- Topic posts ---------- */

.post {
	position: relative;
	margin: 0 0 14px;
	padding: 12px;
	border: 1px solid rgba(111, 119, 147, .40);
	border-radius: var(--av-radius);
	background: linear-gradient(100deg, rgba(8, 15, 26, .98), rgba(11, 17, 30, .97));
	box-shadow: 0 9px 22px rgba(0,0,0,.16), inset 0 1px rgba(255,255,255,.015);
}

.post:nth-of-type(even),
.post.bg2 {
	background: linear-gradient(100deg, rgba(10, 17, 29, .98), rgba(13, 20, 34, .97));
}

.postbody {
	color: var(--av-text);
}

.postbody h3 {
	margin-bottom: 8px;
	color: #d8d0c5;
	font-size: 17px;
	border-bottom: 1px solid rgba(129, 123, 145, .20);
	padding-bottom: 6px;
}

.postbody .content {
	color: #c3c7d1;
	font-family: var(--av-sans);
	font-size: 13px;
	line-height: 1.62;
}

.postprofile {
	color: var(--av-text-soft);
	border-color: rgba(128, 116, 157, .28);
}

.postprofile strong,
.postprofile a,
.postprofile dt a {
	color: #c6a9f5;
}

.postprofile .avatar {
	border: 1px solid rgba(156, 127, 202, .48);
	box-shadow: 0 0 12px rgba(98, 60, 165, .18);
}

.online {
	background-image: none;
}

.online::after {
	content: "ONLINE";
	position: absolute;
	top: 4px;
	right: 4px;
	padding: 2px 5px;
	color: #a7d79d;
	font-size: 8px;
	letter-spacing: .08em;
	border: 1px solid rgba(108, 154, 101, .38);
	background: rgba(34, 65, 34, .40);
}

.signature {
	border-color: rgba(132, 125, 150, .20);
	color: var(--av-text-dim);
}

.posthilit {
	color: #f3e9ff;
	background-color: #57398e;
}

/* ---------- Quotes / code / attachments ---------- */

blockquote,
blockquote blockquote,
.codebox,
.attachbox {
	color: var(--av-text);
	border: 1px solid rgba(116, 111, 144, .34);
	border-radius: var(--av-radius);
	background: rgba(3, 8, 15, .72);
}

blockquote {
	border-left: 3px solid rgba(126, 87, 191, .68);
}

blockquote cite,
.codebox p,
.attachbox dt {
	color: var(--av-heading);
	font-family: var(--av-serif);
}

.codebox code {
	color: #c5c9d4;
	background: transparent;
}

.attachbox dd,
.attachbox p {
	border-color: rgba(126, 121, 148, .20);
}

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

.button,
.button1,
.button2,
input.button1,
input.button2,
a.button1,
a.button2 {
	box-sizing: border-box;
	min-height: 28px;
	padding: 4px 10px;
	color: #d9cff0;
	font-family: var(--av-sans);
	font-size: 11px;
	font-weight: normal;
	text-shadow: 0 1px 1px #000;
	border: 1px solid rgba(131, 110, 165, .62);
	border-radius: 2px;
	background: linear-gradient(180deg, #171f31, #0b111d);
	box-shadow: inset 0 1px rgba(255,255,255,.035), 0 1px 2px rgba(0,0,0,.45);
}

.button:hover,
.button:focus,
.button1:hover,
.button1:focus,
.button2:hover,
.button2:focus,
input.button1:hover,
input.button2:hover {
	color: #fff;
	border-color: #9d78db;
	background: linear-gradient(180deg, #25233e, #121424);
	box-shadow: 0 0 10px rgba(113, 72, 181, .19), inset 0 1px rgba(255,255,255,.05);
}

.button .icon,
.button1 .icon,
.button2 .icon {
	color: var(--av-gold);
}

.inputbox,
input.inputbox,
textarea.inputbox,
select,
select.inputbox {
	box-sizing: border-box;
	color: #d1d5df;
	border: 1px solid rgba(111, 119, 148, .56);
	border-radius: 2px;
	background-color: #070d17;
	box-shadow: inset 0 1px 5px rgba(0,0,0,.38);
}

.inputbox:hover,
select:hover {
	border-color: rgba(145, 113, 196, .72);
}

.inputbox:focus,
select:focus,
textarea:focus {
	color: #f1eef7;
	border-color: #9b76d8;
	background-color: #09101b;
	box-shadow: 0 0 0 2px rgba(112, 72, 181, .13), inset 0 1px 5px rgba(0,0,0,.30);
}

label,
dd label,
fieldset dl:hover dt label {
	color: var(--av-text);
}

fieldset dl {
	border-color: rgba(125, 119, 147, .18);
}

/* ---------- Search / results / tables ---------- */

.table1,
table.table1 {
	color: var(--av-text);
	background: rgba(6, 12, 21, .74);
	border-collapse: separate;
	border-spacing: 0;
	border: 1px solid rgba(112, 119, 146, .28);
}

.table1 thead th,
table.table1 thead th {
	color: var(--av-heading);
	font-family: var(--av-serif);
	font-weight: normal;
	background: rgba(16, 22, 37, .95);
	border-color: rgba(126, 122, 147, .22);
}

.table1 tbody td,
table.table1 tbody td {
	color: var(--av-text);
	border-color: rgba(126, 122, 147, .17);
}

.table1 tbody tr:hover,
table.table1 tbody tr:hover {
	background: rgba(92, 64, 137, .09);
}

/* ---------- Pagination / action bars ---------- */

.action-bar,
.pagination,
.pagination > ul {
	color: var(--av-text-soft);
}

.pagination li a,
.pagination li span,
.pagination li.active span,
.pagination li.ellipsis span {
	color: #c1b0de;
	border: 1px solid rgba(108, 107, 137, .42);
	background: #080e19;
}

.pagination li a:hover,
.pagination li.active span {
	color: #fff;
	border-color: #8f6bc8;
	background: #2c2148;
}

/* ---------- Tabs, UCP, MCP ---------- */

.tabs .tab > a,
.minitabs .tab > a,
.navigation a {
	color: #bda7e8;
	border-color: rgba(116, 110, 144, .28);
	background: #09101b;
}

.tabs .activetab > a,
.tabs .activetab > a:hover,
.minitabs .activetab > a,
.navigation a:hover,
.navigation .active-subsection a {
	color: #f0eaff;
	border-color: rgba(145, 113, 198, .62);
	background: #1b1830;
	box-shadow: inset 3px 0 rgba(157, 112, 231, .48);
}

#cp-menu,
.cp-menu,
#cp-main {
	color: var(--av-text);
}

#cp-menu .panel,
#cp-main .panel {
	background: rgba(8, 15, 26, .96);
}

#navigation a {
	padding-top: 6px;
	padding-bottom: 6px;
}

.pm_marked_colour,
.pm_replied_colour,
.pm_friend_colour,
.pm_foe_colour {
	border-color: rgba(142, 112, 188, .45);
}

/* ---------- Dropdowns / notifications ---------- */

.dropdown,
.dropdown-contents,
.dropdown-extended,
.notification_list .bg2,
.notification_list .bg3 {
	color: var(--av-text);
	border-color: rgba(111, 117, 145, .56);
	background: #080f1a;
	box-shadow: 0 12px 32px rgba(0,0,0,.52);
}

.dropdown .pointer-inner {
	border-bottom-color: #080f1a;
}

.dropdown .pointer {
	border-bottom-color: rgba(111, 117, 145, .56);
}

.dropdown-contents li,
.notification_list li {
	border-color: rgba(117, 116, 143, .18);
}

.dropdown-contents a,
.notification_list a {
	color: #c2a9ee;
}

.dropdown-contents a:hover,
.notification_list a:hover {
	color: #f3ecff;
	background: rgba(106, 70, 168, .12);
}

.badge {
	color: #fff;
	background: #744ab3;
}

/* ---------- Misc phpBB widgets ---------- */

.stat-block h3,
.headerspace h3,
.panel h3,
.faq h2,
.faq h3 {
	color: var(--av-heading);
	font-family: var(--av-serif);
	font-weight: normal;
	border-bottom-color: rgba(126, 123, 145, .28);
}

.stat-block p,
.stat-block .stat-block,
#online-list,
.birthday-list,
.statistics {
	color: var(--av-text-soft);
}

.jumpbox-cat-link,
.jumpbox-forum-link {
	color: #c0aae9;
	border-color: rgba(115, 112, 141, .28);
	background: #09111e;
}

.jumpbox-cat-link:hover,
.jumpbox-forum-link:hover {
	color: #fff;
	background: #19172b;
}

/* ---------- Footer ---------- */

#page-footer,
.page-footer {
	box-sizing: border-box;
	grid-column: 1 / -1;
	grid-row: 3;
	width: auto;
	max-width: none;
	margin: 18px -20px -28px;
	padding: 0 20px 18px;
	color: var(--av-text-soft);
	background:
		radial-gradient(circle at 50% 100%, rgba(79, 47, 139, .15), transparent 29%),
		linear-gradient(180deg, rgba(6, 12, 22, .98), rgba(3, 7, 13, .99));
	border-top: 1px solid rgba(114, 123, 153, .40);
	box-shadow: inset 0 15px 30px rgba(0,0,0,.13);
}

#page-footer .navbar {
	margin: 0 -20px 18px;
	padding: 8px 18px;
	border-radius: 0;
	border-top: 1px solid rgba(116, 120, 147, .28);
	border-bottom: 1px solid rgba(116, 120, 147, .32);
	background: linear-gradient(180deg, rgba(10, 18, 31, .98), rgba(5, 10, 18, .98));
}

.copyright {
	position: relative;
	padding: 25px 10px 3px;
	color: var(--av-text-dim);
	font-size: 11px;
	line-height: 1.55;
	text-align: center;
}

.copyright::before {
	content: "✦";
	position: absolute;
	left: 15%;
	right: 15%;
	top: 4px;
	height: 1px;
	color: #9d7bd5;
	font-family: var(--av-serif);
	font-size: 16px;
	line-height: 1px;
	background: linear-gradient(90deg, transparent, rgba(154, 138, 165, .43) 35%, transparent 35% 65%, rgba(154, 138, 165, .43) 65%, transparent);
}

.copyright a {
	color: #bda5e6;
}

/* ---------- Modals / cookie UI ---------- */

.phpbb_alert,
#phpbb_alert,
#phpbb_confirm {
	color: var(--av-text);
	border: 1px solid rgba(125, 111, 153, .55);
	background: #09101b;
	box-shadow: 0 24px 70px rgba(0,0,0,.75);
}

.phpbb_alert h3,
.alert_title {
	color: var(--av-heading);
	font-family: var(--av-serif);
}

.darken {
	background-color: rgba(0, 2, 7, .82);
}

.cc-window,
.cc-banner {
	color: var(--av-text) !important;
	background: #09101b !important;
	border-top: 1px solid rgba(121, 111, 151, .42);
}

/* ---------- Responsive ---------- */

@media (max-width: 1080px) {
	.arcane-wrap,
	#wrap {
		grid-template-columns: minmax(0, 1fr) 228px;
		column-gap: 16px;
	}

	.arcane-card {
		padding-left: 11px;
		padding-right: 11px;
	}
}

@media (max-width: 900px) {
	.arcane-wrap,
	#wrap {
		grid-template-columns: minmax(0, 1fr);
		grid-template-rows: auto auto auto auto;
		width: calc(100% - 12px);
		margin-top: 6px;
		padding: 0 12px 18px;
	}

	.arcane-page-header,
	#page-header {
		grid-column: 1;
		grid-row: 1;
		margin-left: -12px;
		margin-right: -12px;
	}

	.arcane-page-body,
	#page-body {
		grid-column: 1;
		grid-row: 2;
	}

	.arcane-sidebar {
		grid-column: 1;
		grid-row: 3;
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
		margin-top: 18px;
	}


	#page-footer,
	.page-footer {
		grid-row: 4;
		width: auto;
		margin: 18px -12px -18px;
	}

	.headerbar.arcane-headerbar::after {
		width: 52%;
		opacity: .62;
	}
}

@media (max-width: 700px) {
	.headerbar.arcane-headerbar,
	.arcane-hero-inner {
		min-height: 166px;
	}

	#nav-main {
		top: -166px;
		padding-left: 10px;
		padding-right: 10px;
	}

	.arcane-site-description,
	#site-description {
		padding-top: 58px;
	}

	.arcane-site-description h1,
	#site-description h1 {
		font-size: 31px;
		letter-spacing: .055em;
	}

	.arcane-site-description > p:not(.skiplink),
	#site-description > p:not(.skiplink) {
		font-size: 11px;
	}

	.headerbar.arcane-headerbar::after {
		right: -6%;
		width: 68%;
		height: 91px;
		opacity: .46;
	}

	.arcane-sidebar {
		display: block;
	}

	.arcane-card {
		margin-bottom: 12px;
	}

	ul.topiclist.forums li.row::before {
		left: 8px;
		width: 34px;
		height: 34px;
		margin-top: -18px;
	}

	ul.topiclist.forums li.row dl.icon dt {
		padding-left: 41px;
	}

	#page-footer,
	.page-footer {
		padding-left: 12px;
		padding-right: 12px;
	}

	#page-footer .navbar {
		margin-left: -12px;
		margin-right: -12px;
	}
}

@media (max-width: 500px) {
	.arcane-wrap,
	#wrap {
		width: 100%;
		margin-top: 0;
		border-left: 0;
		border-right: 0;
	}

	#page-footer,
	.page-footer {
		width: auto;
	}

	.arcane-site-description h1,
	#site-description h1 {
		font-size: 26px;
	}

	.arcane-site-description > p:not(.skiplink),
	#site-description > p:not(.skiplink) {
		max-width: 78%;
		margin-left: auto;
		margin-right: auto;
	}
}

/* ---------- Print ---------- */

@media print {
	body,
	#phpbb,
	.arcane-wrap,
	#wrap,
	.panel,
	.post,
	.bg1,
	.bg2,
	.bg3 {
		color: #000 !important;
		background: #fff !important;
		box-shadow: none !important;
	}

	.arcane-sidebar,
	.headerbar,
	#page-footer,
	.navbar {
		display: none !important;
	}

	#wrap {
		display: block;
		width: auto;
		margin: 0;
		padding: 0;
		border: 0;
	}
}
