/* All vendor specifics are stripped in this dev version. */ /**/ @font-face{
	font-family: 'Comic Neue';
	src: url(font/ComicNeue-Regular.woff) format("woff");
}
/* Theme variable defaults (Yotsuba B baseline). Wired in Stage 3; unused until then. */ :root {
	/* QR surface contract */
	--theme-qr-panel-bg-color: rgb(214, 218, 240);
	--theme-qr-panel-bg-image: none;
	--theme-qr-panel-bg: var(--theme-qr-panel-bg-color);
	--theme-qr-field-bg: rgb(238, 242, 255);
	--theme-qr-button-bg: var(--theme-qr-field-bg);
	--theme-qr-thumb-bg: var(--theme-qr-field-bg);
	--theme-qr-button-highlight: transparent;
	--theme-qr-button-hover-highlight: transparent;
	--theme-qr-button-active-shadow: transparent;

	/* QR movebar contract */
	--theme-qr-header-bg: var(--theme-qr-panel-bg-color, var(--theme-qr-panel-bg));
	--theme-qr-movebar-bg-color: var(--theme-qr-panel-bg-color, var(--theme-qr-panel-bg));
	--theme-qr-move-control-fg: var(--theme-qr-header-fg, var(--theme-qr-panel-fg));
	--theme-qr-move-control-fg-hover: var(--theme-qr-header-fg-hover, var(--theme-qr-move-control-fg));
--theme-body-bg-color: #EEF2FF;
	--theme-body-bg-image: url('img/fade-blue.png') repeat-x 50% 0;
	--theme-qr-panel-fg: var(--theme-qr-header-fg, var(--theme-overlay-color, var(--theme-content-fg)));
	--theme-qr-panel-border: var(--theme-reply-border);
	--theme-qr-panel-opacity: 1;
	--theme-floating-panel-shadow:
		0 1px 2px 0 rgba(0, 0, 0, 0.55),
		0 4px 8px 1px rgba(0, 0, 0, 0.52),
		0 10px 20px 2px rgba(0, 0, 0, 0.58),
		0 18px 36px 4px rgba(0, 0, 0, 0.62);
	--theme-qr-header-fg: var(--theme-top-link);
	--theme-qr-header-fg-hover: var(--theme-top-link-hover-fg);
	--theme-qr-field-fg: var(--theme-form-fg);
	--theme-qr-field-border: var(--theme-input-border);
	--theme-qr-field-border-hover: var(--theme-reply-border);
	--theme-qr-field-border-focus: var(--theme-input-focus-border);
	--theme-qr-label-fg: var(--theme-qr-panel-fg);
	--theme-qr-placeholder-fg: var(--theme-qr-field-fg);
	--theme-qr-placeholder-opacity: 0.55;
	--theme-qr-move-control-text-shadow: none;
	--theme-qr-button-fg: var(--theme-qr-field-fg);
	--theme-qr-button-border: var(--theme-qr-field-border);
	--theme-qr-control-radius: var(--theme-qr-button-radius, 3px);
	--theme-qr-button-hover-bg: var(--theme-qr-field-bg);
	--theme-qr-button-hover-fg: var(--theme-qr-field-fg);
	--theme-qr-button-hover-border: var(--theme-qr-field-border-hover);
	--theme-qr-button-active-bg: var(--theme-qr-field-bg);
	--theme-qr-button-active-fg: var(--theme-qr-field-fg);
	--theme-qr-button-disabled-bg: var(--theme-qr-field-bg);
	--theme-qr-button-disabled-fg: var(--theme-qr-field-fg);
	--theme-qr-button-disabled-border: var(--theme-qr-field-border);
	--theme-qr-submit-border: var(--theme-qr-button-border);
	--theme-qr-button-radius: 3px;
	--theme-qr-remove-bg: rgba(0, 0, 0, 0.6);
	--theme-qr-remove-fg: #fff;
	--theme-qr-warning-fg: var(--theme-blotter);
	--theme-font-body: arial, helvetica, sans-serif;
	--theme-font-heading: "tahoma", "Arial", sans-serif;
	--theme-link: #34345C;
	--theme-link-hover: #ff0000;
	--theme-heading: #AF0A0F;
	--theme-masthead-color: var(--theme-heading);
	--theme-masthead-font-family: var(--theme-font-heading);
	--theme-masthead-font-weight: var(--theme-heading-weight);
	--theme-masthead-font-style: var(--theme-heading-style);
	--theme-masthead-text-transform: var(--theme-heading-text-transform);
	--theme-masthead-letter-spacing: var(--theme-heading-letter-spacing);
	--theme-masthead-word-spacing: var(--theme-heading-word-spacing);
	--theme-masthead-text-shadow: var(--theme-heading-shadow);
	--theme-heading-weight: normal;
	--theme-heading-style: normal;
	--theme-heading-letter-spacing: normal;
	--theme-heading-text-transform: none;
	--theme-heading-shadow: none;
	--theme-overlay-border: var(--theme-reply-border);
	--utility-panel-top-gap: 8px;
	--utility-settings-control-radius: 4px;
	--qr-mobile-top: 2px;
	--theme-error-fg: #c00;
	--theme-banner-bg: #E04000;
	--theme-banner-color: white;
	--theme-blotter: red;
	--theme-hr: #B7C5D9;
	--theme-top-bg: #222;
	--theme-top-link: #ddd;
	--theme-top-link-hover-fg: #ddd;
	--theme-top-link-hover-bg: #444;
	--theme-top-home-link: #183;
	--theme-top-active-bg: #404040;
	--theme-top-active-border: #777;
	--theme-boardlist: #89A;
	--site-navbar-offset: 48px;
	--theme-th-bg: #98E;
	--theme-input-border: #a9a9a9;
	--theme-input-focus-border: #e3bc71;
	--theme-help-bubble-bg: rgb(167, 183, 239) radial-gradient(circle at bottom, rgba(0, 0, 0, 0.01), rgba(0, 0, 0, 0.05) 0.8em, rgba(0, 0, 0, 0) 0.9em);
	--theme-help-bubble-color: var(--theme-content-fg);
	--theme-help-bubble-fg: var(--theme-help-bubble-color, var(--theme-content-fg));
	--theme-help-bubble-border: var(--theme-reply-border);
	--theme-help-details-bg: var(--theme-overlay-bg, var(--theme-reply-bg));
	--theme-help-details-fg: var(--theme-content-fg);
	--theme-help-details-border: var(--theme-reply-border);
	--theme-dialog-bg: var(--theme-reply-bg);
	--theme-homeblock-border: rgb(160, 160, 160);
	--theme-reply-bg: #D6DAF0;
	--theme-inline-preview-overlay: transparent;
	--theme-reply-border: #B7C5D9;
	--theme-text: inherit;
	--theme-content-fg: #000000;
	--utility-settings-panel-width: 342px;
	--utility-watcher-panel-width: 533px;
	--theme-form-bg: var(--theme-reply-bg);
	--theme-form-fg: var(--theme-content-fg);
	--theme-form-muted-fg: var(--theme-content-fg);
	--theme-form-mark-fg: var(--theme-content-fg);
	--theme-checkbox-cutout-color: var(--theme-body-bg-color);
	--theme-form-accent: currentColor;
	--theme-form-disabled-opacity: 0.6;
	--control-inline-gap: 0.35em;
	--theme-reply-highlight-bg: #D6BAD0;
	--theme-watcher-unread-bg: var(--theme-reply-highlight-bg);
	--theme-watcher-unread-border: var(--theme-reply-border);
	--theme-subject: #0F0C5D;
	--theme-name: #117743;
	--theme-post-no: #34345C;
	--theme-post-no-hover: var(--theme-link-hover);
	--theme-name-hover: var(--theme-link-hover);
	--theme-trip: #228854;
	--theme-quote: #789922;
	--theme-capcode: #F00000;
	--theme-pages-bg: #D6DAF0;
	--theme-pages-border: #B7C5D9;
	--theme-pages-color: #89A;
	--theme-overlay-bg: var(--theme-reply-bg);
	--theme-overlay-color: var(--theme-text);
	--theme-popnotice-bg: rgb(34, 34, 34);
	--theme-popnotice-color: rgb(221, 221, 221);
}
/* ---------- INDISCRIMINATE SELECTORS ---------- */ /* --- Indiscriminate tag selectors --- */ html, body{
	/* Make the body fill the height of the page when it isn't. */
	min-height: 100%;
}
body{
	background-color: var(--theme-body-bg-color);
	background-image: var(--theme-body-bg-image);
	color: var(--theme-content-fg);
	font-family: arial, helvetica, sans-serif;
	font-size: 10pt;
	margin: 0 8px;
	padding-left: 5px;
	padding-right: 5px;
	padding-top: 48px;
}
a, a:visited{
	text-decoration: underline;
	color: var(--theme-link);
}
a:hover{
	color: var(--theme-link-hover);
}
dialog{
	/* This is the polyfill for browers that don't */
	/* recognize the element */
	z-index: 20;
	background-color: var(--theme-dialog-bg);
	border: 0.2rem solid;
	padding: 0.5em;
	left: 50%;
	margin-left: -200px;
	width: 400px;

	/* Everything beyond here is our styling.*/
	color: inherit;
	position: fixed;
	top: 20%;
	text-align: center;
}
fieldset label{
	display: block;
}
form table{
	margin: auto;
}
form table td{
	position: relative;
	text-align: left;
	margin: 0;
	padding: 0;
}
footer{
	clear: both;
	text-align: center;
	margin-top: 20px;
}
th{
	text-align: left;
	padding: 4px;
	background: var(--theme-th-bg);
}
h1{
	text-align: center;
	/* The only center header */
}
h2{
	font-size: 18px;
}
h3{
	font-size: 17px;
}
header{
	margin: 1em 0;
}
body.boardpage > header.thread-page-header{
	margin: 1em 0;
	padding-top: 0;
}
.thread-header-title{
	text-align: center;
}
.thread-header-title h1{
	margin: 0;
}
.thread-header-title h1 a,
.thread-header-title h1 a:visited,
.thread-header-title h1 a:hover,
.thread-header-title h1 a:active{
	color: inherit;
	font: inherit;
	text-decoration: none;
	text-shadow: inherit;
}
h1{
	font-family: "tahoma", "Arial", sans-serif;
	letter-spacing: -2px;
	font-size: 20pt;
	margin: 0;
	text-align: center;
}
hr{
	border: none;
	border-top: 1px solid var(--theme-hr);
	height: 0;
	clear: left;
}
input, textarea{
	font-family: sans-serif;
}
input[type="text"], input[type="password"], textarea{
	border: 1px solid var(--theme-input-border);
	text-indent: 0;
	text-shadow: none;
	text-transform: none;
	word-spacing: normal;
}
label:has(> input[type="checkbox"]),
label:has(> input[type="radio"]){
	display: inline-flex;
	align-items: center;
	gap: var(--control-inline-gap);
}
label > input[type="checkbox"],
label > input[type="radio"]{
	margin-inline-end: 0;
	margin-inline-start: 0;
}
input[type="checkbox"]:not(.delete),
input[type="radio"]{
	margin-inline-end: var(--control-inline-gap);
}
input:disabled,
textarea:disabled,
select:disabled,
input[type="submit"]:disabled,
input[type="button"]:disabled,
button:disabled{
	opacity: var(--theme-form-disabled-opacity);
	cursor: not-allowed;
}
html.hide-post-password .post-password-row{
	display: none;
}
table *{
	margin: 0;
}
table input{
	height: auto;
}
/* ----- Semantic classes ----- */ /* These are classes that are eponymous to their ruleset */ .clear{
	clear: both;
	display: block;
}
.comicsans{
	font-family: "comic", comic sans, comic sans ms, "Comic Neue";
}
.minimal{
	width: 1%;
	white-space: nowrap;
}
.unimportant, .unimportant *{
	/**
		Consider using the <small> element for this next time.

		https://developer.mozilla.org/en-US/docs/Web/HTML/Element/small
		>In HTML5, this element is repurposed to represent side-comments and
		>small print, including copyright and legal text, independent of its
		>styled presentation.
	**/
	font-size: 10px;
}
.useflexstyle{
	display: flex;
}
.useflexstyle > *{
	flex: 1 0 auto;
	/* This is the 2013+ specification. */
	/* For fallbacks, we'll use a prefix tool. */
	transition: border-color 0.25s, flex 0.25s;
	min-width: 0 !important;
}
.useflexstyle > input:focus, .useflexstyle > input:hover{
	flex-grow: 3;
}
.useflexstyle input[type='text']:focus{
	border-color: #e3bc71;
}
/* --- Color Scheme --- */ /* This section is separated because its the only category where you */ /* have more attention on its rules than its specifity */ h1, h2, h3, h4, h5, h6, .subtitle{
	color: var(--theme-heading);
}.top {
	background: var(--theme-top-bg);
}
/* ---------- MAIN SITE BODY ---------- */ /* navigation bar */ .boardlist{
	color: var(--theme-boardlist);
	font-size: small;
	margin-top: 3px;
}
.boardlist a{
	text-decoration: none;
}
.top{
	margin: 0 -13px;
	box-shadow: 0 -1px 8px black;
	background: var(--theme-top-bg);

	position: fixed;
	top: 0;
	left: 13px;
	width: 100%;

	z-index: 5;
}
html.navbar-absolute .top{
	position: absolute;
}
.top + *{
	margin-top: 48px;
}
.top .boardlistpart{
	font-size: 0;
	visibility: hidden;
	padding-left: 6px;
	float: left;
}
.top a, .top a:visited{
	display: inline-block;
	color: var(--theme-top-link);
	padding: 6px 3px;
	margin: 0 1px;
	font-size: small;
	visibility: visible;
}
.top a[href="/"]{
	font-weight: bold;
	color: var(--theme-top-home-link);
	padding: 6px;
}
.top a[href="/"]:hover{
	color: #6bc279;
}
.modboardlistpart a, .modboardlistpart a:visited{
	opacity: 0.65;
}
.top a:hover{
	color: var(--theme-top-link-hover-fg);
	background: var(--theme-top-link-hover-bg);
}
.top .boardlistactive{
	padding-top: 3px;
	border-top: 3px solid var(--theme-top-active-border);
	background: var(--theme-top-active-bg);
}
.top .boardlistpart a:before, .top .boardlistpart a:after{
	content: "/";
}
.top .boardlistpart a[href="/"]:before, .top .boardlistpart a[href="/"]:after, .top .settingsSection a:before, .top .settingsSection a:after{
	content: "";
}
.top .settingsSection{
	float: right;
}
.top .settingsSection a{
	font-weight: bold;
	padding: 6px;
	margin: 0 5px;
}
.top .settingsSection a.watcherButton, .top .settingsSection a.settingsButton, .top .settingsSection a.recentNavButton{
	display: inline-flex;
	align-items: center;
	gap: 0.35em;
}
.top .settingsSection a.watcherButton{
	padding-inline: 0.85em;
	margin-inline: 0.35em;
}
.top .open{
	background: var(--theme-top-active-bg);
}
.file-picker-list li{
	margin-top: 5px;
	margin-bottom: 5px;
}
.CodeMirror{
	height: auto;
}
.noscript-warning{
	display: block;
	width: 100%;
	text-align: center;
	margin-bottom: 15px;
	color: red;
	font-size: 30px;
}
.theme-edit-msg{
	display: block;
	width: 100%;
	text-align: center;
	margin-bottom: 15px;
}
.theme-edit-error{
	display: block;
	color: red;
}
.theme-save{
	margin-top: 30px;
	text-align: center;
}
/* Board headers */ .subtitle{
	font-size: 8pt;
	text-align: center;
}
.heading{
	color: var(--theme-heading);
	font-size: 11pt;
	font-weight: bold;
}
.banner{
	background-color: var(--theme-banner-bg);
	font-size: 12pt;
	font-weight: bold;
	text-align: center;
	margin: 1em 0;
}
.banner, .banner a, .banner a:visited, .banner a:hover{
	color: var(--theme-banner-color);
}
.banner a:hover{
	text-decoration: none;
}
.top + .banner{
	display: block;
	border: 1px solid #a9a9a9;
	margin: 0 auto;
	max-width: 95%;
}
img.banner{
	display: block;
	margin-left: auto;
	margin-right: auto;
	width: 400px;
	height: 100px;
	max-width: 100%;
}
/* The post form */ form[name='post']{
	margin-bottom: 2em;
}
form[name="post"] input[type="submit"][name="post"]{
	margin-left: 8px;
}
/* Help bubbles */ @media screen and (min-width: 480px){
	form[name="post"] td {
		/* Hang help messages over the fields */
		position: relative;
	}
}
@media screen and (max-width: 480px){
	form[name="post"] tr {
		/* Hang help messages over the fields and their headers*/
		position: relative;
	}
}
.help-bubble{
	cursor: default;
	font: bold 0.7em/1.3em sans-serif;
	display: inline-block;
	padding: 2px 1px 0;
	width: 1.52em;
	height: 1.52em;
	border-radius: 1em;
	text-align: center;
	box-shadow: 0 0.03em 0.04em 0 rgba(29, 29, 29, 0.28);
	background: var(--theme-help-bubble-bg);
	color: var(--theme-help-bubble-fg, var(--theme-help-bubble-color, var(--theme-content-fg)));
	border: 1px solid var(--theme-help-bubble-border, var(--theme-reply-border));

	position: relative;
	top: -0.11em;
	left: 0.5ex;
}
.help-details{
	/* Hide behind stuff but still have dimensions */
	visibility: hidden;
	overflow: hidden;
	z-index: -1;

	/* fade animation with delay */
	opacity: 0;
	transition: opacity 150ms ease-in,
	z-index 0ms 250ms,
	visibility 0ms 250ms;

	/* Don't displace the input fields */
	position: absolute;
	left: 0;

	margin-top: 2px;
	border: 1px solid var(--theme-help-details-border, var(--theme-reply-border));
	padding: 0.75em;
	background-color: var(--theme-help-details-bg, var(--theme-overlay-bg, var(--theme-reply-bg)));
	background-image: var(--theme-help-details-bg-image, none);
	color: var(--theme-help-details-fg, var(--theme-content-fg));
	box-shadow: var(--theme-floating-panel-shadow);
	border-radius: 3px;
}
.help-bubble:hover + .help-details, .help-details:hover{
	/* Make visible and overlap content */
	visibility: visible;
	opacity: 1;
	z-index: 25;
	overflow: auto;
	max-height: min(70vh, 32rem);

	/* opening animations */
	transition: opacity 150ms ease-in 400ms,
	z-index 0ms 400ms;
}
.help-bubble:active + .help-details, .help-details:hover{
	/* Touchscreen behavior */
	transition: opacity 50ms ease-in 0ms,
	z-index 0ms 0ms;
}
.help-details p + p{
	/* Spacing is between paragraphs only */
	padding-top: 0.5em;
}
.help-demo{
	padding: 0.5em 0 0.5em 0.5em;
}
textarea ~ .help-details{
	/** the details for the message box is allowed to go
	on the right side since it's expandable. **/
	right: 0;
	left: auto;
}
/* blotter */ .blotter{
	color: var(--theme-blotter);
	font-weight: bold;
	text-align: center;
}
/* --- All css relating to board content --- */ /* -- Threads -- */ .threadviewlink{
	margin: 0 3px;
}
.intro .thread-nav-group{
	display: inline-flex;
	align-items: baseline;
	gap: 0;
	white-space: nowrap;
	margin-left: -0.175em;
}
.intro .thread-nav-group .threadviewlink{
	margin: 0;
}
.intro .thread-nav-group + .mentioned > .backlink:first-child{
	margin-left: 0;
}
html.hide-reply-link .threadviewlink-reply{
	display: none;
}
.thread-view-group{
	display: inline;
	white-space: nowrap;
}
.thread-view-group .threadviewlink{
	margin: 0;
}
.thread-view-bracket,
.thread-view-separator{
	color: inherit;
	font: inherit;
	text-decoration: none;
}
.icon{
	/* Icons for the thread's status */
	margin: 0 5px;
}
.intro .thread-status-icons{
	display: inline-flex;
	align-items: center;
	gap: 2px;
	margin-right: 0.15em;
	vertical-align: baseline;
}
.intro .thread-status-icons .icon{
	margin: 0;
}
.omitted{
	display: block;
	/*margin-top: 1em;*/
}
.thread hr{
	border-color: #d9d6d9;
}
/* --- Posts --- */ .post{
	min-width: 50%;
	max-width: 97%;
	box-sizing: border-box;
}
.postContainer{
	padding-top: 1px;
}
.post.reply:not(.post-hover)::after,
div.post.reply:not(.post-hover)::after{
	content: "";
	display: block;
	clear: both;
}
/* header */ .intro{
	margin: 0.3em 0 0.2em 0;
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	column-gap: 0.35em;
	row-gap: 0.1em;
}
.intro > span.controls.post-intro-controls,
.intro > span.controls.public-post-controls,
.intro .post-header-actions{
	margin-left: 0;
	align-self: center;
	flex-shrink: 0;
}
.intro > span.controls.mod-control-group{
	margin-left: 0;
	align-self: baseline;
	flex-shrink: 0;
}
.intro .post-intro-controls-spacer{
	flex: 1 1 auto;
	min-width: 0.35em;
}
.intro .post-header-actions{
	display: flex;
	flex: 1 1 auto;
	align-items: baseline;
	justify-content: flex-end;
	column-gap: 0.35em;
	row-gap: 0.1em;
}
.intro .controls{
	float: none;
}
.delete{
	margin: 0 6px 0 0;
	flex-shrink: 0;
	align-self: center;
}
.subject{
	color: var(--theme-subject);
	font-weight: bold;
	font-size: 125%;
}
.name,
.namepart .name,
.wposter,
p.intro .name{
	font-weight: bold;
	color: var(--theme-name) !important;
	font-family: inherit;
	font-style: inherit;
	font-size: inherit;
	line-height: inherit;
	letter-spacing: inherit;
	text-shadow: inherit;
	text-decoration: none;
}
.trip,
.namepart .trip,
p.intro .trip{
	color: var(--theme-trip);
	font-family: inherit;
	font-style: inherit;
	font-size: inherit;
	line-height: inherit;
	letter-spacing: inherit;
	text-shadow: inherit;
}
.capcode, .nametag{
	color: var(--theme-capcode);
	margin-left: 0;
}
.post_no,
a.post_no{
	color: var(--theme-post-no);
	text-decoration: none;
	margin: 0;
	padding: 0;
}
.intro .post_no,
.intro a.post_no{
	font-size: inherit;
	font-weight: normal;
}
a.post_no:hover,
a.post_no:focus{
	color: var(--theme-post-no-hover);
}
/* -- figure -- */ .fileinfo,
.fileinfo a,
.fileinfo .morefileinfo,
.post p.fileinfo,
.reply .fileinfo{
	font-size: 10px;
	font-family: inherit;
	font-weight: inherit;
	font-style: inherit;
	line-height: 1;
	letter-spacing: inherit;
	text-transform: none;
	margin: 0;
	padding-top: 0;
	padding-bottom: 0;
	padding-right: 0;
	word-break: break-all;
}
.fileinfo a,
.fileinfo .morefileinfo{
	margin: 0;
	padding: 0;
}
.thumbContainer{
	display: block;
	float: left;
	position: relative;
	margin: 5px 20px 0 0;
}
.thumbContainer.silentvideo .silent-autoplay-blocked-notice{
	position: absolute;
	left: 50%;
	bottom: 8px;
	transform: translateX(-50%);
	box-sizing: border-box;
	max-width: calc(100% - 8px);
	padding: 4px 8px;
	border-radius: 4px;
	background: rgba(0, 0, 0, 0.68);
	color: #fff;
	font-size: 11px;
	line-height: 1.25;
	text-align: center;
	pointer-events: none;
	z-index: 1;
	text-shadow: 0 1px 1px rgba(0, 0, 0, 0.45);
}
.thumbContainer.silentvideo .silent-autoplay-blocked-notice__line{
	display: block;
	white-space: nowrap;
}
.thumbContainer.silentvideo .silent-autoplay-blocked-notice__hint{
	display: block;
	font-size: 10px;
	opacity: 0.92;
}
.thumbContainer.silentvideo .silent-autoplay-blocked-notice__icon{
	margin-right: 0.2em;
}
.postimg{
	display: block;
	border: none;
}
.fullImageContainer + .thumbContainer, .expanded + .thumbContainer{
	display: none;
}
/* -- body content -- */ .body{
	margin-left: 1.5em;
	word-wrap: break-word;
	white-space: pre-wrap;
	color: var(--theme-content-fg) !important;
}
/* icons */ .diceroll, .conch{
	font-weight: bold;
	margin-right: 0.75em;
}
.diceroll:before{
	content: url(img/dice.png);
}
.conch:before{
	content: url(img/Bag_Helix_Fossil_Sprite.png);
}
/* links */ .postlink{
	word-wrap: normal;
	white-space: nowrap;
}
.bodylink{
	color: var(--theme-link);
}
/* BBcode */ .hashtag{
	display: inline-block;
	margin: 0.25ex;
	background: #232b2b;
	background: linear-gradient(top, #43475e 0%,#232b2b 49%,#1c1c1c 100%);
	padding: 0.2em 0.5em;
	border-width: 1px;
	border-style: none solid solid none;
	border-color: #111;
	box-shadow: 1px 1px 3px #555;
	color: #edc;
}
.shy{
	font-size: 0.6rem;
	text-transform: lowercase;
}
.spoiler{
	background: black;
	color: black;
	padding: 0 1px;
}
.spoiler a{
	color: black;
}
.spoiler:hover, .spoiler:hover a, .spoiler-force-color{
	color: white;
}
/* other parsed elements */ .quote{
	color: var(--theme-quote);
}
.orangetext{
	color: #E07000;
}
.royalluna{
	text-shadow: 2px 2px 0px rgba(64, 64, 64, 0.4),
				-2px -2px 0px rgba(64, 64, 64, 0.2);
	font-size: 1.1em;
}
/* Post footnotes */ .public_ban{
	display: block;
	color: red;
	font-weight: bold;
	margin-top: 15px;
}
.toolong{
	display: block;
	margin-top: 15px;
}
.editmsg{
	font-style: italic;
	font-size: 75%;
	margin-top: 1em;
}
.postfooter{
	/* Where the 'watch' button goes. */
	font-size: 90%;
	text-align: right;
	margin: 0 0.3em 0 0;
}
.footer-item{
	display: inline;
	margin: 0;
	padding: 0;
}
.footer-item + .footer-item:before{
	content: "•";
	padding: 0 0.7em;
}
.postfooter a{
	text-decoration: none;
}
/* --- OP --- */ .opMain{
	margin-right: 20px;
	margin-bottom: 5px;
}
.post.op .opMain::after,
div.post.op .opMain::after{
	content: "";
	display: block;
	clear: both;
}
/* --- Replies --- */
.post.reply:not(.post-hover):not(.post-inline),
div.post.reply:not(.post-hover):not(.post-inline),
.reply:not(.post-hover):not(.post-inline){
	display: inline-block;
	margin: 2px 16px 2px 25px;
	padding: 0.3em 0.5em 0.5em 0.5em !important;
	position: relative;
}
.post.reply:not(.post-hover):not(.post-inline) > .intro,
div.post.reply:not(.post-hover):not(.post-inline) > .intro{
	margin-top: 0 !important;
	line-height: 1.1;
}
.post.reply:not(.post-hover):not(.post-inline) > .intro .post_no,
div.post.reply:not(.post-hover):not(.post-inline) > .intro .post_no,
.post.reply:not(.post-hover):not(.post-inline) > .intro a.post_no,
div.post.reply:not(.post-hover):not(.post-inline) > .intro a.post_no{
	line-height: inherit !important;
}
/* --theme-reply-bg: canonical reply-post surface background */
.post.reply:not(.highlighted):not(.post-hover),
div.post.reply:not(.highlighted):not(.post-hover),
.reply:not(.highlighted):not(.post-hover){
	background: var(--theme-reply-bg);
	--theme-checkbox-cutout-color: var(--theme-reply-bg);
}
.reply{
	border-width: 1px;
	border-style: none solid solid none;
	border-color: var(--theme-reply-border);
}
.reply .body{
	margin: 0.8em 0 0 1.8em;
	padding-right: 3em;
}
.reply.highlighted{
	background: var(--theme-reply-highlight-bg);
	--theme-checkbox-cutout-color: var(--theme-reply-highlight-bg);
}
/* ---- Bottom of the page ---- */ /* User post controls */ .controls{
	float: right;
	margin: 0;
	padding: 0;
	font-size: 80%;
}
.controls.op{
	float: right;
	clear: right;
	margin-left: 10px;
}
.controls a,
span.controls button.mod-inline-action{
	margin: 0;
}
span.controls a,
span.controls a.mod-inline-action,
span.controls button.mod-inline-action{
	color: var(--theme-link) !important;
	text-decoration: none;
	font: inherit !important;
	font-size: inherit !important;
	font-weight: inherit !important;
	font-style: inherit !important;
	font-family: inherit !important;
	line-height: inherit !important;
	text-transform: none !important;
	letter-spacing: normal !important;
	text-shadow: none !important;
	vertical-align: baseline;
}
span.controls a:hover,
span.controls a.mod-inline-action:hover,
span.controls button.mod-inline-action:hover{
	color: var(--theme-link-hover) !important;
	background: none !important;
	box-shadow: none !important;
	text-shadow: none !important;
}
span.controls button.mod-inline-action:active{
	background: none !important;
	box-shadow: none !important;
	text-shadow: none !important;
}
span.controls button.mod-inline-action:focus{
	outline: none;
}
span.controls a:focus-visible,
span.controls a.mod-inline-action:focus-visible,
span.controls button.mod-inline-action:focus-visible{
	outline: 2px solid var(--theme-link);
	outline-offset: 1px;
}
span.controls.mod-control-group{
	display: inline-flex;
	align-items: baseline;
	flex-wrap: nowrap;
	vertical-align: baseline;
}
span.controls.mod-control-group a.mod-inline-action,
span.controls.mod-control-group button.mod-inline-action,
span.controls.mod-control-group .mod-control-separator{
	color: var(--theme-link) !important;
	text-decoration: none;
	font: inherit !important;
	font-size: inherit !important;
	font-weight: inherit !important;
	font-style: inherit !important;
	font-family: inherit !important;
	line-height: inherit !important;
	text-transform: none !important;
	letter-spacing: normal !important;
	text-shadow: none !important;
	margin: 0;
	padding: 0;
	border: 0;
}
span.controls.mod-control-group .mod-control-separator{
	pointer-events: none;
	cursor: default;
}
span.controls.mod-control-group .mod-control-separator:hover{
	color: var(--theme-link) !important;
	background: none !important;
	box-shadow: none !important;
	text-shadow: none !important;
}
span.controls.post-action-group a,
span.controls.post-action-group .post-action-separator{
	color: var(--theme-link) !important;
	text-decoration: none;
	font: inherit !important;
	font-size: inherit !important;
	font-weight: inherit !important;
	font-style: inherit !important;
	font-family: inherit !important;
	line-height: inherit !important;
	text-transform: none !important;
	letter-spacing: normal !important;
	text-shadow: none !important;
	vertical-align: baseline;
}
span.controls.post-action-group a:hover{
	color: var(--theme-link-hover) !important;
	background: none !important;
	box-shadow: none !important;
	text-shadow: none !important;
}
span.controls.post-action-group .post-action-separator{
	pointer-events: none;
	cursor: default;
}
span.controls.post-action-group a:focus-visible{
	outline: 2px solid var(--theme-link);
	outline-offset: 1px;
}
.public-post-controls{
	margin-left: 0;
}
/* Page numbers */ .pages{
	display: inline-block;
	color: var(--theme-pages-color);
	background: var(--theme-pages-bg);
	padding: 8px;
	border-right: 1px solid var(--theme-pages-border);
	border-bottom: 1px solid var(--theme-pages-border);
}
.pages .selected{
	color: inherit;
	font-weight: bolder;
}
.pages a{
	text-decoration: none;
}
.pages form{
	margin: 0;
	padding: 0;
	display: inline;
}
.pages input{
	margin: 0 5px;
	display: inline;
}
/* bottom board navigation */ .bottom{
	margin-top: 20px;
}
/* Page footer */ #bottom{
	clear: both;
}
/* -------- Manipulated DOM (Things that don't exist without JS) -------- */ /* ----- News notification ----- */ .popnotice{
	cursor: default;
	box-shadow: 0 -1px 8px black;
	background-color: var(--theme-popnotice-bg);
	color: var(--theme-popnotice-color);
	position: fixed;
	top: 30px;
	right: 0;
	margin: 10px;
	padding: 5px;
	z-index: 100;
	max-width: 500px;
	transition: top 0.4s ease-in-out;
}
.js-required-notice{
	margin: 0.75rem 1rem;
	padding: 0.75rem 1rem;
	background-color: var(--theme-popnotice-bg);
	color: var(--theme-popnotice-color);
	border: 1px solid var(--theme-input-border);
	border-radius: 3px;
	text-align: center;
}
html.js-ready #js-failed-notice{
	display: none !important;
}
html.js-failed #js-failed-notice{
	display: block;
}
html.js-failed #js-failed-notice[hidden]{
	display: block;
}
.notify-preview{
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 10px 12px;
	max-width: 360px;
	pointer-events: none;
}
.notify-preview-icon{
	width: 32px;
	height: 32px;
	flex-shrink: 0;
}
.notify-preview-text{
	min-width: 0;
}
.notify-preview-title{
	font-weight: bold;
	margin-bottom: 2px;
}
.notify-preview-body{
	font-size: 0.95em;
	opacity: 0.95;
}
.top_notice{
	text-align: center;
	margin: 48px auto 1em;
}
/* ----- Thread watcher ----- */ .watcherAlerts{
	font-weight: bold;
}
.top .settingsSection a.watcherButton.has-unread{
	background: var(--theme-top-active-bg);
	border: 1px solid var(--theme-top-active-border);
	font-weight: bold;
	color: var(--theme-top-link);
}
.top .settingsSection a.watcherButton.has-unread:hover{
	color: var(--theme-top-link-hover-fg);
	background: var(--theme-top-link-hover-bg);
}
@keyframes watcher-unread-pulse{
	0%, 100%{
		box-shadow: 0 0 0 0 transparent;
	}
	50%{
		box-shadow: 0 0 8px 2px var(--theme-top-active-border);
	}
}
.top .settingsSection a.watcherButton.has-unread-pulse{
	animation: watcher-unread-pulse 1.2s ease-in-out 3;
}
@media (prefers-reduced-motion: reduce){
	.top .settingsSection a.watcherButton.has-unread-pulse{
		animation: none;
	}
}
#watcherScreen,
#settingsScreen{
	margin: 0 15px 15px 0;
	padding: 0;
	border: 1px solid var(--theme-overlay-border, var(--theme-reply-border, rgba(0, 0, 0, 0.25)));
	border-radius: 3px;
	background-color: var(--theme-body-bg-color);
	background-image: none;
	color: var(--theme-content-fg, inherit);
	position: fixed;
	top: calc(var(--site-navbar-offset, 48px) + var(--utility-panel-top-gap, 8px));
	right: 0;
	box-shadow: var(--theme-floating-panel-shadow);
	max-height: calc(100vh - var(--site-navbar-offset, 48px) - var(--utility-panel-top-gap, 8px) - 16px);
	max-width: 95%;
	overflow: auto;
	display: none;
}
#watcherScreen{
	z-index: 20;
}
#settingsScreen{
	z-index: 21;
}
#watcherScreen .settings-close-button.wunwatch,
#settingsScreen .settings-close-button.wunwatch{
	appearance: none;
	-webkit-appearance: none;
	box-sizing: border-box;
	cursor: pointer;
	font-family: sans-serif;
	text-decoration: none;
	text-align: center;
	margin: 0;
	line-height: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	flex-shrink: 0;
	font-size: 9pt;
	width: 1.35em;
	height: 1.35em;
}
.watcherMenu{
	padding: 0 0.5em 0.5em;
}
/* -- Watcher content -- */ .wmod .wcontent{
	padding: 0 0.5ex 0.25em;
	margin: 0;
	list-style: none;
}
.wmod .wcontent a{
	color: var(--theme-link);
	text-decoration: underline;
}
.wmod .wcontent a:hover, .wmod .wcontent a:focus{
	color: var(--theme-link-hover);
}
.wthread{
	padding: 0.35em 0.5ex 0.65em;
	border: none;
	box-sizing: border-box;
}
.wthread.has-new-posts{
	background-color: var(--theme-watcher-unread-bg);
	border: 1px solid var(--theme-watcher-unread-border);
	border-radius: 3px;
}
.wcontent{

}
.wtop{
	display: flex;
	align-items: baseline;
	gap: 0.5em;
}
.widentity{
	flex: 1;
	min-width: 0;
	display: flex;
	align-items: baseline;
	gap: 0.35em;
	overflow: hidden;
}
.wactions{
	display: inline-flex;
	align-items: baseline;
	flex-shrink: 0;
}
.wactions .threadviewlink,
.wactions .wthread-open{
	margin: 0;
}
.wthread-label .wthread-open,
.wthread-label .wthread-plus50{
	margin: 0;
}
.wthread-open{
	flex-shrink: 0;
	color: var(--theme-link);
	text-decoration: none;
}
.wthread-open:hover, .wthread-open:focus{
	color: var(--theme-link-hover);
	text-decoration: underline;
}
.wthread-label{
	flex: 1 1 auto;
	min-width: 0;
	display: inline-flex;
	align-items: baseline;
	overflow: hidden;
	white-space: nowrap;
	color: inherit;
}
.wboard-path{
	flex: 0 0 auto;
}
.wthread-label-text{
	font-weight: bold;
}
.wthread-title-link,
.wthread-label > .wthread-label-text:not(a){
	flex: 0 5 auto;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.wthread-title-link{
	color: var(--theme-link);
	text-decoration: none;
	font-weight: bold;
}
.wthread-label .wthread-plus50{
	flex: 0 0 auto;
	flex-shrink: 0;
	overflow: visible;
	text-overflow: clip;
	white-space: nowrap;
}
.wposter-wrap{
	display: inline-flex;
	align-items: baseline;
	min-width: 0;
	margin-left: 0.2em;
	flex: 0 1 auto;
	overflow: hidden;
	max-width: 45%;
}
.wby-prefix{
	flex: 0 0 auto;
	white-space: pre;
}
.wposter{
	flex: 1 1 auto;
	min-width: 3.5ch;
	max-width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
/* utility-panel-contract sets #watcherScreen a { font-weight: inherit !important } */
#watcherScreen a.wthread-title-link,
#watcherScreen a.wthread-title-link:hover,
#watcherScreen a.wthread-title-link:focus,
.wthread.has-new-posts a.wthread-title-link,
.wthread.has-new-posts a.wthread-title-link:hover,
.wthread.has-new-posts a.wthread-title-link:focus{
	font-weight: bold !important;
}
.wthread-title-link:hover,
.wthread-title-link:focus{
	color: var(--theme-link-hover);
	text-decoration: underline;
}
.wby{
	font-weight: normal;
}
.wcounts{
	margin-left: auto;
	display: flex;
	align-items: center;
	gap: 0.35em;
	white-space: nowrap;
	flex-shrink: 0;
}
.wpoststatus{
	opacity: 0.85;
}
.wpoststatus.has-new{
	opacity: 1;
	font-weight: bold;
}
#watcherScreen .wcounts .wunwatch{
	position: static;
	right: auto;
	top: auto;
	transform: none;
	float: none;
}
.wdetails{
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	margin-left: 1.75em;
	margin-top: 0.15em;
	padding-left: 0;
	color: inherit;
	opacity: 0.85;
}
.wcounterror{
	flex: 0 0 auto;
	opacity: 0.85;
	font-style: italic;
}
.wstatus, .wempty{
	margin: 0.5em 1ex;
	opacity: 0.85;
}
/* ----- Settings box (dialog close only; panel header close is in utility-panel-contract) ----- */ dialog .settings-close-button{
	appearance: none;
	-webkit-appearance: none;
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: transparent;
	border: 1px solid currentColor;
	border-radius: 3px;
	cursor: pointer;
	float: right;
	margin: 2px;
	padding: 0 0.2em;
	font-size: 20pt;
	line-height: 1;
	font-family: sans-serif;
	text-decoration: none;
	color: var(--theme-link);
}
dialog .settings-close-button:hover, dialog .settings-close-button:focus{
	color: var(--theme-link-hover);
	opacity: 0.85;
}
#settings-overlay{
	background-color: transparent;
	z-index: 19;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: none;
}
.settingsScreen label{
	cursor: pointer;
	user-select: none;
	-moz-user-select: none;
	-webkit-user-select: none;
	-ms-user-select: none;
}
.settingsScreen .disable_message{
	color: blue;
}
.settingsScreen input[type=number]{
	width: 4em;
	text-align: right;
}
.settingsScreen input[type=number], .settingsScreen textarea{
	margin-left: 2em;
}
#settingsScreen h1 a{
	float: right;
	margin: 0 11px 2px 2px;
	text-decoration: none;
}
#settingsScreen .setting_section button{
	margin: 2px 3px;
}
#settingsScreen .setting_row button{
	margin-left: 0;
}
.setting_section{
	margin-bottom: 0.5em;
}
#settingsScreen .setting_row{
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: var(--control-inline-gap);
	padding: 0 0.5ex;
	margin: 0;
	line-height: 1.25;
}
#settingsScreen .setting_row > input[type="checkbox"],
#settingsScreen .setting_row > input[type="radio"]{
	margin-inline-end: 0;
}
/*-- Warning message --*/ dialog .settings-close-button{
	font-size: 1.5em;
	line-height: 0.1em;
	padding: 0 0.2em;
	position: absolute;
	margin-left: -200px !important;
	top: 0.4em;
}
/* ----- Mod tools ----- */ .mod-poster-identity-name-link{
	text-decoration: none !important;
}
a.name.mod-poster-identity-name-link:hover,
a.name.mod-poster-identity-name-link:focus,
.namepart a.mod-poster-identity-name-link:hover,
.namepart a.mod-poster-identity-name-link:focus{
	color: var(--theme-link-hover) !important;
}
.userbanlist{
	text-align: center;
}
.userbanlist table{
	margin: auto;
	width: 400px;
	margin-bottom: 10px;
	border-bottom: 1px solid #ddd;
	padding:5px
}
.banlist td{
	padding: 2px;
	white-space: nowrap;
}
.banlist{
	width: 100%;
}
.ban-hidden{
	display: none;
}
.report{
	color: #333;
}
.modlog{
	margin: auto;
	width: 100%;
}
.modlog td{
	text-align: left;
	margin: 0;
	padding: 4px 15px 0 0;
}
.modlog th{
	text-align: left;
	padding: 4px 15px 5px 5px;
	white-space: nowrap;
}
.config-editor{
	font-size: 9pt;
	width: 100%;
}
.config-editor td{
	text-align: left;
	padding: 5px;
	border-bottom: 1px solid #98e;
}
.config-editor input[type="text"]{
	width: 98%;
}
.searchPage li{
	margin: 10px 5px;
}
.searchPage input[type=text]{
	min-width: 30em;
	margin-right: 1em;
}
/* Spoiler entire thread */ .spoileredThread .body:not(.spoileredThreadControls), .spoileredThread .replyContainer{
	display: none !important;
}
/* ---- Quick reply ---- */ /* -- QR toggle -- */ /* reloader */ #updateSettings{
	background-color: grey;
	text-align: right;
	padding: 2px;
}
#updateIntervalField{
	width: 3em;
}
/* ========================= QR (legacy note) ========================= */
/* Geometry: modules/qr-contract.css */
/* Semantic surfaces: modules/qr-visual-contract.css */ /* ----- For individual post features ----- */ /* -- Header -- */ .backlink{
	margin-left: 0.35em;
	display: inline-block;
}
.mentioned::before,
.mentioned:before {
	content: none;
}
.mentioned {
	font-size: 10px;
	line-height: 1;
}
.backlink-more {
	margin-left: 0.25em;
	display: inline-block;
}
/* -- collapsible spoilers -- */ .body .hidetext,
.opMain > .body .hidetext{
	clear: none;
	display: inline;
	vertical-align: baseline;
	box-sizing: border-box;
	max-width: none;
	width: auto;
	margin: 0 0.2em;
	padding: 0.15em 0.35em;
	transition: padding 0.15s ease-in-out, background 0.15s ease-in-out;
	transform: none;
	transform-origin: initial;
}
.body .hidetext.off,
.opMain > .body .hidetext.off{
	display: none !important;
	height: auto !important;
	padding: 0;
	margin: 0;
	border: none;
	overflow: hidden;
	transform: none !important;
}
.post.op:has(.thumbContainer) .opMain > .body .hidetext:not(.off),
.post.reply:has(.thumbContainer) .body .hidetext:not(.off){
	margin-left: 0.35em;
}
.body .hidetogglebutton,
.opMain > .body .hidetogglebutton{
	display: inline;
	vertical-align: baseline;
	margin: 0 0.15em;
	min-width: 0;
}
.hidetext{
	padding: 5px;
	background: #ddd;
	clear: none;
	margin: 5px;
	border: 1px solid rgba(0,0,0,0.3);
	background: rgba(0,0,0,0.1);
}
.hidetext.off{
	height: 0 !important;
	padding-top: 0;
	padding-bottom: 0;
	overflow: hidden;
}
/* Post hider stubs */ .postHider, .postStub{
	font-size: 13px;
}
.postHider a{
	text-decoration: none;
}
/* for OP posts without a file */ .op .postHider{
	float: left;
	margin-left: -5px;
	margin-right: 4px;
}
.reply .postHider{
	position: absolute;
	margin-left: -34px;
}
.replyContainer .postStub{
	margin-left: -3px;
}
.post-inline .postHider, .post-hover .postHider{
	display: none;
}
.hidetogglebutton{
	min-width: 4em; /* Post unhider */
}
/* -- handling images -- */ /* Hover preview */ .thumbContainer.video::before{
	content: "";
	background-image: url('img/speaker_icon.png');
	background-size: 24px;
	width: 24px;
	height: 24px;
	display: block;
	position: absolute;
	bottom: 6px;
	right: 6px;
	pointer-events: none;
}
.image-hover{
	position: absolute;
	margin: 0;
	padding: 0;
	max-width: 75vw;
	max-height: 95vh;
	z-index: 10;
}
/* Inline preview */ .loading{
	opacity: 0.4;
	filter: alpha(opacity=40);
}
.expanded{
	width: auto !important;
	height: auto !important;
	max-width: 85%;
	max-height: 85%;
	max-width: 85vw;
	max-height: 85vh;
}
/* -- Handling Youtube embeds -- */ .embed{
	display: block;
	margin: 5px;
}
.inline-youtube-wrap{
	/* Inline-level beside floats; line break before wrap starts a new line under the link. */
	display: inline-block;
	vertical-align: top;
	clear: none;
	position: static;
	width: 250px;
	max-width: 100%;
	margin: 0.35em 0 0;
}
.inline-youtube-player-box{
	display: block;
	position: relative;
	box-sizing: border-box;
	width: 100%;
	height: 140px;
	max-width: 100%;
}
.inline-youtube-wrap .inline-youtube,
.inline-youtube-wrap .inline-youtube-player-box .inline-youtube,
.inline-youtube-wrap iframe.embed.inline-youtube{
	float: none !important;
	display: block;
	position: static;
	width: 250px;
	height: 140px;
	max-width: 100%;
	margin: 0;
}
.inline-youtube-play{
	position: relative;
	display: block;
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	background: var(--theme-reply-bg, #1a1a1a);
	cursor: pointer;
	color: inherit;
	font: inherit;
}
.inline-youtube-play:focus-visible{
	outline: 2px solid var(--theme-link, #34345c);
	outline-offset: 2px;
}
.inline-youtube-thumbnail{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.inline-youtube-thumbnail.inline-youtube-thumbnail-missing{
	display: none;
}
.inline-youtube-play-icon{
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.75em;
	height: 2.75em;
	border-radius: 50%;
	background: rgba(0, 0, 0, 0.55);
	color: #fff;
	font-size: 1rem;
	line-height: 1;
	pointer-events: none;
}
/* -- Handling post previews -- */ /* Hover preview */ .post-hover{
	position: fixed;
	display: block;
	z-index: 10;
	opacity: 1;
	background: var(--theme-reply-bg) !important;
	padding: 0 0.5em 0.5em 0.5em;
	max-width: calc(100vw - 16px);
	max-height: calc(100vh - 16px);
	overflow-y: auto;
}
/* Inline preview */ .inline-wrap-nested{
	display: block;
	clear: both;
	margin: 0.2em 0 0.35em 1.8em;
}
.post-inline{
	margin: 2px;
}
.post-hover, .post-inline{
	border-style: solid;
	box-shadow: 1px 1px 1px rgba(0,0,0,0.3);
}
.post-inline .body{
	margin-left: 0.3em;
	padding-right: 0.2em;
}
.preview-hidden{
	display: none;
}
.inlined{
	opacity: 0.5;
}
.parent-link{
	text-decoration: none;
	border-bottom: 1px dashed;
}
.filtered-backlink{
	display: none;
}
/* Footers, Edit button */ .postfooter{
	margin: 0 0.3em 0 0;
}
.footer-item{
	display: inline;
	margin: 0;
	padding: 0;
}
.footer-item + .footer-item::before{
	content: "•";
	padding: 0 1ex;
}
/* - Editing posts - */ .reply .postfooter{
	position: absolute;
	right: 0;
	bottom: 0;
	font-size: 0.85em;
	margin-right: 0.3em;
}
.edit-form{
	margin: 0.5em 0.5em 0.8em 2em;
}
.edit-controls > * + *{
	margin-left: 0.5em;
}
.post .edit-form ~ .body{
	display: none !important;
}
.edit-body{
	padding: 0.2em;
	min-width: 250px;
	min-height: 5em;
}
/* Navbar stuff */ .setting_more_details{
	font-size: 10pt;
	margin-left: 2.7em;
}
.post-captcha-row td{
	vertical-align: top;
}
.mod-captcha-toggle-form{
	display: inline;
}
.mod-captcha-toggle-form input[type="submit"]{
	margin-left: 8px;
}
/* ----- mobile stuff ----- */ @media screen and (max-width: 480px){
	body {
		margin: 0;
		padding: 0;
	}
input[type="text"], textarea {
		width: 220px;
	}
.inline-edit-body .inline-edit-form{
		width: min(220px, 100%);
	}
	.inline-edit-form textarea{
		width: 100%;
	}
.top,
	div.boardlist.top {
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		width: 100%;
		max-width: 100svw;
		margin: 0 !important;
		box-sizing: border-box;
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: flex-start;
	}
.top .boardlistpart{
		float: none;
		min-width: 0;
		max-width: 100%;
		flex: 0 1 auto;
	}
.top .settingsSection{
		float: none !important;
		clear: both;
		flex: 1 0 100%;
		width: 100%;
		max-width: 100%;
		min-width: 0;
		box-sizing: border-box;
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-end;
		align-items: center;
		gap: 0.15em 0.35em;
		padding-left: 4px;
		padding-right: 4px;
	}
.top .settingsSection a{
		margin-left: 0 !important;
		margin-right: 0 !important;
		flex: 0 1 auto;
		min-width: 0;
		max-width: 100%;
	}
.top .settingsSection a.watcherButton,
.top .settingsSection a.settingsButton,
.top .settingsSection a.recentNavButton{
		margin-inline: 0 !important;
		padding-inline: 0.45em;
	}
html.navbar-absolute .top {
		position: absolute;
	}
.post {
		display: block;
		margin-left: 2px;
		margin-right: 2px;
		overflow: auto;
	}
.reply .body {
		margin-left: 0.3em;
		padding-right: 0.2em;
	}
.reply .postHider {
		float: left;
		position: static;
		margin: 0 4px 0 -3px;
	}
.intro .postHider {
		margin-left: 0;
	}
.postHider {
		display: inline;
	}
.post-inline {
		clear: both;
	}
.homeblock{
		width: auto;
		max-width: 100%;
		min-width: 0;
		box-sizing: border-box;
		overflow-wrap: anywhere;
		word-wrap: break-word;
	}
.homeblock p,
.homeblock li,
.homeblock dd,
.homeblock dt,
.homeblock a,
.homeblock h2,
.homeblock h3{
		overflow-wrap: anywhere;
		word-wrap: break-word;
	}
}
/* Phone landscape: viewport width exceeds 480px so portrait rules do not apply,
   but touch UAs still use --qr-mobile-top from JS. Dock QR right, clear of navbar. */
@media all and (max-width: 600px){
	img.banner {
		height: auto;
	}
}
/* ----- Page specific ----- */ /* Anything that has no relation to the board or thread pages are found here */ /* --- Home --- */ .homepage > header h1{
	font-size: 40pt;
	text-shadow: var(--theme-masthead-text-shadow, 0 0 0.25em rgb(136,136,136));
}
.homepage .subtitle{
	font-size: 16pt;
}
/* Home containers */ .homeblock{
	margin: 1em auto;
	font-size: 110%;
	width: 75%;
	min-width: 300px;
	border: 1px solid var(--theme-homeblock-border);
	padding: 1em;
	border-radius: 3px;
}
.error-panel{
	text-align: center;
	background: var(--theme-reply-bg);
	max-width: min(700px, 100%);
	box-sizing: border-box;
}
.error-panel h2{
	margin-top: 0;
}
.mainhomeblock{
	text-align: center;
	font-size: 130%;
}
.mainhomeblock sup{
	font-size: 0.6em;
}
.staffList{
	list-style: none;
	margin: 0;
	padding: 0;
}
.staffList > li{
	margin: 4px 0;
}
.staffList .details{
	margin-left: 1em;
	font-size: 0.9em;
}
.newscontent{
	margin: 0.5em;
}
#recent_posts{
	white-space: nowrap;
	overflow-x: hidden;
}
.recent_posts_parent{
	display: flex;
	flex-wrap: wrap;
}
.recent_post{
	display: inline-block;
	text-align: center;
	padding: 5px;
	width: 200px;
	vertical-align: middle;
	white-space: normal;
	word-wrap: break-word;

	flex: 1 0 21%;
	margin: 5px;
}
/* Recent Posts test feed (not homepage #recent_posts cards) */
.recent-posts-header{
	margin: 0 0 1em;
}
.recent-posts-controls{
	display: flex;
	flex-wrap: wrap;
	gap: 0.75em 1.25em;
	align-items: flex-end;
	margin-bottom: 0.5em;
}
.recent-posts-controls label{
	display: flex;
	flex-direction: column;
	gap: 0.25em;
	font-size: 0.95em;
}
.recent-posts-board-filter{
	border: none;
	margin: 0;
	padding: 0;
	min-width: 12em;
}
.recent-posts-board-filter legend{
	font-size: 0.95em;
	padding: 0;
	margin-bottom: 0.25em;
}
.recent-posts-board-actions{
	display: flex;
	flex-wrap: wrap;
	gap: 0.5em 0.75em;
	margin: 0 0 0.35em;
	font-size: 0.9em;
}
.recent-posts-board-actions button{
	font: inherit;
	cursor: pointer;
}
.recent-posts-board-list{
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.35em 1em;
	max-width: 36em;
}
.recent-posts-board-option{
	display: inline-flex;
	align-items: center;
	gap: 0.35em;
	cursor: pointer;
	font-weight: normal;
}
/* Neutralize theme fieldset/label backfills (Wheatley, Luna S2, etc.) on Recent board filter only */
body.recent-posts-page .recent-posts-board-filter,
body.recent-posts-page .recent-posts-board-filter legend,
body.recent-posts-page .recent-posts-board-actions,
body.recent-posts-page .recent-posts-board-list,
body.recent-posts-page .recent-posts-board-list li,
body.recent-posts-page .recent-posts-board-option{
	background: none;
	background-color: transparent;
	background-image: none;
}
.recent-posts-empty-boards{
	margin: 0 0 0.75em;
	font-style: italic;
}
.recent-posts-test-note{
	font-size: 0.9em;
	margin: 0.5em 0 0;
}
.recent-posts-new-banner{
	position: sticky;
	top: calc(var(--site-navbar-offset, 48px) + 4px);
	z-index: 5;
	margin: 0 0 0.5em;
}
.recent-posts-new-banner button{
	width: 100%;
	padding: 0.5em;
	cursor: pointer;
}
#recent-feed{
	display: flex;
	flex-direction: column;
	gap: 0;
}
.recent-feed-item{
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
	border: none;
	background: transparent;
	box-shadow: none;
}
body.recent-posts-page{
	--recent-feed-inset: 16px;
	--recent-post-inner-inline: 0.5em;
	--recent-post-inner-block: 0.3em;
}
body.recent-posts-page .recent-feed-item > .thread,
body.recent-posts-page .recent-feed-item > .thread{
	width: 100%;
	max-width: none;
	margin: 0;
}
body.recent-posts-page .recent-feed-item > .postContainer,
body.recent-posts-page .recent-feed-item > .thread > .postContainer{
	width: 100%;
	max-width: none;
	box-sizing: border-box;
}
body.recent-posts-page .recent-feed-item > .postContainer > .post.recent-feed-post:not(.post-hover):not(.post-inline),
body.recent-posts-page .recent-feed-item > .postContainer > div.post.recent-feed-post:not(.post-hover):not(.post-inline),
body.recent-posts-page .recent-feed-item > .thread > .postContainer > .post.recent-feed-post:not(.post-hover):not(.post-inline),
body.recent-posts-page .recent-feed-item > .thread > .postContainer > div.post.recent-feed-post:not(.post-hover):not(.post-inline),
body.recent-posts-page .recent-feed-item > .postContainer > .postStub,
body.recent-posts-page .recent-feed-item > .thread > .postContainer > .postStub{
	position: relative;
	width: auto;
	min-width: 0;
	margin: 2px var(--recent-feed-inset);
	box-sizing: border-box;
}
body.recent-posts-page .recent-feed-item > .postContainer > .post.recent-feed-post.op:not(.post-hover):not(.post-inline),
body.recent-posts-page .recent-feed-item > .postContainer > div.post.recent-feed-post.op:not(.post-hover):not(.post-inline),
body.recent-posts-page .recent-feed-item > .thread > .postContainer > .post.recent-feed-post.op:not(.post-hover):not(.post-inline),
body.recent-posts-page .recent-feed-item > .thread > .postContainer > div.post.recent-feed-post.op:not(.post-hover):not(.post-inline){
	display: block;
	max-width: none;
}
body.recent-posts-page .recent-feed-item > .postContainer > .post.recent-feed-post.reply:not(.post-hover):not(.post-inline),
body.recent-posts-page .recent-feed-item > .postContainer > div.post.recent-feed-post.reply:not(.post-hover):not(.post-inline),
body.recent-posts-page .recent-feed-item > .thread > .postContainer > .post.recent-feed-post.reply:not(.post-hover):not(.post-inline),
body.recent-posts-page .recent-feed-item > .thread > .postContainer > div.post.recent-feed-post.reply:not(.post-hover):not(.post-inline){
	display: inline-block;
	vertical-align: top;
	max-width: 100%;
	min-width: 0 !important;
}
body.recent-posts-page .recent-feed-item > .postContainer > .postStub,
body.recent-posts-page .recent-feed-item > .thread > .postContainer > .postStub{
	display: block;
	max-width: none;
}
body.recent-posts-page .recent-feed-item .post.recent-feed-post.reply:not(.post-hover):not(.post-inline) > .intro,
body.recent-posts-page .recent-feed-item .post.recent-feed-post.reply:not(.post-hover):not(.post-inline) .post-header-actions{
	flex-wrap: wrap;
}
body.recent-posts-page .recent-feed-item .post.recent-feed-post.reply:not(.post-hover):not(.post-inline) > .recent-post-context,
body.recent-posts-page .recent-feed-item .post.recent-feed-post.reply:not(.post-hover):not(.post-inline) .opMain + .recent-post-context{
	width: auto;
	max-width: 100%;
}
body.recent-posts-page .recent-feed-item > .postContainer > .post.recent-feed-post:not(.post-hover):not(.post-inline),
body.recent-posts-page .recent-feed-item > .postContainer > div.post.recent-feed-post:not(.post-hover):not(.post-inline),
body.recent-posts-page .recent-feed-item > .thread > .postContainer > .post.recent-feed-post:not(.post-hover):not(.post-inline),
body.recent-posts-page .recent-feed-item > .thread > .postContainer > div.post.recent-feed-post:not(.post-hover):not(.post-inline){
	padding: var(--recent-post-inner-block) var(--recent-post-inner-inline) 0.5em var(--recent-post-inner-inline);
	background: var(--theme-reply-bg);
	--theme-checkbox-cutout-color: var(--theme-reply-bg);
	border-width: 1px;
	border-style: none solid solid none;
	border-color: var(--theme-reply-border);
}
body.recent-posts-page .recent-feed-item > .postContainer > .postStub,
body.recent-posts-page .recent-feed-item > .thread > .postContainer > .postStub{
	padding: 0.3em var(--recent-post-inner-inline);
}
body.recent-posts-page #recent-feed{
	overflow-x: hidden;
	max-width: 100%;
}
body.recent-posts-page .recent-feed-item .post.recent-feed-post .intro .postHider{
	position: static;
	display: inline;
	float: none;
	margin: 0 0.35em 0 0;
	flex-shrink: 0;
}
body.recent-posts-page .recent-feed-item .post.recent-feed-post.op .opMain{
	margin-right: 0;
	margin-bottom: 0;
}
body.recent-posts-page .recent-feed-item .post.recent-feed-post > .intro,
body.recent-posts-page .recent-feed-item .post.recent-feed-post .opMain > .intro{
	margin-top: 0;
}
body.recent-posts-page .recent-feed-item .post.recent-feed-post.recent-post-has-media .thumbContainer{
	float: left;
	clear: none;
	margin-top: 0;
}
body.recent-posts-page .recent-feed-item .post.recent-feed-post.recent-post-has-media > .intro,
body.recent-posts-page .recent-feed-item .post.recent-feed-post.recent-post-has-media .opMain > .intro{
	clear: none;
	width: auto;
	max-width: none;
}
body.recent-posts-page .recent-feed-item .post.recent-feed-post.recent-post-has-media > .fileinfo,
body.recent-posts-page .recent-feed-item .post.recent-feed-post.recent-post-has-media .opMain > .fileinfo{
	clear: none;
	width: auto;
	max-width: none;
	margin: 0.15em 0 0.25em 0;
}
body.recent-posts-page .recent-feed-item .post.recent-feed-post.reply.recent-post-has-media > .body,
body.recent-posts-page .recent-feed-item .post.recent-feed-post.op.recent-post-has-media .opMain > .body{
	clear: none;
	margin-left: 0;
	margin-top: 0.8em;
	padding-right: 0;
}
body.recent-posts-page .recent-feed-item .post.recent-feed-post.reply.recent-post-no-media > .body,
body.recent-posts-page .recent-feed-item .post.recent-feed-post.op.recent-post-no-media .opMain > .body{
	margin-left: 0;
	padding-right: 0;
}
body.recent-posts-page .recent-feed-item .post.recent-feed-post.reply:not(.post-hover):not(.post-inline) > .body{
	max-width: 100%;
	overflow-wrap: anywhere;
	word-wrap: break-word;
}
body.recent-posts-page .recent-feed-item > .postContainer > .post.recent-feed-post.op > .postfooter,
body.recent-posts-page .recent-feed-item > .thread > .postContainer > .post.recent-feed-post.op > .postfooter{
	display: none;
}
body.recent-posts-page .recent-feed-item .post.recent-feed-post > .recent-post-context,
body.recent-posts-page .recent-feed-item .post.recent-feed-post .opMain + .recent-post-context{
	margin-right: 0;
	margin-left: 0;
	box-sizing: border-box;
}
body.recent-posts-page .recent-feed-item .post.recent-feed-post.op > .recent-post-context,
body.recent-posts-page .recent-feed-item .post.recent-feed-post.op .opMain + .recent-post-context{
	width: 100%;
}
body.recent-posts-page .recent-feed-item .post.recent-feed-post.recent-post-has-media > .recent-post-context,
body.recent-posts-page .recent-feed-item .post.recent-feed-post.recent-post-has-media .opMain + .recent-post-context{
	clear: both;
}
body.recent-posts-page .recent-feed-item > .thread > br.clear,
body.recent-posts-page .recent-feed-item > .thread > hr{
	display: none;
}
.recent-post-context{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: baseline;
	gap: 0.35em 0.5em;
	clear: both;
	margin: 0.35em 0 0.1em 0;
	padding: 0;
	font-size: inherit;
	line-height: inherit;
	opacity: 1;
}
.recent-post-context-links{
	flex: 1 1 auto;
	margin-left: auto;
	min-width: 0;
	text-align: right;
	font-size: 0.8em;
	line-height: 1.25;
	opacity: 0.85;
}
.recent-post-context-watch{
	flex: 0 0 auto;
	font-size: 1em;
	line-height: inherit;
	opacity: 1;
}
.recent-post-context-watch:empty{
	display: none;
}
.recent-post-context-watch a{
	font-size: inherit;
	text-decoration: none;
}
.recent-post-context a{
	font-weight: inherit;
}
.recent-posts-actions{
	margin: 1em 0;
}
.boarddir{
	border: none;
}
.boarddir td{
	padding: 2px 5px;
}
.donatebitcoin{
	font-size: 0.8em;
}
.donatebitcoin a, .donatebitcoin a:visited{
	text-decoration: none;
}
/* Catalog */ .catalink{
	display: block;
}
.catalog{
	text-align: center;
}
.catacount{
	font-size: 0.9em;
}
.catasubject{
	font-weight: bold;
}
.catalogthumb{
	margin: auto;
	margin-bottom: 9px;
	box-shadow: 0 0 4px rgba(0, 0, 0, 0.55);
	border: 2px solid rgba(153, 153, 153, 0);
}
.catalink img:hover{
	border: 2px solid rgba(153, 153, 153, 0.27);
}
.catathread{
	display: inline-block;
	vertical-align: top;
	margin: 5px 10px 10px;
	text-align:center;
	width: 165px;
	overflow: hidden;
	font-size: 11px;
	padding: 5px;
	background: rgba(182, 182, 182, 0.12);
	border: 2px solid rgba(111, 111, 111, 0.34);
	max-height:275px;
}
/* Ban page */ .ban.homeblock{
	max-width: min(700px, 100%);
	box-sizing: border-box;
	overflow: auto;
}
.ban h2{
	background: var(--theme-th-bg);
	color: inherit;
	font-size: 12pt;
	margin: 0;
}
.ban p{
	font-size: 12px;
	margin-bottom: 12px;
}
.ban p, .ban h2{
	padding: 3px 7px;
}
.ban .reason{
	font-weight: bold;
}
.ban .banscreenimg{
	display: block;
	max-width: 100%;
	height: auto;
	margin: 4px;
}
.ban .moonlink{
	font-size: 130%;
	text-align: center;
}
.appeals{
	margin: 0.5em 0;
}
.appealcomment{
	display: block;
	margin: 0.5em 0;
	padding: 0.45em 0.65em;
	background: var(--theme-reply-bg);
	border: 1px solid var(--theme-reply-border);
	border-radius: 3px;
}
/* ----- Moderator panel presentation ----- */
.mod-text-center{
	text-align: center;
}
.mod-text-center-wrap{
	text-align: center;
	word-wrap: break-word;
}
.mod-nowrap{
	white-space: nowrap;
}
.mod-list-actions{
	padding: 0;
	text-align: center;
	list-style: none;
}
.mod-list-plain{
	list-style: none;
	padding: 0;
}
.mod-list-inline{
	list-style: none;
	padding: 0 5px;
}
.mod-list-boards-padded{
	list-style: none;
	padding: 5px 8px;
}
.mod-form-inline{
	display: inline;
}
.mod-label-inline{
	display: inline;
}
.mod-form-zero{
	margin: 0;
}
.mod-login-table{
	margin-top: 25px;
}
.inline-edit-body .inline-edit-form{
	margin: 0;
	box-sizing: border-box;
	display: inline-block;
	width: auto;
	max-width: none;
	vertical-align: top;
}
.inline-edit-fields{
	overflow: hidden;
}
.inline-edit-form textarea{
	/* Shared cols=35 contract; ch tracks glyph width consistently across OP/reply. */
	width: 35ch;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}
.inline-edit-mod-options{
	margin-top: 0.5em;
}
.inline-edit-actions{
	text-align: center;
	margin-top: 0.5em;
}
.inline-edit-error{
	margin-top: 0.5em;
	color: var(--theme-error-fg, #c00);
}
.post-update-available{
	margin-top: 0.35em;
	text-align: right;
}
.post-update-refresh{
	font-weight: bold;
}
.mod-login-error{
	text-align: center;
}
.mod-rebuild-form{
	width: 300px;
	margin: auto;
}
.mod-rebuild-item{
	margin-bottom: 8px;
}
.mod-news-textarea{
	width: 100%;
	height: 100px;
}
.mod-notes-float{
	float: right;
	padding: 2px;
}
.mod-pm-item{
	padding: 5px 0;
}
.mod-dashboard-spaced{
	margin-top: 15px;
}
.mod-user-actions a{
	margin-left: 5px;
	float: right;
}
table.modlog.modlog-auto{
	width: auto;
}
table.modlog.modlog-fixed{
	width: 600px;
}
.mod-inline-action{
	display: inline;
	margin: 0;
	padding: 0;
	border: 0;
}
.mod-inline-action button,
button.mod-inline-action{
	-webkit-appearance: none;
	appearance: none;
	display: inline;
	background: none;
	border: none;
	padding: 0;
	margin: 0;
	font: inherit !important;
	font-size: inherit !important;
	font-weight: inherit !important;
	font-style: inherit !important;
	font-family: inherit !important;
	line-height: inherit !important;
	vertical-align: baseline;
	height: auto;
	min-height: 0;
	box-shadow: none;
	text-shadow: none !important;
	border-radius: 0;
	cursor: pointer;
	text-transform: none !important;
	letter-spacing: normal !important;
}
/* Admin/context inline POST actions outside span.controls. */
.mod-inline-action button{
	color: var(--theme-link);
	text-decoration: none;
}
.mod-inline-action button:hover{
	color: var(--theme-link-hover);
	background: none;
	box-shadow: none;
	text-shadow: none;
}
.mod-inline-action button:focus{
	outline: none;
}
.mod-inline-action button:focus-visible{
	outline: 2px solid var(--theme-link);
	outline-offset: 1px;
}
/* Settings confirmation modals */
.settings-modal-overlay{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.7);
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 99999;
}
.settings-modal{
	background: var(--theme-overlay-bg, var(--theme-dialog-bg));
	color: var(--theme-overlay-color, inherit);
	border: 1px solid var(--theme-overlay-border, var(--theme-reply-border));
	padding: 20px;
	max-width: 400px;
	border-radius: 8px;
	text-align: center;
}
.settings-modal-actions button + button{
	margin-left: 10px;
}
.mod-delete-scope-title{
	margin-top: 0;
}
.mod-delete-scope-list{
	list-style: none;
	padding: 0;
	margin: 12px 0;
}
.mod-delete-scope-option{
	display: block;
	width: 100%;
	margin: 6px 0;
}
/* Filter editor presentation */
.filter-save-error{
	color: red;
}
.filter-ban-type-list{
	padding: 0 5px;
	list-style: none;
}
.filter-section-spacing{
	margin: 16px 0;
}
footer > .unimportant{
	text-align: center;
}
footer > .unimportant:first-of-type{
	margin-top: 20px;
}
.appealcomment.is_mod{
	background: var(--theme-reply-highlight-bg);
}
.appealintro{
	margin: 0 0 0.35em 0;
}
.appealintro time{
	padding-left: 0.75em;
	font-size: 0.9em;
	opacity: 0.85;
}
.appealbody{
	margin: 0.15em 0 0 0.35em;
	white-space: pre-wrap;
	word-wrap: break-word;
}
.appealreplyform{
	margin-top: 0.75em;
}
.appealreplyform textarea{
	display: block;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	margin-bottom: 0.35em;
}
.userbanlist .appeals{
	text-align: left;
}
/* Install.php tables */ .test{
	width: 100%;
}
.test td, .test th{
	text-align: left;
	padding: 5px;
}
.test img{
	margin: 0;
}
.wmod .wcontent{
	padding: 4px 2ex;
	margin: 0;
	list-style-type: none;
}
