@charset "UTF-8";

/************************ Global **************************************/

:root {
	/* Global */
	--font-family-main: var(--font-family-serif);
	--font-size-main: 12pt;
	--color-bg-main: #fffaeb;
	--color-bg-main-gradient: #ffffff;
	--color-fg-main: #0d0d0f;
	--color-fg-link: #0d0d0f;
	--color-fg-link-hover: #a8123f;
	--color-x-lo-contrast-border: #ececee;
	--color-lo-contrast-border: #d8d8dd;
	--color-hi-contrast-border: #0d0d0f;
	--color-border-button: #0d0d0f;
	/* Navigation/admin bar */
	--color-bg-boardlist: #0d0d0f;
	--color-fg-boardlist: #c8c8d0;
	/* Board header */
	--color-fg-logo: #0d0d0f;
	--color-bg-theading: #0d0d0f;
	--color-bg-theading2: #1c1c20;
	--color-bg-theading3: #2a2a30;
	--color-fg-theading: #ffffff;
	/* Post form */
	--color-bg-postblock: #0d0d0f;
	--color-border-input: #0d0d0f;
	--color-fg-global-message: var(--color-fg-warning);
	/* Posts/replies */
	--color-bg-reply: #ffffff;
	--color-bg-reply-hl: #f7e3ea;
	--color-fg-title: #a8123f;
	--color-fg-name: #0d0d0f;
	--color-thread-watch-star: #a8123f;
	--color-fg-warning: #b3001b;
	--color-fg-warning-ip: #3a3a42;
	--color-fg-omitted: #6a6a72;
	/* Post formatting */
	--color-fg-quotelink: #0d0d0f;
	--color-fg-quotelink-hover: var(--color-fg-link-hover);
	--color-fg-quote: #5f7038;
	--color-fg-quote2: #a8123f;
	--color-bg-spoiler: #0d0d0f;
	--color-bg-code: #ffffff;
	--color-fg-code: #0d0d0f;
	/* Administrator mode */
	--color-bg-postlists-header: #0d0d0f;
	--color-fg-postlists-header: #ffffff;
	--color-fg-postlists-header-link: #ffffff;
	--color-bg-postlists-odd: #f4f4f6;
	--color-bg-postlists-even: #ffffff;
	/* File board/flash board */
	--color-bg-flashboard-even: #f4f4f6;
	/* Windows */
	--color-bg-window-item-highlight: #f7e3ea;
	/* Theme-local extras */
	--color-lace: #ffffff;
	--color-fg-on-dark: #ffffff;
	--color-bg-button: #ffffff;
	--color-bg-button-hover: #0d0d0f;
	--color-accent: #333333;
}

body {
	line-height: 1.25;
}

a,
a:link,
a:visited {
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

::selection {
	background-color: var(--color-fg-main);
	color: var(--color-fg-on-dark);
}

hr {
	border-color: var(--color-fg-main);
}

hr:not([size]) {
	border-top: none;
	height: 1px;
}

fieldset {
	border-color: var(--color-fg-main);
}

input[type="checkbox"],
input[type="radio"],
input[type="range"],
progress {
	accent-color: var(--color-accent);
}

textarea,
select,
input:not([type="submit"]):not([type="reset"]):not([type="button"]):not([type="file"]) {
	border: 1px solid var(--color-border-input);
	border-radius: 0;
}

textarea:focus,
input:focus {
	outline: 2px solid var(--color-accent);
	outline-offset: -2px;
}

button,
select,
input[type="button"],
input[type="submit"],
input[type="reset"],
input::file-selector-button {
	background-color: var(--color-bg-button);
	border: 1px solid var(--color-border-button);
	border-radius: 0;
	color: var(--color-fg-main);
}

button:hover,
input[type="button"]:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
input::file-selector-button:hover {
	background-color: var(--color-bg-button-hover);
	color: var(--color-fg-on-dark);
}

/************************ Navigation/admin bar ************************/

.boardlist {
	background-color: var(--color-bg-boardlist);
	padding: 0.25em;
}

.persistnav .boardlist {
	padding: 0;
	border-bottom-color: var(--color-fg-main);
}

.boardlist a {
	color: var(--color-fg-on-dark);
}

/******** Neomenu ********/

.neomenu,
.neomenu a {
	color: var(--color-fg-on-dark);
}

.neomenuTopLevel,
.neomenuList {
	border-color: var(--color-fg-main);
}

.neomenu .neomenuTopLevel h2:hover,
.neomenu .neomenuList li:hover {
	background-color: rgba(255, 255, 255, 0.14);
}

/************************ Board header ********************************/

.mtitle {
	font-family: Georgia, "Times New Roman", serif;
	letter-spacing: 0.02em;
}

.subtitle {
	font-family: inherit;
	font-style: italic;
	color: var(--color-fg-omitted);
}

#banner,
.fullbannerIframe {
	border-color: var(--color-fg-main);
}

.theading,
.theading2,
.theading3 {
	border: 2px solid var(--color-fg-main);
	border-radius: 0;
	box-shadow: inset 0 0 0 1px var(--color-bg-main);
}

.messageSuccess {
	border-left: 4px solid #6f9c5f;
}

.messageFailure {
	border-left: 4px solid #c4536b;
}

/************************ Post form ***********************************/

.postblock {
	border: 1px solid var(--color-fg-main);
	border-radius: 0;
	padding: 0 6px !important;
	color: var(--color-fg-on-dark);
}

#postformTable {
	border-spacing: 3px;
}

#postformTable td.postblock a,
#postformTable td.postblock label {
	color: var(--color-fg-on-dark);
}

#postformTable td.postblock a {
	text-decoration: underline;
}

.inputtext {
	border: 1px solid var(--color-border-input);
	border-radius: 0;
}

.inputtext:focus {
	outline: 2px solid var(--color-accent);
	outline-offset: -2px;
}

.dropzone {
	border-color: var(--color-fg-main);
}

/************************ Board info **********************************/

.rules,
#blotter {
	font-family: var(--font-family-sans-serif);
	font-size: var(--font-size-x-small);
}

/************************ Posts/replies *******************************/

.doubledash {
	color: var(--color-fg-main);
}

.reply {
	border: 1px solid var(--color-fg-main);
	border-radius: 0;
	padding: 7px 2px 2px;
	background-image:
		radial-gradient(circle at 4px 5px, var(--color-bg-reply) 2.5px, transparent 3px),
		linear-gradient(var(--color-fg-main), var(--color-fg-main));
	background-size: 8px 5px, 100% 5px;
	background-repeat: repeat-x, repeat-x;
	background-position: left top, left top;
}

.reply:target,
.reply.replyhl {
	background-image:
		radial-gradient(circle at 4px 5px, var(--color-bg-reply-hl) 2.5px, transparent 3px),
		linear-gradient(var(--color-fg-main), var(--color-fg-main));
}

.dropdownMenu {
	border-radius: 0;
	box-shadow: 0 2px 4px rgba(13, 13, 15, 0.28);
}

.filesize .fileNameAnchor {
	text-decoration: underline;
}

.postnum a {
	color: inherit;
}

.sod.noVotes {
	font-family: var(--font-family-msgothic);
}

.logo hr,
hr.threadSeparator {
	height: 9px;
	border: none;
	background-color: var(--color-fg-main);
	background-image: radial-gradient(circle at 6px 9px, var(--color-lace) 4.5px, transparent 5px);
	background-size: 12px 9px;
	background-repeat: repeat-x;
}

.previewBox {
	box-shadow: 0 2px 6px rgba(13, 13, 15, 0.28);
}

.detailsbox > summary,
.detailsbox > summary a {
	color: var(--color-fg-on-dark);
}

/************************ Post formatting *****************************/

.quotelink {
	text-decoration: underline !important;
}

.inline-quote {
	border-color: var(--color-fg-main);
}

.code {
	border: 1px solid var(--color-fg-main);
}

/************************ Footer **************************************/

#pager {
	background-color: var(--color-bg-reply);
	border: 1px solid var(--color-fg-main);
	border-radius: 0;
}

#pager th,
#pager td {
	border: 1px solid var(--color-lo-contrast-border);
	padding: 2px 5px;
}

#pager a {
	color: inherit;
}

/************************ Administrator mode **************************/

.postlists th {
	border: 1px solid var(--color-fg-main);
}

.auditlog {
	background-color: var(--color-bg-reply);
	border-color: var(--color-fg-main);
	border-style: solid;
	border-width: 1px;
}

.error,
.offline {
	color: var(--color-fg-warning);
}

.good,
.online {
	color: #4f7a3c;
}

/************************ Ban screen **********************************/

#banScreen {
	border: 1px solid var(--color-fg-main);
	border-radius: 0;
}

/************************ Catalog *************************************/

#catalogTable .thread {
	border: 1px solid var(--color-fg-main);
	border-radius: 0;
}

#catalogTable .thread:hover {
	background-color: var(--color-bg-reply-hl);
}

/********************** File board/flash board ************************/

.flashboardList tr:hover {
	background-color: var(--color-bg-reply-hl);
}

/************************ Windows *************************************/

.window,
.winbar {
	border-color: var(--color-fg-main);
}

.winbar,
.winname {
	color: var(--color-fg-on-dark);
}

.winctrl button img {
	filter: invert(1);
}

.winctrl button:hover {
	background-color: rgba(255, 255, 255, 0.18);
}

/************************ Mobile **************************************/

@media screen and (max-width: 650px) {
	.rules {
		font-size: var(--font-size-x-small);
	}
}