body {
	background: #d6ffd5;
	color: #1a2414;
}

a:link,
a:visited,
.intro a.email span.name {
	color: #1a7e49;
}

a:hover,
a:visited:hover,
.intro a.email:hover span.name,
div.boardlist a:hover,
div.post.reply div.body a:hover {
	color: #125d36;
}

a.post_no,
.intro a.post_no,
p.intro a.post_anchor {
	color: #2e6f11;
	text-decoration: none;
}

header div.subtitle,
h1,
div.title {
	color: #40790e;
	text-align: center;
}

.intro span.subject,
span.heading {
	color: #40790e;
	font-weight: bold;
}

.intro span.name {
	color: #2e5c12;
	font-weight: bold;
}

.quote,
.quote2,
.unkfunc {
	color: #287d26;
}

div.boardlist {
	color: #40790e;
}

div.boardlist a {
	color: #1a7e49;
	text-decoration: none;
}

.desktop-style div.boardlist:nth-child(1) {
	background: #d6ffd5;
	border-bottom: 1px solid #398316;
}

.desktop-style div.boardlist:nth-child(1):hover,
.desktop-style div.boardlist:nth-child(1).cb-menu {
	background: rgba(214, 255, 213, 0.92);
}

form table tr th,
#quick-reply th {
	background: #8acf52;
	color: #1f4210;
	border: 1px solid #398316;
	font-weight: 700;
	padding: 0 5px;
}

input[type="text"],
input[type="password"],
textarea,
select {
	background: #f7fff2;
	color: #1a2414;
	border: 1px solid #398316;
}

input[type="text"]:focus,
input[type="password"]:focus,
textarea:focus,
select:focus {
	outline: none;
	border-color: #2a6a12;
	box-shadow: 0 0 0 1px rgba(57, 131, 22, 0.18);
}

#quick-reply {
	background: #d6ffd5;
	border: 1px solid #398316;
}

div.post.reply {
	background: #a8eaa6;
	border-width: 1px;
	border-style: none solid solid none;
	border-color: #398316;
}

div.post.reply.highlighted,
.post-hover {
	background: #98e2a4 !important;
	border-color: #2e6f11 !important;
}

div.post.reply div.body a {
	color: #1a7e49;
}

div.pages {
	color: #40790e;
	background: #a8eaa6;
	border-right: 1px solid #92d195;
	border-bottom: 1px solid #92d195;
}

div.pages a {
	color: #1a7e49;
	text-decoration: none;
}

div.pages a.selected {
	color: #1f4210;
	font-weight: bolder;
}

hr {
	border: none;
	border-top: 1px solid #398316;
	height: 0;
	clear: left;
}

div.ban {
	background: #efffe8;
	border: 1px solid #398316;
}

div.ban h2 {
	background: #8acf52;
	color: #1f4210;
}

div.ban p {
	color: #1a2414;
}

table.modlog tr th,
table.test tr.h th {
	background: #8acf52;
	color: #1f4210;
}

div.banner {
	background-color: #e64900;
	font-size: 12pt;
	font-weight: bold;
	text-align: center;
	margin: 1em 0;
}

div.banner,
div.banner a {
	color: #fff;
}

div.banner a:hover {
	color: #fff7d9;
	text-decoration: none;
}

img.banner,
img.board_image {
	border: 1px solid #398316;
}

span.spoiler {
	background: #111;
	color: #111;
}

span.spoiler:hover,
div.post.reply div.body span.spoiler:hover a {
	color: #fff;
}

/* boardlist */
div.boardlist:not(.bottom) {
	border-bottom: 1px solid #2e7512;
	padding-bottom: 6px;
	margin-bottom: 10px;
}
div.boardlist {
	margin-top: 3px;
	color: #40790e;
	font-size: 9pt;
}

div.boardlist.bottom {
	margin-top: 12px;
	clear: both;
}

div.boardlist a {
	color: #1a7e49;
	text-decoration: none;
}

div.boardlist a:hover {
	color: #125d36;
}

.desktop-style body > div.boardlist:first-child {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	margin-top: 0;
	z-index: 30;
	box-shadow: 0 1px 2px rgba(31, 66, 16, 0.22);
	border-bottom: 1px solid #398316;
	background: #d6ffd5;
	color: #40790e;
}

.desktop-style body {
	padding-top: 20px;
}

.desktop-style body > div.boardlist:first-child:hover,
.desktop-style body > div.boardlist:first-child.cb-menu {
	background: rgba(214, 255, 213, 0.92);
}

.compact-boardlist {
	padding: 3px;
	padding-bottom: 0;
}

.compact-boardlist .cb-item {
	display: inline-block;
	vertical-align: middle;
}

.compact-boardlist .cb-icon {
	padding-bottom: 1px;
}

.compact-boardlist .cb-fa {
	font-size: 21px;
	padding: 2px;
	padding-top: 0;
}

.compact-boardlist .cb-cat {
	padding: 5px 6px 8px 6px;
}

.desktop-style .sub {
	background: #d6ffd5;
}

.desktop-style .sub .sub {
	display: inline-block;
	text-indent: -9000px;
	width: 7px;
	background: url('img/arrow.png') right center no-repeat;
}

.desktop-style .sub .sub:hover,
.desktop-style .sub .sub.hover {
	display: inline;
	text-indent: 0;
	background: #d6ffd5;
}

.cb-menuitem {
	display: table-row;
}

.cb-menuitem span {
	padding: 5px;
	display: table-cell;
	text-align: left;
	border-top: 1px solid rgba(57, 131, 22, 0.55);
	background: #efffe8;
	color: #1f4210;
}

.cb-menuitem span.cb-uri {
	text-align: right;
}

.cb-menuitem a {
	color: #1a7e49;
	text-decoration: none;
}

.cb-menuitem a:hover {
	color: #125d36;
}

.boardlist:not(.compact-boardlist) #watch-pinned::before {
	content: " [ ";
}

.boardlist:not(.compact-boardlist) #watch-pinned::after {
	content: " ] ";
}

.boardlist:not(.compact-boardlist) #watch-pinned {
	display: inline;
}

.boardlist:not(.compact-boardlist) #watch-pinned a {
	margin-left: 3pt;
}

.boardlist:not(.compact-boardlist) #watch-pinned a:first-child {
	margin-left: 0pt;
}

.compact-boardlist #watch-pinned {
	display: inline-block;
	vertical-align: middle;
}

/* dropzone */

.rz-dropzone {
	display: block;
	width: 100%;
	cursor: pointer;
}

.rz-dropzone-inner {
	height: 48px;
	border: 2px dashed #398316;
	background: #efffe8;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #40790e;
	font-size: 13px;
	transition: background 160ms ease, border-color 160ms ease, color 160ms ease;
}

.rz-dropzone:hover .rz-dropzone-inner {
	background: #e3f8d7;
	border-color: #2f7011;
	color: #2a5f0f;
}

.rz-dropzone.dragover .rz-dropzone-inner {
	background: #f6ffd8;
	border-color: #e64900;
	color: #8c2b00;
}

.rz-preview {
	margin-top: 6px;
	display: none;
	align-items: center;
	gap: 10px;
	padding: 6px 8px;
	background: #efffe8;
	border: 1px solid #398316;
}

.rz-preview.is-on {
	display: flex;
}

.rz-clear {
	border: 0;
	background: transparent;
	color: #40790e;
	font-weight: bold;
	cursor: pointer;
	padding: 0 6px;
	font-size: 14px;
}

.rz-clear:hover {
	color: #e64900;
}

.rz-thumb {
	width: 72px;
	height: 72px;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #c6f1ac;
	border: 1px solid #398316;
	line-height: 0;
}

.rz-thumb img,
.rz-thumb video {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.rz-thumb video {
	background: #000;
}

.rz-meta {
	flex: 1;
}

.rz-name {
	font-weight: bold;
	color: #1f4210;
}

.rz-size {
	font-size: 12px;
	color: #40790e;
}
.pow-submit-locked {
  opacity: 0.55;
  cursor: not-allowed;
}
/* emoji */
.emoji-picker-wrap {
	display: inline-block;
	position: relative;
}

.emoji-picker-toggle {
	appearance: none;
	-webkit-appearance: none;
	background: #8acf52;
	color: #1f4210;
	border: 1px solid #398316;
	padding: 2px 7px;
	font: bold 12px/1.2 sans-serif;
	cursor: pointer;
	box-shadow: none;
	text-decoration: none;
}

.emoji-picker-toggle:hover {
	background: #98d763;
	color: #16350d;
}

.emoji-picker-toggle:focus {
	outline: none;
	border-color: #2a6a12;
	box-shadow: 0 0 0 1px rgba(57, 131, 22, 0.18);
}

.emoji-picker-pop {
	position: absolute;
	left: 0;
	top: calc(100% + 6px);
	width: 340px;
	max-width: min(340px, 92vw);
	background: #d6ffd5;
	border: 1px solid #398316;
	box-shadow: 0 2px 10px rgba(26, 36, 20, 0.14);
	z-index: 9999;

	opacity: 0;
	transform: translateY(4px);
	pointer-events: none;
	transition:
		opacity 140ms ease,
		transform 140ms ease;
}

.emoji-picker-pop.is-open {
	opacity: 1;
	transform: translateY(0);
	pointer-events: auto;
}

.emoji-picker-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	padding: 6px 8px;
	background: #8acf52;
	border-bottom: 1px solid #398316;
	color: #1f4210;
	font-weight: bold;
}

.emoji-picker-title {
	font-size: 12px;
	line-height: 1.2;
}

.emoji-picker-close {
	appearance: none;
	-webkit-appearance: none;
	background: transparent;
	border: 0;
	padding: 0 2px;
	margin: 0;
	color: #2e6f11;
	font: bold 15px/1 sans-serif;
	cursor: pointer;
}

.emoji-picker-close:hover {
	color: #125d36;
}

.emoji-picker-body {
	padding: 8px;
	background: #d6ffd5;
}

.emoji-picker-search {
	display: block;
	width: 100%;
	box-sizing: border-box;
	margin: 0 0 8px 0;
	padding: 4px 6px;
	background: #f7fff2;
	color: #1a2414;
	border: 1px solid #398316;
	font-size: 12px;
}

.emoji-picker-search:focus {
	outline: none;
	border-color: #2a6a12;
	box-shadow: 0 0 0 1px rgba(57, 131, 22, 0.18);
}

.emoji-picker-grid {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 4px;
	max-height: 220px;
	overflow-y: auto;
	padding-right: 2px;
}

.emoji-picker-item {
	appearance: none;
	-webkit-appearance: none;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 38px;
	padding: 0;
	background: #c6f1ac;
	border: 1px solid #398316;
	cursor: pointer;
	line-height: 1;
	transition:
		background 120ms ease,
		border-color 120ms ease,
		transform 120ms ease;
}

.emoji-picker-item:hover {
	background: #dff6cb;
	border-color: #2e6f11;
}

.emoji-picker-item.is-active,
.emoji-picker-item:focus {
	outline: none;
	background: #efffe8;
	border-color: #1a7e49;
	transform: translateY(-1px);
}

.emoji-picker-item img {
	display: block;
	max-width: 24px;
	max-height: 24px;
	width: auto;
	height: auto;
	image-rendering: auto;
	pointer-events: none;
}

.emoji-picker-footer {
	margin-top: 8px;
	padding-top: 7px;
	border-top: 1px solid #398316;
	display: flex;
	align-items: center;
	gap: 8px;
	min-height: 38px;
	background: #d6ffd5;
}

.emoji-picker-preview-box {
	width: 32px;
	height: 32px;
	flex: 0 0 32px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #c6f1ac;
	border: 1px solid #398316;
}

.emoji-picker-preview-box img {
	display: block;
	max-width: 24px;
	max-height: 24px;
	width: auto;
	height: auto;
}

.emoji-picker-meta {
	min-width: 0;
	flex: 1;
}

.emoji-picker-code {
	font-size: 12px;
	font-weight: bold;
	color: #2e5c12;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.emoji-picker-path {
	font-size: 11px;
	color: #40790e;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.emoji-picker-empty {
	padding: 10px 6px;
	text-align: center;
	color: #40790e;
	font-size: 12px;
	background: #efffe8;
	border: 1px solid #398316;
}

.emoji-picker-grid::-webkit-scrollbar {
	width: 10px;
}

.emoji-picker-grid::-webkit-scrollbar-track {
	background: #efffe8;
	border-left: 1px solid #398316;
}

.emoji-picker-grid::-webkit-scrollbar-thumb {
	background: #8acf52;
	border: 1px solid #398316;
}

.emoji-picker-grid::-webkit-scrollbar-thumb:hover {
	background: #98d763;
}

@media (max-width: 700px) {
	.emoji-picker-pop {
		width: 300px;
	}

	.emoji-picker-grid {
		grid-template-columns: repeat(5, minmax(0, 1fr));
	}
}

@media (prefers-reduced-motion: reduce) {
	.emoji-picker-pop,
	.emoji-picker-item {
		transition: none;
	}
}
/* icons */
p.intro img.icon,
p.intro i.fa {
    vertical-align: -3px;
    margin: 0 2px;
}
/* fileinfo */
p.fileinfo .rz-file-meta {
	font-size: 0.82em;
	opacity: 0.85;
	vertical-align: 1px;
	white-space: nowrap;
}

p.fileinfo .rz-file-size,
p.fileinfo .rz-file-dims,
p.fileinfo .rz-file-ratio {
	font-size: inherit;
}

p.fileinfo .rz-file-spoiler {
	font-weight: normal;
}
/* block clicking on mpa */
.no-file-click,
.media-placeholder,
img.deleted {
	pointer-events: none !important;
	cursor: default !important;
}
/* space between post and expand */
.tfp-omitted-toggle {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 18px !important;
	height: 18px !important;
	margin-right: 4px !important;
	vertical-align: middle !important;
	position: relative !important;
	top: 2x !important;
	text-decoration: none !important;
	line-height: 1 !important;
}

.tfp-omitted-toggle img {
	display: block !important;
	width: 18px !important;
	height: 18px !important;
	object-fit: contain !important;
	transform-origin: 50% 50% !important;
	transition: transform 160ms ease !important;
	border: 0 !important;
}

.tfp-omitted-toggle.is-loading img {
	animation: tfp-omitted-spin 650ms linear infinite;
}

.tfp-omitted-toggle.is-open img {
	transform: rotate(180deg);
}

.tfp-omitted-text {
	vertical-align: middle;
}

@keyframes tfp-omitted-spin {
	from {
		transform: rotate(0deg);
	}
	to {
		transform: rotate(360deg);
	}
}

.omitted.tfp-omitted-line {
	display: block !important;
	margin-bottom: 10px !important;
	line-height: 16px !important;
}
.omitted .tfp-omitted-toggle {
	display: inline-block;
	width: 14px;
	height: 14px;
	line-height: 14px;
	margin-right: 4px;
	vertical-align: -2px;
	text-decoration: none;
}

.omitted img.tfp-omitted-icon {
	display: block;
	width: 14px;
	height: 14px;
	image-rendering: pixelated;
}

.omitted .tfp-omitted-toggle.is-loading img.tfp-omitted-icon {
	animation: tfp-omitted-spin 0.6s linear infinite;
}

@keyframes tfp-omitted-spin {
	from { transform: rotate(0deg); }
	to { transform: rotate(360deg); }
}
/* flags */
/* .intro .flag,
.intro img.flag,
.intro span.flag,
.intro .gem-flag,
.intro img.gem-flag {
	display: inline-block !important;
	vertical-align: middle !important;
	line-height: 11px !important;
	width: 16px;
	height: 11px;
	margin: 0 2px 0 3px !important;
	float: none !important;
	position: relative !important;
	top: 0 !important;
	bottom: auto !important;
} */
.gem-flag,
.gem-flag img,
img.gem-flag,
.flag,
img.flag {
	width: 16px !important;
	height: 11px !important;
	max-width: 16px !important;
	max-height: 11px !important;
	object-fit: fill;
	vertical-align: middle;
	display: inline-block;
	margin: 0 2px;
	border: 0;
}
.gem-flags-preview {
    margin-top: 3px;
    min-height: 13px;
}

.gemflag-preview {
    width: 16px;
    height: 11px;
    margin-right: 3px;
    vertical-align: middle;
    object-fit: contain;
}

.gem-country-label {
    display: inline-block;
    margin-right: 3px;
    font-size: 11px;
    line-height: 11px;
    vertical-align: middle;
}
/* boardlist */
html body div.boardlist.bottom {
    display: block !important;
    clear: both !important;

    margin: 12px 0 0 0 !important;
    padding: 0 !important;

    text-align: left !important;
    white-space: normal !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 9pt !important;
    font-weight: normal !important;
    line-height: normal !important;

    background: transparent !important;
}

html body div.boardlist.bottom span.sub {
    display: inline !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;
    background: transparent !important;

    font-family: inherit !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    line-height: inherit !important;
}

html body div.boardlist.bottom a {
    display: inline !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;
    background: transparent !important;

    font-family: inherit !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    line-height: inherit !important;

    text-decoration: none;
}

html body div.boardlist.bottom a:hover {
    text-decoration: underline;
}
div.boardlist {
	margin-top: 3px;
	font-size: 9pt;
	font-weight: normal;
	line-height: normal;
}

div.boardlist.bottom {
	margin-top: 12px;
	clear: both;
}

div.boardlist a {
	margin: 0;
	padding: 0;
	text-decoration: none;
}

div.boardlist a:hover {
	text-decoration: underline;
}

div.boardlist span.sub {
	margin: 0;
	padding: 0;
	background: transparent;
}
html body div.boardlist.bottom,
html body div.boardlist.bottom span.sub,
html body div.boardlist.bottom a,
html body div.boardlist.bottom a:link,
html body div.boardlist.bottom a:visited,
html body div.boardlist.bottom a:hover,
html body div.boardlist.bottom a:active {
	color: #2e7512 !important;
}
/* reports */
/*
table.modlog {
	margin: 10px auto;
	width: 100%;
	border-collapse: collapse;
	color: #1a2414;
	background: #d6ffd5;
	border: 1px solid #398316;
	box-shadow: 0 1px 2px rgba(57, 131, 22, 0.25);
}
table.modlog tr td {
	text-align: left;
	margin: 0;
	padding: 6px 12px;
	border-bottom: 1px solid rgba(57, 131, 22, 0.25);
	background: rgba(255, 255, 255, 0.16);
	color: #1a2414;
}
table.modlog tr th {
	text-align: left;
	padding: 6px 12px;
	white-space: nowrap;
	background: #bff0bd;
	color: #1a2414;
	border-bottom: 1px solid #398316;
	font-weight: bold;
}
td.minimal,
th.minimal {
	width: 1%;
	white-space: nowrap;
}
table.modlog th.minimal {
	background: #b7eeb5;
	color: #1a2414;
	border-right: 1px solid #398316;
}
table.modlog a,
table.modlog a:visited {
	color: #1a7e49;
	font-weight: bold;
	text-decoration: underline;
}

table.modlog a:hover {
	color: #125d36;
}
hr {
	border: none;
	border-top: 1px solid #398316;
	height: 0;
	clear: left;
	margin: 10px 0;
}
table.modlog tr td[colspan] hr {
	margin: 8px 0;
	border-top: 1px solid rgba(57, 131, 22, 0.55);
}
*/

/* -------------------------------------------------------------------------
 * Custom desktop navbar compatibility
 *
 * The desktop navbar is 17px tall. This exact override prevents the older
 * .desktop-style body padding rule from leaving extra space below it.
 * Mobile does not style or reposition Vichan's own boardlist.
 * ---------------------------------------------------------------------- */
html.desktop-style body.ruzly-nav-active,
html body.ruzly-nav-active {
    padding-top: var(--header-height, 17px) !important;
}

html.ruzly-native-mobile body,
html.ruzly-native-mobile body.ruzly-nav-active,
html.mobile-style.ruzly-native-mobile body {
    padding-top: 0 !important;
}

html.ruzly-native-mobile #ruzly-nav {
    display: none !important;
}
