img,legend{border:0}legend,td,th{padding:0}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background:0 0}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,optgroup,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;position:relative;vertical-align:baseline}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre,textarea{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none;appearance: none;}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}table{border-collapse:collapse;border-spacing:0}use{pointer-events: none;}
html {overflow-y: scroll;font-family: 'Trebuchet MS',sans-serif;font-size:15px; /*scroll-behavior: smooth;*/}
body { margin: 0; line-height: 1.3;background-color:#EEEEEE;background-color: var(--theme_default_bg);color:#333333;color: var(--theme_default_text);}
* {-webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box; }
:root {
	--board-mobile: 0;
	--page-chrome-layer: 400;
	--board-control-height: 30px;
	--board-search-input-width: 180px;
	--board-search-scope-width: 90px;
	--board-search-width: 460px;
	--board-search-inset: 12px;
	--board-search-gap: 4px;
    --space-1: 4px;
    --space-2: 8px;
    --space-3: 12px;
    --space-4: 16px;
    --space-5: 24px;
	--navigation-gap: var(--space-2);
    --chevron-size: 16px;
    --control-radius: 4px;
    --control-border-width: 1px;
    --control-surface: var(--theme_default_postbg);
    --control-surface-border: var(--theme_catalog_border);
    --control-surface-hover: color-mix(in srgb, var(--theme_default_text) 5%, var(--control-surface));
    --overlay-surface: var(--theme_default_bg);
    --overlay-inset: 8px;
    --overlay-border: var(--theme_catalog_border);
    --overlay-radius: var(--control-radius);
	--dialog-width: 680px;
    --window-title-size: 1rem;
    --window-header-size: 40px;
    --motion-duration: 160ms;
    --motion-easing: cubic-bezier(.2, .7, .2, 1);
	--control-transition: background-color var(--motion-duration) var(--motion-easing), border-color var(--motion-duration) var(--motion-easing), color var(--motion-duration) var(--motion-easing), fill var(--motion-duration) var(--motion-easing), stroke var(--motion-duration) var(--motion-easing), filter var(--motion-duration) var(--motion-easing);
    --overlay-duration: var(--motion-duration);
    --overlay-easing: var(--motion-easing);
    --overlay-offset: 10px;
    --overlay-dim: #0006;
    --input-padding-block: 4px;
    --input-padding-inline: var(--space-2);
    --select-padding-block: 2px;
    --select-padding-inline: var(--input-padding-inline);
    --post-icon-gap: var(--space-1);
    --post-detail-gap: 6px;
    --post-identity-gap: var(--space-1);
    --post-content-inset: var(--space-4);
    --thread-card-thumbnail-inline-size: 96px;
    --thread-card-thumbnail-block-size: 112px;
    --thread-card-gap: var(--space-3);
    --theme_default_bg:#EEE;
    --theme_default_postbg:#DDD;
    --theme_default_postbghighlight:#EEDACB;
    --theme_default_postselected: color-mix(in srgb, var(--theme_default_text) 10%, var(--theme_default_bg));
    --theme_default_spectext: #800080;
    --theme_default_postnum:#789922;
    --theme_default_border:#d2d2d266;
    --theme_catalog_border: #CACACA;
    --theme_default_text:#333;
    --theme_default_alttext:#5d5d5d;
    --report_modal_border: rgba(0, 0, 0, 0.20);
    --theme_default_link:#FF6600;
    --theme_default_hover:#a74300;
    --theme_default_title:#004A99;
    --theme_default_drag:#ccc;
    --theme_default_spoiler:#BBB;
    --theme_default_icon:#9e9e9e;
    --theme_default_btntext:#333;
    --theme_default_btnbg:#EAEAEA;
    --theme_default_btnborder:#e0e0e0;
    --theme_default_altbtnbg:#f5f5f5;
    --theme_default_btnbghover:#CACACA;
    --theme_default_altbtnbghover:#fff;
    --theme_default_inputtext:#333;
    --theme_nmswitch: #9e9e9e;
    --theme_mpborder: rgb(85, 85, 85);
    --theme_mubtn: #cccccc;
    --theme_sbthumb: #ddd;
    --theme_sbtrack: #EEE;
}

:root[data-expand-spoilers] .spoiler {
	color: var(--theme_default_text);
	a { color: var(--theme_default_link); }
	a:hover { color: var(--theme_default_hover); }
	.unkfunc { color: var(--theme_default_postnum); }
	.media-expand-button { color: var(--theme_default_alttext); }
}

:root[data-expand-nsfw] .file__nsfw,
:root[data-hide-file-names] .post__file-name,
:root[data-hide-myboards] .header__myboards {
	display: none;
}

:root[data-theme="nightmode"] .nm__bullet { left: 18px; }

:root[data-nsfw] :is(.post__file-preview, .mmm__img, .ctlg__img > .thumb) {
	opacity: .05;
	filter: brightness(.4);
	&:hover { opacity: 1; filter: none; }
}

.post_capture-blurred { filter: blur(4px); }
html[data-theme=nightmode] {
    --theme_default_bg: rgb(21, 32, 43);
    --theme_default_postbg: #192734;
    --theme_default_postbghighlight: rgb(19 29 40);
    --theme_default_spectext: #800080;
    --theme_default_postnum: #789922;
    --theme_default_border: #38444d66;
    --theme_catalog_border: #38444d;
    --theme_default_text: #ccc;
    --theme_default_alttext: #7d7d7d;
    --report_modal_border: rgba(255, 255, 255, 0.20);
    --theme_default_link: #c3672a;
    --theme_default_hover: #a74300;
    --theme_default_title: #6995c5;
    --theme_default_drag: rgb(76, 96, 116);
    --theme_default_spoiler: #000000;
    --theme_default_icon: #565656;
    --theme_default_btntext: #ccc;
    --theme_default_btnbg: #192734;
    --theme_default_btnborder: rgb(56, 68, 77);
    --theme_default_altbtnbg: #192734;
    --theme_default_btnbghover: rgb(21, 32, 43);
    --theme_default_altbtnbghover: rgb(21, 32, 43);
    --theme_default_inputtext: #ccc;
    --theme_nmswitch: #c3672a;
    --theme_mpborder: rgb(13, 20, 27);
    --theme_mubtn: #333d46;
    --theme_sbthumb: #223546;
    --theme_sbtrack: rgb(21, 32, 43);
}
.fullsize, video { max-width: 100%; height: auto; }
hr {clear: both; border: none;border-top: 1px solid var(--theme_default_postbg);height: 0;}
sub {vertical-align: sub;font-size: smaller;}
sup {vertical-align: super;	font-size: smaller;}
td, td img {vertical-align: top;}
a, .a-link-emulator {	color:#FF6600;color: var(--theme_default_link);	margin:0;	padding:0;	font-size:100%;	vertical-align:baseline;text-decoration: none;	background:transparent; cursor: pointer; }
a:hover, .a-link-emulator:hover{color:#a74300;color: var(--theme_default_hover);}
button.a-link-emulator {border: 0;font-family: inherit;line-height: inherit;}

:where(a, button, input, select, summary, svg, .a-link-emulator, .post:not(.post_preview), .post__replies-toggle, .postform__mu, .filer__drag-area, .media-expand-button) {
	transition: var(--control-transition);
}


/* ============================================================================  START SYSTEM  STYLES  ============================================================================ */
.o { text-decoration: overline; }
.u { text-decoration: underline; }
.s {text-decoration: line-through;}
.abbrev{color:#666666;}

/* Spoiler */
.spoiler, .spoiler a, .spoiler .unkfunc, .spoiler .media-expand-button {
    color: transparent;
    background-color: var(--theme_default_spoiler);
}

.spoiler:hover {
    color: var(--theme_default_text);
    background-color: transparent;

    a { color: var(--theme_default_link); background-color: inherit; }
    a:hover { color: var(--theme_default_hover); }
    .unkfunc { color: var(--theme_default_postnum); background-color: inherit; }
    .media-expand-button { color: var(--theme_default_alttext); background-color: inherit; }
}

.unkfunc {
    color: var(--theme_default_postnum);

    .spoiler:hover {
        color: inherit;
    }
}

.icon {--icon-background: var(--theme_default_icon); width:14px;height: 14px;fill:#9e9e9e;fill: var(--theme_default_icon);cursor:pointer; vertical-align: -2px; }
.icon:hover, .postform__mu:hover, .filer__drag-area:hover {filter: brightness(0.8);}
/*.icon_nonpointer {pointer-events: none;}*/
.icon_type_active {--icon-background: var(--theme_default_link); fill:#FF6600;fill: var(--theme_default_link);} /* .icon:hover ?? */
.icon-button.icon_type_active > .icon {--icon-background: var(--theme_default_link); fill: var(--theme_default_link);}
.icon_type_spin {-webkit-animation:spin 1s linear infinite;-moz-animation:spin 1s linear infinite;animation:spin 1s linear infinite;}
.post__btn {user-select: none;}
.icon-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: none;
	padding: 0;
	border: 0;
	background: transparent;
	color: inherit;
	font: inherit;
	vertical-align: middle;
	cursor: pointer;

	&:focus-visible {
		outline: 1px solid var(--theme_default_link);
		outline-offset: 2px;
	}
}
.postarea__btn.icon-button > .icon {width: 100%;height: 100%;}
.postform__drawing {display: flex;align-items: center;flex-wrap: wrap;gap: var(--postform-row-gap);}

.warningbox__ul {margin: 0; padding-inline-start: var(--space-5); text-align: left;}





.neuroart {display: inline-block;color: var(--theme_default_title);}

/* Plashque */
.plashque {
    position: fixed;
    inset-block-start: max(var(--space-2), env(safe-area-inset-top));
    inset-inline-start: 50%;
    translate: -50% 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: var(--space-3);
    box-sizing: border-box;
    inline-size: max-content;
    max-inline-size: calc(100% - 2 * var(--space-3));
    padding: var(--space-2) var(--space-3);
    border: var(--control-border-width) solid var(--control-surface-border);
    border-radius: var(--control-radius);
    background: var(--overlay-surface);
    color: var(--theme_default_text);
    font-size: 1rem;
    line-height: 1.4;
    text-align: center;
    z-index: 999;
}
.plashque__content {min-inline-size: 0; overflow-wrap: anywhere;}
.plashque[data-motion-phase="leaving"] {pointer-events: none;}
.plashque_mob {
    inset: var(--mobile-bar-size) 0 0;
    translate: none;
    inline-size: 100%;
    max-inline-size: none;
    block-size: auto;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr);
    padding: max(var(--space-3), env(safe-area-inset-top)) var(--space-3) max(var(--space-3), env(safe-area-inset-bottom));
    border: 0;
    border-radius: 0;
    background: var(--overlay-dim);

    .plashque__content {position: relative; inline-size: fit-content; max-inline-size: 100%; justify-self: center; align-self: center;}
    .plashque__close {position: absolute; inset-block-start: 0; inset-inline-end: 0; background: none; border: 0; .icon {fill: #eee; filter: drop-shadow(0 1px 1px #000);}}
}
.mob-banner {display: block; max-inline-size: 100%; max-block-size: calc(100dvh - var(--mobile-bar-size) - 2 * var(--space-3)); inline-size: auto; block-size: auto;}
.plashque__close {
    cursor: pointer;
    display: grid;
    place-items: center;
    inline-size: 32px;
    block-size: 32px;
    padding: 0;
}

.na {position: fixed; right: 20px; width: 40px; height: 40px; display: grid; place-items: center; cursor: pointer; z-index: var(--page-chrome-layer); padding: 0;}
.na__icon {fill: currentColor; width: 16px; height: 16px;}
.na_type_up {	top: 40px; }
.na[data-near-boundary] {display: none;}
.na, .mv__nav {transition: var(--control-transition), opacity var(--motion-duration) var(--motion-easing);}
.na_type_down {bottom: 20px;transform: rotate(180deg);}

.debug {display: none;}
.closed-thread {text-align:center;}
.closed-board, .archive-thread {text-align:center; color: red;}

.dice {color: green;font-style: italic;}
.media-thumbnail {padding: 5px;}

.abupost { color: red; 	font-size: 1.1em;text-align: center;}
.adm{ background-image: url("/favicon2.png") !important; background-position: right center !important; background-repeat: no-repeat !important;color: #800080 !important; padding-right: 20px !important; }

/* ============================================================================ END ============================================================================ */



/* ============================================================================ START inputs ============================================================================ */

.input, .button {
    border-radius: var(--control-radius);
}

.input {
	margin: 0;
	padding: var(--input-padding-block) var(--input-padding-inline);
	border: var(--control-border-width) solid var(--theme_default_btnborder);
	outline: medium none;
	background-color: var(--theme_default_altbtnbg);
	color: var(--theme_default_inputtext);

	&:focus {
		background-color: var(--theme_default_altbtnbghover);
	}
}

select.input {
	background-color: var(--theme_default_btnbg);
	&:focus {background-color: var(--theme_default_btnbghover);}
}

.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	padding: 4px 6px;
	border: var(--control-border-width) solid var(--theme_default_btnborder);
	background-color: var(--theme_default_btnbg);
	color: var(--theme_default_btntext);
	font: inherit;
	text-align: center;
	text-decoration: none;
	cursor: pointer;

	&:not(:disabled):not([aria-disabled="true"]):is(:hover, :focus-visible) {
		background-color: var(--theme_default_btnbghover);
		color: var(--theme_default_btntext);
		text-decoration: none;
	}

	&:disabled {
		opacity: .45;
		cursor: default;
	}
}

.selectbox {
    --select-indicator-width: calc(var(--chevron-size) + 2 * var(--select-padding-inline));
    display: inline-grid;
    grid-template-columns: minmax(0, 1fr) var(--select-indicator-width);
    align-items: center;
    max-width: 100%;
    min-width: 0;
    vertical-align: middle;

    .chevron {
        grid-area: 1 / 2;
        justify-self: center;
        pointer-events: none;
    }
}

.select {
    grid-area: 1 / 1 / 2 / -1;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    padding: var(--select-padding-block) var(--select-padding-inline);
    padding-inline-end: var(--select-indicator-width);
    cursor: pointer;
    appearance: none;

    &:hover {
        border-color: var(--theme_default_alttext);
    }

    &:focus-visible {
        outline: 1px solid var(--theme_default_link);
        outline-offset: 1px;
    }

    html[data-theme="nightmode"] & {
        color-scheme: dark;
    }
}

input[type="checkbox"] {vertical-align: middle;}
input[type="radio"] {vertical-align: text-bottom;}
/* ============================================================================ END  inputs  ============================================================================ */

/* ============================================================================ START header styles ============================================================================ */
/*.hashlink {padding-right: 5px;}*/
.news {text-align: left;width: 500px;margin: 0 auto;font-size: 0.9em;}
.tti {text-align:center;font-size: 0.9em;line-height: 2;}
.tti__tags_flexrow { display: flex; gap: 9px; flex-wrap: wrap; justify-content: center; line-height: 1.3; }
.tti_info {color:#800080; color: var(--theme_default_spectext);}
.board-information__trigger {display: none;}
.header__title {margin: 0;line-height: 2;font-size: 2.4em;text-align: center;}
.cntnt__header {display: grid; gap: var(--board-section-gap);}
.header__logo {display: flex; justify-content: center;}
.site-navigation {
	--site-navigation-gap: 8px;
	display: contents;
}
.header__menu, .header__opts {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px var(--site-navigation-gap);
	min-width: 0;
	padding: 5px;
	font-size: .9em;
}
.header__menu {
	min-height: 30px;
	border-block-end: var(--control-border-width) solid var(--theme_default_postbg);
}
.header__myboards {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px var(--navigation-gap);
}
.header__opts {
	--site-navigation-offset: 26px;
	border-block-end: var(--control-border-width) solid transparent;
}
@media (min-width: 481px) {
	.header__opts {
		position: sticky;
		top: calc(-1 * var(--site-navigation-offset));
		z-index: var(--page-chrome-layer);
		transition: translate var(--motion-duration) var(--motion-easing);

		&[data-stuck] {
			background: var(--theme_default_postbg);
			border-block-end-color: var(--control-surface-border);

			&:is(:hover, :focus-within) {
				translate: 0 var(--site-navigation-offset);
			}
		}
	}
}
.nm {display: flex;align-items: center;gap: 4px;}
.nm__icon { width: 14px;height: 14px; vertical-align: middle;fill: var(--theme_nmswitch);}/* mix */
.nm__switcher { display: inline-block;width: 32px;height: 16px; vertical-align: middle;background: var(--theme_nmswitch);border-radius: 10px;padding: 2px;position: relative;    cursor: pointer;}
.nm__bullet {content: '';position: absolute;width: 12px; height: 12px;left: 2px;top: 2px;background: var(--theme_default_bg); border-radius: 100%;transition: left var(--motion-duration) var(--motion-easing);}

/* ============================================================================ END header stylez ============================================================================ */

/* ============================================================================ START thread styles ============================================================================ */
.cntnt {
	--board-sidebar-width: clamp(200px, 16vw, 240px);
	--board-sidebar-gap: calc(var(--board-sidebar-control-size) + 8px);
	--board-sidebar-top: 40px;
	--board-sidebar-control-size: 28px;
	--board-content-inset: clamp(12px, 1.5vw, 24px);
	display: grid;
	grid-template-columns: var(--board-sidebar-width) minmax(0, 1fr);
	transition: grid-template-columns var(--motion-duration) var(--motion-easing);
	column-gap: var(--board-sidebar-gap);
	align-items: start;

	html[data-board-sidebar-collapsed] & {
		grid-template-columns: 0px minmax(0, 1fr);
	}

	@media (max-width: 720px), (max-width: 1023px) and (pointer: coarse) {
		grid-template-columns: minmax(0, 1fr);
		column-gap: 0;
	}
}

.chevron {
    flex: none;
    width: var(--chevron-size);
    height: var(--chevron-size);
    fill: none;
    stroke: currentColor;
    stroke-width: 1.5;
    stroke-linecap: round;
    stroke-linejoin: round;
    transform-origin: center;
    transition: transform var(--motion-duration) var(--motion-easing);
}

:is(.disclosure-control, .favorites-panel, .na) {
    border: var(--control-border-width) solid var(--control-surface-border);
    border-radius: var(--control-radius);
    background: var(--control-surface);
    color: var(--theme_default_alttext);
}
:is(.disclosure-control, .na):not(:disabled):is(:hover, :focus-visible) {
    background: var(--control-surface-hover);
    color: var(--theme_default_text);
}
:is(.disclosure-control, .na, .favorites-panel button):focus-visible {
    outline: 1px solid var(--theme_default_link);
    outline-offset: -2px;
}

.disclosure-control {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 4px 6px;
    font: inherit;
    text-align: start;
    list-style: none;
    cursor: pointer;

    &::-webkit-details-marker {
        display: none;
    }


    &[aria-expanded="false"] > .chevron,
    details:not([open]) > & > .chevron {
        transform: rotate(-90deg);
    }
}

.cntnt__aside {
	position: sticky;
	top: var(--board-sidebar-top);
	grid-column: 1;
	grid-row: 1;
	min-width: 0;
	height: calc(100dvh - var(--board-sidebar-top));
	z-index: 4;

	@media (max-width: 720px), (max-width: 1023px) and (pointer: coarse) {
		display: none;
	}

	.sidebar {
		inline-size: var(--board-sidebar-width);
		height: 100%;
		overflow-y: auto;
		scrollbar-color: var(--theme_sbthumb) var(--theme_sbtrack);
		scrollbar-width: thin;
		scrollbar-gutter: stable;

	}

	.board-sidebar__toggle {
		position: absolute;
		inset-inline-start: calc(100% + 4px);
		inset-block-start: 0;
		justify-content: center;
		width: var(--board-sidebar-control-size);
		height: var(--board-sidebar-control-size);
		padding: 0;

		.board-sidebar__chevron {
			transform: rotate(90deg);
		}

		html[data-board-sidebar-collapsed] & .board-sidebar__chevron {
			transform: rotate(-90deg);
		}
	}

}

.fm {
	display: grid;
	gap: 10px;
	padding: 0 4px;
	margin: 0;
	list-style: none;
	font-size: .9em;
}

.fm__item {
	display: grid;
	gap: 4px;
	min-width: 0;
	transition: row-gap var(--motion-duration) var(--motion-easing);

	&:has(> .fm__header[aria-expanded="false"]) {row-gap: 0;}
}

.fm__header {
	width: 100%;
	min-height: var(--board-sidebar-control-size);
}

.fm__sub {
	display: grid;
	gap: 2px;
	padding: 0;
	margin: 0;
	list-style: none;

	a {
		display: block;
		padding: 2px 6px;
		border-radius: var(--control-radius);
		overflow-wrap: anywhere;

		&[aria-current="page"] {
			text-decoration: underline;
		}
	}
}

#js-posts, .thread {
	--thread-post-gap: 6px;
	row-gap: var(--thread-post-gap);
}

#js-posts:not([hidden]) {
	display: flex;
	flex-direction: column;
}

.thread {
	--thread-reply-indent: 20px;
	--thread-row-estimate: 160px;
	--thread-hidden-row-estimate: 28px;
	display: grid;
	grid-template-columns: var(--thread-reply-indent) minmax(0, 1fr);
	align-items: start;

	> * {
		grid-column: 2;
		justify-self: start;
		min-width: 0;
	}

	> :is(.post_type_oppost, .postform) {
		grid-column: 1 / -1;
	}

	> .post {
		max-width: min(100%, var(--post-max-width, 100%));
	}

	&::after {
		content: '';
		display: block;
		grid-column: 1 / -1;
		width: 100%;
		border-top: 1px solid var(--theme_default_border);
	}

	.replypage &::after {
		display: none;
	}

}
.thread__missed {
	display: flex;
	align-items: center;
	gap: var(--post-icon-gap);
	font-size: .9em;
	color: var(--theme_default_alttext);

	.post__btn {
		flex: none;
	}
}
.post {
	--post-content-gap: var(--post-content-inset);
	--post-content-bottom-inset: var(--post-content-gap);
	--post-footer-inset: 6px;
	--post-file-gap: 4px;
	--post-frame-inset: 4px;
	display: flex;
	flex-direction: column;
	gap: var(--post-content-gap);
	padding: var(--post-frame-inset);
	margin: 0;
	word-break: break-word;
	overflow-wrap: break-word;

}

.post__body {
	display: flex;
	flex-direction: column;
	gap: var(--post-content-gap);
	min-width: 0;
	padding-inline: var(--post-content-inset);
	padding-block-end: calc(var(--post-content-bottom-inset) + var(--post-footer-inset));

	&:has(> .post__refmap:not([hidden])) {
		padding-block-end: var(--post-footer-inset);
	}

	&:not(:has(> .post__content > .post__images:not([hidden]), > .post__content > .post__text > :not([hidden]), > .post__refmap:not([hidden]))) {
		display: none;
	}
}

.thread__placeholder {
	--thread-row-default: var(--thread-row-estimate);
	box-sizing: border-box;
	block-size: var(--thread-row-size, var(--thread-row-default));
	inline-size: 100%;
	&.post_type_hidden {--thread-row-default: var(--thread-hidden-row-estimate);}
}
/* BoardViewport owns reading-position restoration during every thread projection/update. */
.thread {overflow-anchor: none;}

.post__content {
	display: flex;
	flex-direction: column;
	gap: var(--post-content-gap);
	min-width: 0;
	&:not(:has(> .post__images:not([hidden]), > .post__text > :not([hidden]))) {display: none;}
}
.post__text {display: contents; &:not(:has(> :not([hidden]))) {display: none;}}
.post__ratings {display: inline-flex; align-items: center; flex-wrap: wrap; gap: 12px;}

/* Native attachment flow stays inside content; replies are a separate flex footer owned by body. */
@media (min-width: 1024px), (min-width: 721px) and (pointer: fine) {
	.post__content:not(:has(> .post__images_type_single > .post__image)) > .post__text {display: flex; flex-direction: column; gap: var(--post-content-gap); &:not(:has(> :not([hidden]))) {display: none;}}
	.post:has(> .post__body > .post__content > .post__images) {gap: var(--post-file-gap);}
	.post__content:has(> .post__images_type_single > .post__image) {
		display: flow-root;

		> .post__images,
		> .post__images > .post__image {
			display: contents;
		}

		.post__file-attr {
			margin-block-end: var(--post-file-gap);
		}

		.post__media {
			float: inline-start;
		}

		&:has(.post__message:not([hidden])) .post__media {
			margin-inline-end: var(--post-content-gap);
		}

		.post__message:not([hidden]) {
			display: flow-root;
		}
	}
}

.post_type_oppost {
	--post-content-bottom-inset: 0px;
	--post-footer-inset: 0px;
	--post-max-width: 60vw;
	padding-block: 0;
}

.post_type_reply {
	--post-marker-outset: 21px;
	--post-max-width: 50vw;
	position: relative;
	border: var(--post-border-width, 1px) solid var(--theme_default_border);
	border-radius: var(--post-border-radius, 3px);
	background: var(--post-surface, var(--theme_default_postbg));
	overflow: visible;

	&::before {
		content: '...';
		position: absolute;
		top: -5px;
		left: calc(-1 * var(--post-marker-outset));
		color: var(--theme_default_icon);
	}
}

.post_type_reply, .post_type_oppost {
	max-width: min(100%, var(--post-max-width));

	@media (max-width: 1600px) {
		--post-max-width: 75vw;
	}

	@media (max-width: 1300px) {
		--post-max-width: 85vw;
	}

	@media (max-width: 1023px) {
		--post-max-width: 100%;
	}
}

@property --post-preview-cover-opacity {
	syntax: '<number>';
	inherits: false;
	initial-value: 1;
}

.post-previews {
	position: absolute;
	inset: 0;
	z-index: 300;
	pointer-events: none;
}

.post_preview {
	position: absolute;
	border: 1px solid grey;
	pointer-events: auto;

	&::before {
		content: '';
	}

	.post__details input[type="checkbox"] {
		display: none !important;
	}

}

.post_type_hidden {
	cursor: pointer;

	.post__body {
		display: none !important;
	}
}

.thread_hidden {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-2) var(--space-3);
    min-inline-size: 0;
    padding: var(--space-3);
    border-block-end: 1px solid var(--theme_catalog_border);
    color: var(--theme_default_alttext);
}

.thread__hidden-summary {display: flex; flex: 1; flex-direction: column; gap: var(--space-1); min-inline-size: 0;}
.thread__hidden-title, .thread__hidden-reason {overflow-wrap: anywhere;}
.thread__hidden-reveal {flex: none;}
.post__hide-reason {display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); min-inline-size: 0;}
.post__hide-text {overflow-wrap: anywhere;}
.post__hide-reveal {flex: none;}

.post_type_last {border-top: 2px solid var(--theme_default_link);}
.post_type_replied {border-left: 2px dashed var(--theme_default_link);}
.post_type_watched {border-left: 2px solid var(--theme_default_link);}
.post_type_highlight, .post_type_identity-highlight {background-color: var(--theme_default_postbghighlight);}
.post__message {
	overflow: auto;
	max-height: 600px;
	min-width: 0;
	padding: 0;
}

.post__message_op {
	max-height: none;
}

.neuroslop {
	display: block;
	margin-block-start: var(--space-4);
	padding: var(--space-3);
	border: 1px solid color-mix(in srgb, currentColor, transparent 70%);
	border-inline-start: 2px solid var(--theme_default_title);
	border-radius: var(--control-radius);
	background: var(--theme_default_altbtnbg);
	white-space: break-spaces;
	overflow-wrap: anywhere;

	&::before {
		content: 'Monkey:';
		display: block;
		margin-block-end: var(--space-2);
		font-weight: bold;
		color: var(--theme_default_title);
	}
}

.post__message, .post__message > :is([data-slot="full"], [data-slot="preview"]), .ctlg__comment, .post-summary__message {
	> :first-child:not(.neuroslop) {
		margin-block-start: 0;
	}

	> :last-child {
		margin-block-end: 0;
	}
}
.twitter-tweet-rendered {overflow: auto;}
.post__title {
	background: inherit;
	font-size: 1.1em;
	color: var(--theme_default_title);
	font-weight: bold;
}
.post__anon {cursor:pointer;position: relative;}
.post__icon:has(img) {display: inline-flex; flex: none;}
.post__icon img {display: block; inline-size: auto; block-size: auto; max-inline-size: none;}
.post__ophui {color: green;}
.post__number {color: var(--theme_default_postnum);}
.post__detailpart {
	display: flex;
	align-items: center;
	gap: var(--post-icon-gap);

	&.post__subject {
		display: block;
		min-width: 0;
	}

	&.post__identity {
		flex-wrap: wrap;
		gap: 0 var(--post-identity-gap);
		min-width: 0;

		> * {
			min-width: 0;
		}

		&:not(:has(> *)) {display: none;}
	}
}

.post__reference {
	gap: var(--post-detail-gap);

	.post__reflinks {
		display: inline-flex;
	}
}

.post__actions {
	.post__btn {
		flex: none;
	}
}

.post__reflink {
	color: var(--theme_default_alttext);
	text-decoration: none;
}

.post__details {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0 var(--post-detail-gap);
	font-size: .9em;
	color: var(--theme_default_alttext);
}
.post__heading, .post__controls {display: contents;}
.post__images {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: var(--post-content-gap);
	min-width: 0;
}
.post__image {
	display: grid;
	grid-template-areas: "caption" "media";
	grid-template-columns: minmax(0, 1fr);
	row-gap: var(--post-file-gap);
	align-content: start;
	max-width: 100%;
	min-width: 0;
	margin: 0;
}
.post__media {
	position: relative;
	grid-area: media;
	place-self: start;
	display: grid;
	grid-template-areas: "media";
	grid-template-columns: minmax(0, 1fr);
	max-width: 100%;
	min-width: 0;

	&:has(> .post__inline-player) > .post__image-link {
		display: none;
	}
}
.post__image-link {
	grid-area: media;
	place-self: start;
	display: block;
	max-width: 100%;
	min-width: 0;

	.post__file-preview {
		display: block;
		max-width: 100%;
		height: auto;
	}

	&.post__image-link_exp .post__file-preview {
		max-height: 100%;
		width: auto;
	}
}


.post__file-attr {
	grid-area: caption;
	display: flex;
	flex-direction: column;
	row-gap: 1px;
	align-items: flex-start;
	color: var(--theme_default_alttext);
	font-size: .8em;
}

.post__file-heading {
	display: flex;
	align-items: center;
	gap: var(--post-icon-gap);
	max-width: 100%;
	min-width: 0;
}

.post__file-name {
	min-width: 0;
	overflow-wrap: anywhere;
}

.post__file-tools {
	display: flex;
	flex: none;
	align-items: center;
	gap: var(--post-icon-gap);

	.icon {
		flex: none;
	}

	.post__file-type {
		line-height: inherit;
	}
}

.post__file-meta {
	font-size: .9em;
}

.post__inline-player {
	grid-area: media;
	position: relative;
	min-width: 0;
}

.post__inline-media {
	display: block;
	max-width: 100%;
	max-height: 80vh;
	object-fit: contain;
}
.post__file-webm {
	border: 1px dashed var(--theme_default_alttext);
}
.post__file-close {position: absolute;top:10px;left: 10px;width: 40px;height: 40px;background-color: var(--theme_default_postbg);border-radius: 5px;text-align: center;line-height: 40px;font-weight: bold;color: var(--theme_default_text);opacity: 0.6;}
.post__pomyanem {
	color: var(--theme_default_spectext);
	font-style: italic;
}
.post__refmap {
	margin: 0;
	font-size: 80%;

	&:not([hidden]) {
		display: flex;
	}
}

.post__replies-toggle {
	display: none;
	align-items: center;
    min-block-size: 28px;
	padding: 0;
	border: 0;
	border-radius: var(--control-radius);
	background: transparent;
	color: var(--theme_default_alttext);
	font: inherit;
	font-weight: bold;

	&:hover {color: var(--theme_default_link);}
	&:focus-visible {outline: 1px solid var(--theme_default_title);}
}

.post__reply-links {
	display: flex;
	flex-wrap: wrap;
	gap: 0 .25em;
	min-width: 0;

	a {white-space: nowrap;}
}

.post__attachment-count {grid-area: 2 / 2; justify-self: end; align-self: end; display: none; align-items: center; gap: 3px; padding: 2px 4px; border-radius: var(--control-radius); background: rgb(0 0 0 / .7); color: #eee; font-size: 11px; line-height: 14px; pointer-events: none; .icon {inline-size: 12px; block-size: 12px; fill: currentColor;}}
:is(.post__media, .ctlg__img):has(> .post__attachment-count) {--attachment-count-inset: 4px; display: grid; grid-template: var(--attachment-count-inset) minmax(0, 1fr) var(--attachment-count-inset) / var(--attachment-count-inset) minmax(0, 1fr) var(--attachment-count-inset); > :not(.file__nsfw, .post__attachment-count) {grid-area: 1 / 1 / -1 / -1;}}
.thread-card__actions {display: none;}
.thread-card__preview {display: inline-flex; flex-wrap: wrap; align-items: center; gap: 8px; min-block-size: 24px; padding: 0; border: 0; background: transparent; color: inherit; font: inherit; text-align: start; cursor: pointer;}
.thread-card__flags {display: inline-flex; align-items: center; gap: 6px; color: var(--theme_default_alttext); .icon {inline-size: 14px; block-size: 14px; fill: currentColor;}}

/* Mobile post flow: identity, metadata, attachments, subject, message, actions. */
@media (max-width: 720px), (max-width: 1023px) and (pointer: coarse) {
    :root {
        --board-mobile: 1;
		--mobile-secondary-font-size: max(1rem, 14px);
        --thread-card-thumbnail-inline-size: 80px;
        --thread-card-inset: var(--space-3);
        --thread-card-content-gap: var(--space-2);
        --thread-card-thumbnail-block-size: 80px;
        --post-preview-size: 96px;
    }
    #js-posts, .thread {--thread-post-gap: 0px;}
    .thread, .post, .post-projection-list {--post-content-inset: var(--mobile-inset);}
    .thread {--thread-reply-indent: 0px; --post-surface: transparent; --post-border-width: 0px; --post-border-radius: 0px;}
    .post {
        --post-content-gap: var(--space-1);
        --post-content-bottom-inset: 0px;
        --post-footer-inset: 0px;
        --post-frame-inset: 0px;
        display: flex;
        flex-direction: column;
        gap: var(--post-content-gap);
        padding: var(--space-2) var(--post-content-inset);
        font-size: max(1rem, 16px);
        line-height: 1.4;
        .desktop {display: none !important;}
        .post__body, .post__content, .post__text {display: contents;}
        .post__text:not(:has(> :not([hidden]))) {display: none;}
        .post__details {display: contents;}
        .post__heading {order: 1; display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-1) var(--space-2); min-inline-size: 0; font-size: .8em;}
        .post__identity {max-inline-size: 100%; overflow-wrap: anywhere; > * {max-inline-size: 100%; overflow-wrap: anywhere;} > :empty {display: none;}}
        .post__date {order: 2; flex: 0 1 auto; justify-content: start; text-align: start; white-space: nowrap;}
        .post__controls {order: 2; display: flex; flex-wrap: wrap; align-items: center; gap: var(--post-detail-gap); font-size: .8em;}
        .post__ratings {order: 2;}
        .post__actions:not(:has(> :not(.desktop))) {display: none;}
        [data-hide-reason] {order: 3; flex-wrap: wrap; min-inline-size: 0;}
        .post__images {order: 3;}
        .post__subject {order: 5; font-size: inherit;}
        .post__message {order: 6; max-height: none; overflow: visible; font-size: inherit;}
        .post__refmap {order: 7; padding: 0; font-size: var(--mobile-secondary-font-size); line-height: 20px; &:not([hidden]) {display: flex; flex-wrap: wrap; align-items: center; gap: 12px;}}
    }
    .thread > .post {inline-size: 100%; max-inline-size: 100%; border-block-end: 1px solid var(--theme_catalog_border); &::before {content: none;}}
    .post__message pre {max-inline-size: 100%; overflow: auto; word-break: normal; overflow-wrap: normal;}
    .post__message table {display: block; max-inline-size: 100%; overflow: auto;}
    .post__message img {max-inline-size: 100%; height: auto;}
    .post__images_type_multi {display: grid; grid-auto-flow: column; grid-auto-columns: var(--post-preview-size); gap: 8px; overflow-x: auto; scrollbar-width: thin;}
    .post__image {grid-template-areas: "media"; gap: 0;}
    .post__images .post__image-link {display: block; inline-size: var(--post-preview-size); block-size: var(--post-preview-size);}
    .post__images .post__image-link .post__file-preview {inline-size: var(--post-preview-size); block-size: var(--post-preview-size); max-inline-size: none; max-block-size: none; object-fit: cover;}
    .post__file-attr {display: none;}
    .post__file-meta {font-size: inherit;}
    .thread__missed {padding: 8px var(--post-content-inset);}
    .thread__hidden-reveal, .post__hide-reveal {min-block-size: var(--mobile-control-size); padding-inline: var(--space-3);}
    .post__replies-toggle {display: flex; inline-size: 100%; min-block-size: 24px; padding: 0; font-weight: normal; text-align: start;}
    .post__reply-links {display: none;}
    .thread-card__actions {display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: var(--mobile-secondary-font-size); color: var(--theme_default_alttext); .thread-card__preview {flex: 1; inline-size: 100%;} a {color: inherit;}}
    .thread-card__flags .icon, .post__actions > .icon_type_active {--icon-background: transparent; --icon-foreground: currentColor; color: var(--theme_default_alttext); fill: currentColor;}
    #js-posts[data-board-mode="board"] > .thread {
        gap: 0;
        cursor: pointer;
        border-block-end: 1px solid var(--theme_catalog_border);
        &::after {content: none;}
        > .post_type_reply, > .thread__missed {display: none;}
        > .post_type_oppost {
            --post-preview-size: var(--thread-card-thumbnail-inline-size);
            display: grid;
            grid-template-columns: var(--thread-card-thumbnail-inline-size) minmax(0, 1fr);
            align-content: start;
            align-items: start;
            gap: var(--thread-card-content-gap) var(--thread-card-gap);
            border: 0;
            padding: var(--thread-card-inset);
            .post__details {display: none;}
            .post__text {order: 4; grid-column: 2; grid-row: 1; display: flex; flex-direction: column; justify-content: flex-end; align-self: stretch; gap: var(--thread-card-content-gap); min-inline-size: 0;}
            .post__subject {display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden;}
            .post__images {grid-column: 1; grid-row: 1; display: block;}
            .thread-card__actions {order: 8;}
            .post__image {display: block;}
            .post__file-attr, .post__image ~ .post__image, .post__refmap {display: none;}
            .post__attachment-count {display: flex;}
            .post__message {flex: 1; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 6; max-block-size: 8.4em; overflow: hidden;}
            .post__text:not(:has(> .post__message:not([hidden]))) > .post__subject {flex: 1;}
            &:not(:has(.post__images)) {
                grid-template-columns: minmax(0, 1fr);
                .post__text {grid-column: 1;}
            }
        }
    }
}
.post__mod{color:#2266AA;}
.post__adm{color:#800080;}
.post__rate {
	display: inline-flex;
	align-items: center;
	gap: .278em;
	padding: 0;
	border: 0;
	background: transparent;
	font: inherit;
	cursor: pointer;

	&:disabled {
		cursor: default;
	}

	&:focus-visible {
		outline: 1px solid currentColor;
		outline-offset: 2px;
	}
}

.post__rate_type_like {
	color: green;

	&:is(:hover, [aria-pressed="true"]) .post__rate-icon {
		fill: #F60;
	}
}

.post__rate_type_dislike {
	color: #ff0000;

	&:is(:hover, [aria-pressed="true"]) .post__rate-icon {
		fill: #ff0000;
	}
}
.captcha__image {min-height: 120px;min-width: 270px;position: relative;}
.captcha__image img {display: block;}
.captcha__val {flex: 1 1 auto;min-width: 0;padding: 10px;}
.captcha__timer {position: absolute;right: 0;bottom: 0;font-size: 1.2em;font-weight: bold;padding: 4px;color: #777;}
.captcha__loadtext {position: absolute; right: 50%;top: 50%;transform: translate(50%, -50%);font-size: 2em;font-weight: bold;padding: 4px;text-align: center;cursor: pointer;}
.captcha__timeouttext {position: absolute; right: 50%;top: 50%;transform: translate(50%, -50%);padding: 4px;text-align: center;font-size: 1.3em;font-weight: bold;}
.expand-large-comment {cursor: pointer;}
.tn {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 10px;
	font-size: .9em;
	line-height: 1.5;
}

.tn__actions {
	display: flex;
	flex: 1 1 28rem;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px var(--navigation-gap);
	min-width: 0;

	> a, > span, > label {
		white-space: nowrap;
	}

	> span, > label {
		display: inline-flex;
		align-items: center;
		gap: 4px;
	}

	.thread-statistics {gap: var(--space-3);}
}
.thread-statistics__item {display: inline-flex; align-items: center; gap: var(--space-1);}
.navigation-separator, .footer__bcat a + a::before {color: var(--theme_default_alttext);}
.autorefresh input {margin: 0;}
.autorefresh-countdown:empty {display: none;}

.cntnt__bottom, .newpost {
	display: flex;
	flex-direction: column;
	gap: var(--board-section-gap);
}

#TopNormalReply:empty, #BottomNormalReply:empty,
.cntnt__bottom > [data-board-navigation="pages"]:not(:has(> *)) {
	display: none;
}
.media-link {display: inline-flex; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; max-inline-size: 100%; vertical-align: baseline;}
.media-link__source {min-inline-size: 0; overflow-wrap: anywhere; text-decoration: underline; text-decoration-thickness: from-font; text-underline-offset: .15em;}
.media-expand-button {flex: none; padding: 2px 4px; border: 0; border-radius: var(--control-radius); background: transparent; color: var(--theme_default_alttext); font: inherit; font-size: .8em; line-height: inherit; cursor: pointer; white-space: nowrap;}
.media-expand-button:hover, .media-expand-button:focus-visible {background: var(--theme_default_postselected); color: var(--theme_default_text);}
.media-expand-button:focus-visible {outline: 1px solid currentColor;}
.media-link > .media-inline-embed, .media-link > .media-thumbnail {flex-basis: 100%;}
.media-inline-embed iframe {max-inline-size: 100%;}
/* ============================================================================ END post styles ============================================================================ */



/* ============================================================================ START post forms style + quick reply ============================================================================ */

/* postform bemed*/
.newpost {align-items: center;}
.newpost__wrapper {display: flex; justify-content: center; gap: 4px;}
.newpost__label {border: 0;background: transparent;font-family: inherit;border-radius: var(--control-radius);padding: 4px 12px;user-select: none;color: var(--theme_default_link);display: inline-block;cursor: pointer;font-size: 1.2rem;line-height: 2;}
.newpost__label:hover {color:var(--theme_default_hover);}

.postform {
	--postform-row-gap: var(--space-1);
	width: 450px;
	max-width: 100%;
	min-width: 0;
	align-self: center;
	justify-self: center;
	font-size: .9rem;
	text-align: left;

	.input {line-height: inherit;}

	&:not([hidden]) {
		display: flex;
		flex-direction: column;
		gap: var(--postform-row-gap);
	}
}
.postform__raw {min-width: 0;}
.postform__raw:empty {display: none;}
.postform__raw_flex {display: flex;align-items: center;gap: var(--postform-row-gap);}
.postform__limits {position: absolute;bottom: 4px;right: 10px;opacity: 0.6;font-size: 0.8rem;pointer-events: none;}
.postform__sticker-prev {position: absolute;bottom: 0px;left: 25px;opacity: 0.6;cursor: pointer;}
.postform__sticker-img {width: 40px;}
.postform__input {width: 100%; }
.postform__input_type_m {flex: 1 1 0;min-width: 0;}
.postform__input_type_s {width: 40px;}
.postarea {
	position: relative;
	display: grid;

	> textarea {min-inline-size: 0; max-inline-size: 100%; padding-block-end: 1.75rem; resize: vertical;}
}
.postarea__btns {
    position: absolute;
    bottom: 4px;
    left: 4px;
    display: flex;
    align-items: center;
    gap: 4px;
}
.postarea__btn {width:18px;height: 18px}
.postform__options_wrapper {
	display: grid;
	gap: var(--postform-row-gap);
	min-width: 0;
}
.options {display: flex;gap: 10px;}
.options__box {display: flex;gap: 3px;cursor: default;align-items: center;}
.filer {display: grid; gap: var(--postform-row-gap);}
.filer__drag-area {
    display: grid;
    place-content: center;
    gap: 2px;
    inline-size: 100%;
    min-inline-size: 0;
    min-block-size: 56px;
    padding: 8px;
    border: 2px dashed var(--theme_default_drag);
    border-radius: var(--control-radius);
    background: transparent;
    color: var(--theme_default_drag);
    font: inherit;
    text-align: center;
    cursor: pointer;

    &:hover, &.filer__drag-area_hover, &:focus-visible {
        border-color: var(--theme_default_link);
        color: var(--theme_default_link);
    }
}
.filer__hint {font-size: .85em;}
.filer__input {display: none;}
.filer__thumbnails {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(0, 100px));
    gap: 4px;
    justify-content: start;

    &:empty {display: none;}
}
.filer__thumb {
    border: 1px dashed var(--theme_default_border);
    font-size: 0.8rem;
    position: relative;
}
.filer__img {width: 100px;height: 100px;display: inline-block;cursor: move;}
.filer__img img {max-width: 100%;max-height: 100%;}
button.filer__delete {border: 0;padding: 0;background: transparent;}
.filer__meta {
    --filer-control-gap: 5px;
    position: absolute;
    inset-inline: 0;
    bottom: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    grid-template-areas: "size nsfw delete";
    align-items: start;
    gap: var(--filer-control-gap);
    padding-inline-end: var(--filer-control-gap);
    background: var(--theme_default_postbg);
    opacity: 0.8;

    .filer__size { grid-area: size; }
    .filer__nsfw { grid-area: nsfw; }
    .filer__delete { grid-area: delete; }

    .filer__delete, .filer__nsfw {
        cursor: pointer;
        font-size: 1.4em;
    }
}
.filer__nsfw-eyelid { display: none; }
.visually-hidden {position: absolute;inline-size: 1px;block-size: 1px;overflow: hidden;clip-path: inset(50%);white-space: nowrap;padding: 0;border: 0;}
.filer__nsfw-toggle:focus-within {outline: 1px solid var(--theme_default_link);outline-offset: 2px;}
.filer__nsfw-toggle input:checked + svg {
    .filer__nsfw-eyelid {
        display: block;
    }
}
.file__nsfw {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    color: var(--theme_default_text);
    justify-content: center;
    background: color-mix(in srgb, var(--theme_default_postbg) 90%, black 10%);
    border: 1px dashed var(--theme_default_alttext);
    z-index: 1;
    overflow: hidden;

    .file__nsfw-toggle {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        opacity: 0;
        cursor: pointer;
    }

    &:has(.file__nsfw-toggle:focus-visible) {
        outline: 2px solid var(--theme_default_link);
        outline-offset: -2px;
    }

    &:has(.file__nsfw-toggle:checked) {
        display: none;
    }
}

.file__nsfw-title {
    font-weight: bold;
    font-size: 1.3em;
}

.file__nsfw-description {
    font-size: 12px;
    color: var(--theme_default_alttext);
}
.rules {display: flex;flex-direction: column;gap: 4px;font-size: .85em;}

.postform__mu-wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 2px;
}

.postform__mu {
    min-width: 22px;
    height: 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
    cursor: pointer;
    border-radius: 4px;
    padding: 2px 4px;
    background-color: var(--theme_mubtn);
    color: var(--theme_default_text);
    border: none;
}

.postform__mu-group {
    display: flex;
    gap: 2px;
}

.postform__mu-group--monkey {
    button {
        width: max-content;
    }
}

.postform__mu_type_b { font-weight: bold; }
.postform__mu_type_i { font-style: italic; }
.postform__mu_type_u { text-decoration: underline; }
.postform__mu_type_o { text-decoration: overline; }
.postform__mu_type_s { text-decoration: line-through; }

.draggable-window, .board-dialog {
	border-color: var(--overlay-border);
	border-radius: var(--overlay-radius);
	background: var(--overlay-surface);
}

.draggable-window {
	--window-viewport-inset: var(--overlay-inset);
	--window-padding: 0px;
	--window-border-width: 1px;
	--window-layer: 980;
	--window-frame-size: calc(2 * var(--window-padding) + 2 * var(--window-border-width));
	--window-min-inline-size: calc(370px + var(--window-frame-size));
	--window-available-width: calc(var(--window-viewport-width, 100dvw) - 2 * var(--window-viewport-inset));
	position: fixed;
	left: var(--window-x, 0px);
	top: var(--window-y, 0px);
	box-sizing: border-box;
	width: max-content;
	min-width: min(var(--window-min-inline-size), var(--window-available-width));
	max-width: var(--window-available-width);
	max-height: calc(var(--window-viewport-height, 100dvh) - 2 * var(--window-viewport-inset));
	grid-template-rows: auto minmax(0, 1fr) auto;
	padding: var(--window-padding);
	border-width: var(--window-border-width);
	border-style: solid;
	color: var(--theme_default_text);
	z-index: var(--window-layer);
	text-align: left;
	font-size: 1rem;
	overflow: hidden;
	outline: none;

	&:not([hidden]) {
		display: grid;
	}

	&:focus-within {
		z-index: calc(var(--window-layer) + 1);
	}

	&:not(:has(> [data-window-slot="footer"]:not([hidden]))) {
		grid-template-rows: auto minmax(0, 1fr);
	}

	[data-window-slot="header"] {
		display: flex;
		align-items: center;
		gap: var(--post-icon-gap);
		min-width: 0;
		touch-action: none;
		user-select: none;
	}

	[data-window-slot="title"] {
		flex: 1;
		min-width: 0;
	}

[data-window-slot="body"] {
		min-width: 0;
		min-height: 0;
		overflow: auto;
	}

	[data-window-sticky] {
		position: sticky;
		top: 0;
		z-index: 1;
		background: var(--overlay-surface);
	}

	[data-window-actions] {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		gap: var(--post-icon-gap);
	}

	@media (max-width: 480px) {
		--window-min-inline-size: 100%;
	}
}
::highlight(board-search), ::highlight(board-search-results) {background-color: var(--theme_default_link); color: var(--theme_default_postbg);}
.qr_reply {
	font-size: 1em;
	width: 480px;
	resize: both;

	.postform {width: 100%; padding: var(--space-2); box-sizing: border-box;}
}
.qr__header {
    min-block-size: var(--window-header-size);
    padding: var(--space-1) var(--space-3);
    background: var(--overlay-surface);
    border-block-end: 1px solid var(--overlay-border);
    font-size: var(--window-title-size);
    font-weight: 600;
    text-align: start;
    cursor: move;
}
/* Literally Canvas owns its drawing viewport; these tokens adapt its native chrome. */
#qr-oekaki {
    --oekaki-picker: 61px;
    --oekaki-options: 31px;
    --oekaki-gutter: 12px;
    --window-viewport-inset: calc(var(--oekaki-gutter) / 2);
    --window-layer: 1002;
    box-sizing: border-box;
    min-width: 0;
    width: min(calc(var(--oekaki-width, 400px) + var(--oekaki-picker) + var(--window-frame-size)), var(--window-available-width));
    color: var(--theme_default_text);
}
#qr-oekaki-body {
    width: 100%;
    height: min(calc(var(--oekaki-height, 400px) + var(--oekaki-options)), calc(100dvh - 9rem));
    min-height: 0;
}
#qr-oekaki .lc-picker {
    width: var(--oekaki-picker);
    overflow-y: auto;
}
#qr-oekaki .lc-drawing.with-gui, #qr-oekaki .lc-options {left: var(--oekaki-picker);}
#qr-oekaki.toolbar-at-top .lc-drawing, #qr-oekaki .toolbar-at-top .lc-drawing {top: var(--oekaki-options);}
#qr-oekaki .lc-picker, #qr-oekaki .lc-options, #qr-oekaki .color-picker-popup {
    background: var(--theme_default_postbg);
    color: var(--theme_default_text);
    border-color: var(--theme_default_border);
}
#qr-oekaki .lc-picker .toolbar-button.selected, #qr-oekaki .button-style-1.selected {
    background: var(--theme_default_postbghighlight);
}
html[data-theme=nightmode] #qr-oekaki .lc-picker :is(.lc-pick-tool, .lc-undo, .lc-redo, .lc-zoom-in, .lc-zoom-out) {
    filter: invert(.85);
}
#qr-oekaki {
    .qr__footer {
        display: flex;
        flex-direction: column;
        align-items: start;
        gap: .5em;
        padding: .5em;
    }

    [data-slot="status"] {
        overflow-wrap: anywhere;
    }

}
.qr__footer {text-align: center;font-size: 11px;}
.qr_reply > .qr__footer {padding: var(--space-2); border-block-start: 1px solid var(--overlay-border);}
.qr__close {
	display: grid;
	place-items: center;
	min-inline-size: 32px;
	min-block-size: 32px;
	flex: none;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--theme_default_alttext);
	font: inherit;
	font-weight: bold;
	cursor: pointer;
}
.window-icon {inline-size: 18px; block-size: 18px; fill: currentColor;}
.window-icon_back {fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; transform: rotate(90deg);}

#settings-window {
    --settings-space: var(--space-3);
    --settings-gap: var(--space-2);
    --settings-row-size: 32px;
    width: min(640px, var(--window-available-width));
    block-size: min(680px, calc(var(--window-viewport-height, 100dvh) - 2 * var(--window-viewport-inset)));

    [data-window-slot="body"] {
        padding: var(--settings-space);
    }

    [data-window-slot="footer"] {
        font-size: inherit;
    }

    [data-window-page="editor"]:has(.settings-code-editor) {
        block-size: 100%;
        min-block-size: 0;
    }

    .setting-buttons {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        gap: var(--settings-gap);
        padding: var(--settings-gap) var(--settings-space);
        border-top: 1px solid var(--overlay-border);
        font-size: inherit;

        .button {
            min-block-size: var(--board-control-height);
            padding: var(--space-1) var(--space-2);
        }
    }

    .setting-buttons__transfer,
    .setting-buttons__actions {
        display: flex;
        flex: 1 1 auto;
        flex-wrap: wrap;
        align-items: center;
        gap: var(--settings-gap);
    }

    .setting-buttons__transfer:not(:has(> :not([hidden]))) {
        display: none;
    }

    .setting-buttons__actions {
        justify-content: end;
    }

}

.settings {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
}

.settings__header {
    min-block-size: 36px;
    padding: var(--space-2);
    font-weight: 600;

}

.board-disclosure::details-content {
    display: grid;
    grid-template-rows: minmax(0, 0fr);
    overflow: clip;
    transition: grid-template-rows var(--motion-duration) var(--motion-easing), content-visibility var(--motion-duration) allow-discrete;
}
.board-disclosure[open]::details-content {grid-template-rows: minmax(0, 1fr);}
.board-disclosure > :not(summary) {min-block-size: 0;}
.board-disclosure_caption > summary {
    display: grid;
    grid-template-rows: 1lh minmax(0, 0fr);
    transition: grid-template-rows var(--motion-duration) var(--motion-easing);
}
.board-disclosure_caption[open] > summary {grid-template-rows: 1lh minmax(0, 1fr);}
.board-disclosure_caption > summary > * {
    display: block;
    grid-row: 1 / -1;
    min-block-size: 0;
    max-block-size: min(25vh, 12rem);
    overflow: clip;
    overflow-wrap: anywhere;
    white-space: pre-wrap;
}
.board-disclosure_caption[open] > summary > * {
    overflow: auto;
    overscroll-behavior: contain;
    user-select: text;
}

.settings__prefs {
	min-block-size: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    padding: var(--space-1) 0 var(--space-3);
}

.settings__row {
    display: flex;
    align-items: center;
    gap: var(--settings-gap);
    min-block-size: var(--settings-row-size);
    min-width: 0;

    &[data-type="select"] .settings__label {
        flex-wrap: wrap;
    }
}

.settings__label {
    display: flex;
    align-items: center;
    gap: var(--settings-space);
    min-width: 0;
    cursor: pointer;
}

.settings__caption {
    min-width: 0;
    overflow-wrap: anywhere;
}

.settings__checkbox {
    flex: none;
    margin: 0;
}


.settings__edit {
    flex: none;
    border: 0;
    padding: 0;
    background: transparent;
    color: var(--theme_default_link);
    font: inherit;
    cursor: pointer;

    &:hover {
        text-decoration: underline;
    }
}

.filter-editor {
    --filter-space: 8px;
    display: flex;
    flex-direction: column;
    gap: var(--filter-space);
    min-width: 0;

    p {
        margin: 0;
    }

    .filter-editor__list:empty, [role="status"]:empty {display: none;}

    .input,
    .selectbox {
        box-sizing: border-box;
        min-width: 0;
        max-width: 100%;
    }



}

.filter-editor__status,
.filter-editor__hint {
    overflow-wrap: anywhere;
    color: var(--theme_default_alttext);
}

.filter-editor__toolbar,
.filter-editor__rule-header {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: var(--filter-space);
}

.filter-editor__list,
.filter-editor__form,
.filter-editor__import,
.filter-editor__conditions,
.filter-editor__notice {
    display: flex;
    flex-direction: column;
    gap: var(--filter-space);
    min-width: 0;
}

.filter-editor__form,
.filter-editor__import {
    padding: var(--filter-space);
}

.filter-editor__form,
.filter-editor__rule,
.filter-editor__notice {
    border: var(--control-border-width) solid var(--theme_default_btnborder);
    border-radius: var(--control-radius);
}

.filter-editor__rule,
.filter-editor__notice {
    display: flex;
    flex-direction: column;
    gap: var(--filter-space);
    padding: var(--filter-space);
    overflow-wrap: anywhere;
}

.filter-editor__rule {
    p {
        white-space: pre-wrap;
    }

    label {
        display: flex;
        align-items: center;
        gap: var(--filter-space);
        min-width: 0;

        input {
            flex: none;
            margin: 0;
        }
    }
}

.filter-editor__field {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 4px;
    min-width: 0;
}

.filter-editor__scope {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--filter-space);
}

.filter-editor__condition {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr) auto;
    gap: 4px;

    > .input {
        grid-row: 2;
        grid-column: 1 / 3;
    }

    > button {
        grid-column: 3;
        grid-row: 1 / 3;
        align-self: center;
    }
}

.filter-editor__actions,
.filter-editor__feedback {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--filter-space);
}

.filter-editor__error {
    color: var(--theme_default_link);
    font-weight: bold;
}

@media (max-width: 480px) {
    .filter-editor__scope {
        grid-template-columns: repeat(2, minmax(0, 1fr));

        > :last-child {
            grid-column: 1 / -1;
        }
    }
}

.error {border: 1px solid #FF0000 !important;}
.oekaki-width, .oekaki-height {width: 40px; box-sizing: content-box;}


.sticker {display: flex;flex-direction: column;gap: 5px;overflow: auto;resize: both;min-width: min(370px, 100%);height: 24em;}
.stickerpack {
    display: grid;gap: 3px;flex: none;padding: 3px;overflow: auto;user-select: none;
    > summary {
        cursor:pointer;
    }
}
.stickerpack:not([open]) {opacity:50%;}
.stickerpack-name {display:flex;gap:8px;}
.stickerpack-meta {display: inline-flex; align-items: center; gap: 5px; min-inline-size: 0;}
.stickerpack-content {display:grid;grid-template-columns: repeat(auto-fit, 5em);gap: 3px;}
.sticker__choice {display: grid; place-items: center; padding: 2px; border: 0; background: transparent; cursor: pointer;}
.sticker__img {width: 60px; max-width: 100%; vertical-align: top;}

#setting-editor-textarea-textarea {box-sizing: border-box; width: 100%; min-height: 100px;}
#setting-editor-singleinput-input {box-sizing: border-box; width: 100%;}
#setting-editor-body {display: grid; gap: var(--settings-gap);}

.settings-code-editor {
    --code-property: #095fa6;
    --code-string: #a31515;
    --code-number: #098658;
    --code-keyword: #7b16a5;
    --code-comment: #68715b;
    display: grid;
    min-inline-size: 0;
    min-block-size: 0;
    border: var(--control-border-width) solid var(--theme_default_btnborder);
    border-radius: var(--control-radius);
    overflow: hidden;

    &[data-state="loading"],
    &[data-state="error"] {
        align-content: start;
        justify-items: start;
        gap: var(--settings-space);
        padding: var(--settings-space);
    }

    html[data-theme="nightmode"] & {
        --code-property: #9cdcfe;
        --code-string: #ce9178;
        --code-number: #b5cea8;
        --code-keyword: #c586c0;
        --code-comment: #8c9c80;
    }

    .cm-editor {
        min-inline-size: 0;
        min-block-size: 0;
        block-size: 100%;
        background: var(--theme_default_bg);
        color: var(--theme_default_text);

        &.cm-focused {
            outline: none;
        }
    }

    .cm-scroller {
        overflow: auto;
        font: 14px/1.55 ui-monospace, Consolas, monospace;
    }

    .cm-gutters,
    .cm-panels {
        background: var(--theme_default_postbg);
        color: var(--theme_default_alttext);
        border-color: var(--theme_default_btnborder);
    }

    .cm-activeLine,
    .cm-activeLineGutter {
        background: color-mix(in srgb, var(--theme_default_link) 7%, transparent);
    }

    .cm-cursor {
        border-inline-start-color: var(--theme_default_text);
    }

    .cm-selectionBackground,
    .cm-focused .cm-selectionBackground {
        background: color-mix(in srgb, var(--theme_default_link) 25%, var(--theme_default_bg));
    }
}

/* Favorites */
.favorites-panel {
    --favorites-space: 8px;
    --favorites-control-size: 32px;
    position: fixed;
    inset-block-end: 0;
    inset-inline-end: 80px;
    width: min(420px, calc(100dvw - 2 * var(--favorites-space)));
    max-height: 70dvh;
    border-bottom: 0;
    border-radius: var(--control-radius) var(--control-radius) 0 0;
    font-size: .85em;
    z-index: 3;

    &:not([hidden]) {
        display: flex;
        flex-direction: column;
    }

    button {
        display: flex;
        align-items: center;
        justify-content: center;
        border: 0;
        padding: var(--favorites-space);
        background: transparent;
        color: inherit;
        font: inherit;
        cursor: pointer;

        &:hover, &:focus-visible {
            background: var(--control-surface-hover);
            color: var(--theme_default_text);
        }
    }

    @media (max-width: 600px) {
        inset-inline-end: var(--favorites-space);
    }
}

.favorites-panel__header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) var(--favorites-control-size);

    .favorites-panel__toggle {
        grid-area: 1 / 1 / 2 / -1;
        padding-inline: var(--favorites-control-size);
    }

    .favorites-panel__update {
        grid-area: 1 / 2;
    }
}

.favorites-panel__toggle {
    gap: var(--favorites-space);

    .chevron {
        transform: rotate(180deg);
    }

    &[aria-expanded="true"] .chevron {
        transform: none;
    }

    &.favorites-panel__toggle_unread {
        color: var(--theme_default_link);
        font-weight: bold;
    }
}

.favorites-panel__body {
    color: var(--theme_default_text);
    display: flex;
    flex-direction: column;
    gap: var(--favorites-space);
    min-height: 0;
    padding: var(--favorites-space);
    border-top: var(--control-border-width) solid var(--control-surface-border);
}

.favorites-panel__list {
    min-height: 0;
    overflow: auto;
}

.favorites-panel__empty {
    margin: 0;
    padding: var(--favorites-space);
    color: var(--theme_default_alttext);
    text-align: center;
}

.favorites-panel__list:has(.fav-row) .favorites-panel__empty,
.favorites-table:not(:has(.fav-row)) {
    display: none;
}

.favorites-panel__footer {
    display: flex;
    flex-direction: column;
    gap: var(--favorites-space);
    padding-top: var(--favorites-space);
    border-top: var(--control-border-width) solid var(--control-surface-border);
    font-size: .9em;
}

.favorites-panel__options {
    display: flex;
    flex-wrap: wrap;
    gap: var(--favorites-space);

    label {
        display: flex;
        align-items: center;
        gap: 5px;
        cursor: pointer;
    }

    input {
        margin: 0;
    }
}

.favorites-table {
    display: grid;
    grid-template-columns: max-content max-content max-content minmax(0, 1fr);
    gap: 4px 12px;
    width: 100%;

    &:not(:has([data-slot="posts"]:not(:empty))),
    &:not(:has([data-slot="replies"]:not(:empty))) {
        grid-template-columns: max-content max-content minmax(0, 1fr);
    }

    &:not(:has(.fav__new:not(:empty))) {
        grid-template-columns: max-content minmax(0, 1fr);
    }

    tbody, .fav-row {
        display: grid;
        grid-template-columns: subgrid;
        grid-column: 1 / -1;
        align-items: center;
        gap: inherit;
    }

    &:not(:has([data-slot="posts"]:not(:empty))) [data-slot="posts"],
    &:not(:has([data-slot="replies"]:not(:empty))) [data-slot="replies"] {
        display: none;
    }

    .fav-buttons {
        display: flex;
        align-items: center;
        gap: 5px;

        button {
            display: flex;
            align-items: center;
            border: 0;
            padding: 0;
            background: transparent;
            color: inherit;
            cursor: pointer;
        }
    }

    .fav__new {
        text-align: right;
        font-variant-numeric: tabular-nums;
        white-space: nowrap;
    }

    .fav-name {
        min-width: 0;
    }

    .fav__title {
        display: block;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
}


.fav__fa {cursor: pointer;}
.fav__title_type_deleted {text-decoration: line-through;}
.fav__title_type_updated {font-weight: bold;}

/* media viewer */
.mv {
    --mv-nav-size: 60px;
    --mv-nav-overhang: 10px;
    display: none;
}
.mv__nav {position: fixed;width: var(--mv-nav-size);height: var(--mv-nav-size);cursor: pointer;z-index: 999;padding: 26px 20px 16px;background: var(--theme_mpborder);top: calc(50vh - 20px);border-radius: 10px;opacity: 0.6;}
.mv__nav:hover {opacity: 1;}
.mv__nav_l {left: calc(-1 * var(--mv-nav-overhang));transform: rotate(-90deg);}
.mv__nav_r {right: calc(-1 * var(--mv-nav-overhang));transform: rotate(90deg);}
.mv__icon {width: 18px;height: 18px;}

/* The stage clips at the viewport; CSS grid reserves only the initial fit area. */
.mv[data-viewer] {
    --mv-edge: 8px;
    --mv-control-size: 30px;
    --mv-gap: 4px;
    --mv-panel-width: 860px;
    --mv-safe-top: max(var(--mv-edge), env(safe-area-inset-top, 0px));
    --mv-safe-right: max(var(--mv-edge), env(safe-area-inset-right, 0px));
    --mv-safe-bottom: max(var(--mv-edge), env(safe-area-inset-bottom, 0px));
    --mv-safe-left: max(var(--mv-edge), env(safe-area-inset-left, 0px));
    display: block;
    position: fixed;
    inset: 0;
    z-index: 1000;
    overflow: hidden;
    box-sizing: border-box;
    color: var(--theme_default_text);
    background: transparent;
    font-size: 12px;
    line-height: 1.3;
    isolation: isolate;
    pointer-events: none;

    :is(.mv__top, .mv__footer, .mv__browse, .mv__nav, .mv__canvas, .mv__audio, .mv__embed) {
        pointer-events: auto;
    }
    .mv__workspace {
        position: relative;
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: auto minmax(0, 1fr) auto;
        gap: var(--mv-edge);
        width: 100%;
        height: 100%;
        min-width: 0;
        min-height: 0;
        box-sizing: border-box;
        padding: var(--mv-safe-top) var(--mv-safe-right) var(--mv-safe-bottom) var(--mv-safe-left);
        outline: none;
    }
    .mv__top {
        position: relative;
        grid-area: 1 / 1;
        z-index: 2;
        justify-self: center;
        width: min(100%, var(--mv-panel-width));
        min-width: 0;
    }
    .mv__fit-area {
        grid-area: 2 / 1;
        min-width: 0;
        min-height: 0;
        pointer-events: none;
    }
    .mv__header, .mv__footer {
        display: flex;
        align-items: center;
        gap: var(--mv-gap);
        justify-self: center;
        box-sizing: border-box;
        width: 100%;
        min-width: 0;
        padding: 4px;
        border: 1px solid var(--theme_default_border);
        border-radius: 2px;
        color: var(--theme_default_text);
        background: var(--theme_default_postbg);
        box-shadow: none;
    }
    .mv__modes {
        display: flex;
        align-items: center;
        flex: 0 0 auto;
        gap: var(--mv-gap);
    }
    .mv__info {
        display: flex;
        align-items: center;
        flex: 1;
        gap: var(--mv-gap);
        min-width: 0;
    }
    .mv__file-info {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        flex: 1;
        gap: 2px;
        min-width: 0;
    }
    .mv__file {
        display: block;
        inline-size: fit-content;
        min-inline-size: 0;
        max-inline-size: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        color: var(--theme_default_text);

        &:hover {
            color: var(--theme_default_link);
        }
    }
    .mv__details {
        min-width: 0;
        color: var(--theme_default_alttext);
        font-size: 11px;
        font-variant-numeric: tabular-nums;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .mv__counter {
        flex: none;
        min-width: 5ch;
        text-align: center;
        font-variant-numeric: tabular-nums;
        white-space: nowrap;
        color: var(--theme_default_alttext);
    }
    .mv__button {
        display: inline-flex;
        flex: 0 0 auto;
        align-items: center;
        justify-content: center;
        gap: var(--mv-gap);
        min-width: var(--mv-control-size);
        min-height: var(--mv-control-size);
        padding: 4px 7px;
        border: 1px solid var(--theme_default_btnborder);
        border-radius: 2px;
        color: var(--theme_default_btntext);
        background: var(--theme_default_btnbg);
        box-shadow: none;
        font: inherit;
        line-height: 1;
        text-decoration: none;
        white-space: nowrap;
        touch-action: manipulation;

        &:hover {
            background: var(--theme_default_btnbghover);
        }
        &[aria-pressed="true"] {
            color: var(--theme_default_link);

            .icon {
                fill: currentColor;
            }
        }
        &:disabled {
            opacity: .35;
            cursor: default;
        }
        .icon {
            display: block;
            width: 16px;
            height: 16px;
            fill: var(--theme_default_alttext);
            pointer-events: none;
        }
    }
    .mv__nav {
        display: block;
        border: 0;
        text-align: left;
        touch-action: manipulation;

        &:disabled {
            opacity: .3;
            cursor: default;
        }
    }
    .mv__workspace[data-mode="browse"] :is(.mv__previous, .mv__next) {
        display: none;
    }
    :is(button, a, input, select, summary, [tabindex="0"]):focus-visible {
        outline: 2px solid var(--theme_default_link);
        outline-offset: -2px;
    }
    .mv__stage {
        position: absolute;
        inset: 0;
        z-index: 0;
        min-width: 0;
        min-height: 0;
        overflow: hidden;
        background: transparent;
        isolation: isolate;
        touch-action: none;
    }
    .mv__content {
        position: absolute;
        inset: 0;
    }
    .mv__canvas {
        position: absolute;
        top: 0;
        left: 0;
        transform-origin: 0 0;
    }
    .mv__stage[data-zooming="true"] :is(.mv__canvas, .mv__video) {
        transition: transform 100ms ease-out;
        transition-property: transform, width, height;
    }
    .mv__image, .mv__video {
        display: block;
        max-width: none;
        max-height: none;
        transform-origin: 0 0;
        user-select: none;
        -webkit-user-drag: none;
        cursor: grab;
    }
    .mv__video {
        background: #111;
        object-fit: contain;
    }
    .mv__stage[data-dragging="true"] :is(.mv__image, .mv__video) {
        cursor: grabbing;
    }
    .mv__embed {
        display: block;
        position: absolute;
        top: 50%;
        left: 50%;
        min-width: 0;
        min-height: 0;
        max-width: 100%;
        max-height: 100%;
        object-fit: contain;
        object-position: center;
        background: #111;
        transform: translate(-50%, -50%);

        iframe {
            display: block;
            width: 100%;
            height: 100%;
            border: 0;
        }
    }
    .mv__audio {
        position: absolute;
        top: 50%;
        left: 50%;
        width: min(95%, calc(100% - 2 * (var(--mv-nav-size) - var(--mv-nav-overhang) + var(--mv-gap))));
        max-width: 32rem;
        transform: translate(-50%, -50%);
    }
    .mv__status {
        position: absolute;
        z-index: 1;
        inset: 50% auto auto 50%;
        width: max-content;
        max-width: 90%;
        margin: 0;
        padding: 8px 12px;
        border: 1px solid var(--theme_default_border);
        border-radius: 2px;
        background: var(--theme_default_postbg);
        color: var(--theme_default_text);
        text-align: center;
        overflow-wrap: anywhere;
        transform: translate(-50%, -50%);
        pointer-events: none;
    }
    .mv__workspace[data-mode="browse"] .mv__status {
        display: none;
    }
    .mv__footer {
        grid-area: 3 / 1;
        align-self: center;
        z-index: 2;
        width: max-content;
        max-width: min(100%, var(--mv-panel-width));
        justify-content: center;
        flex-wrap: wrap;
    }
    .mv__zoom-tools, .mv__size-tools, .mv__speed {
        display: flex;
        align-items: center;
        gap: var(--mv-gap);
        min-width: 0;
    }
    .mv__zoom-tools {
        flex: 1 1 auto;
    }
    .mv__zoom {
        flex: 1;
        width: 88px;
        min-width: 36px;
        height: var(--mv-control-size);
        margin: 0;
        padding: 0;
        accent-color: var(--theme_default_link);
        cursor: pointer;
    }
    .mv__sizing, .mv__speed select {
        min-height: var(--mv-control-size);
        padding: 2px 4px;
        color: var(--theme_default_text);
        background: var(--theme_default_btnbg);
        border: 1px solid var(--theme_default_btnborder);
        border-radius: 2px;
        font: inherit;
        font-variant-numeric: tabular-nums;
        appearance: auto;
    }
    .mv__sizing {
        flex: 0 0 auto;
        width: 9em;
        max-width: 100%;
    }
    .mv__size-tools {
        flex: 0 0 auto;
    }
    .mv__speed {
        flex: 0 0 auto;
        white-space: nowrap;
    }
    .mv__speed select {
        width: 5.5em;
    }
    .mv__metadata {
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        min-width: 0;
        padding: 5px 8px;
        border: 1px solid var(--theme_default_border);
        border-top: 0;
        border-radius: 0 0 2px 2px;
        color: var(--theme_default_alttext);
        background: var(--theme_default_postbg);

        summary {
            cursor: pointer;
            list-style: none;
            overflow: hidden;
        }
        summary::-webkit-details-marker {
            display: none;
        }
    }
    .mv__browse {
        display: grid;
        grid-template-rows: minmax(0, 1fr) auto;
        grid-area: 2 / 1;
        z-index: 2;
        align-self: start;
        justify-self: center;
        box-sizing: border-box;
        width: min(100%, var(--mv-panel-width));
        max-height: 100%;
        min-width: 0;
        min-height: 0;
        gap: 12px;
        padding: 12px;
        overflow: hidden;
        background: var(--theme_default_bg);
        border: 1px solid var(--theme_default_border);
        border-radius: 2px;
    }
    .mv__gallery-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
        grid-auto-rows: max-content;
        align-content: start;
        min-height: 0;
        gap: var(--mv-gap);
        overflow: auto;
        overscroll-behavior: contain;
    }
    .mv__thumbnail {
        position: relative;
        display: grid;
        grid-template-rows: minmax(0, 1fr);
        min-width: 0;
        aspect-ratio: 1;
        padding: 0;
        border: 1px solid var(--theme_default_btnborder);
        border-radius: var(--control-radius);
        overflow: hidden;
        color: var(--theme_default_text);
        background: var(--theme_default_postbg);
        text-align: left;
        cursor: pointer;

        &:hover, &[aria-current="true"] {
            border-color: var(--theme_default_link);
        }
        img {
            display: block;
            width: 100%;
            height: 100%;
            min-height: 0;
            object-fit: cover;
        }

        &[data-type="video"] .mv__thumbnail-icon {
            position: absolute;
            right: 8px;
            bottom: 8px;
            width: 22px;
            height: 22px;
            padding: 4px;
            border-radius: 2px;
            background: var(--theme_default_postbg);
        }

        .mv__thumbnail-icon {
            fill: var(--theme_default_alttext);
            pointer-events: none;
        }
    }
    .mv__pages {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
    }
    @media (max-width: 720px), (pointer: coarse) {
        background: rgb(0 0 0 / .28);
        pointer-events: auto;

        .mv__stage {pointer-events: auto;}
        .mv__nav {display: none;}
    }
    @media (max-width: 720px), (max-width: 1023px) and (pointer: coarse) {
        --mv-edge: 0px;
        --mv-control-size: 40px;

        .mv__workspace {padding: 0; gap: 0;}
        .mv__top {inline-size: 100%; justify-self: stretch;}
        .mv__header, .mv__footer {
            inline-size: 100%;
            max-inline-size: none;
            border: 0;
            border-radius: 0;
            background: var(--theme_default_bg);
        }
        .mv__header {
            display: grid;
            grid-template-columns: minmax(0, 1fr) var(--mv-control-size) var(--mv-control-size);
            grid-template-areas: "modes download close" "info info info";
            padding: calc(var(--space-2) + env(safe-area-inset-top)) max(var(--space-2), env(safe-area-inset-right)) var(--space-2) max(var(--space-2), env(safe-area-inset-left));
            border-block-end: 1px solid var(--theme_default_border);
        }
        .mv__modes {grid-area: modes; justify-self: start;}
        .mv__info {grid-area: info; padding: 0 var(--space-2);}
        .mv__download {grid-area: download;}
        [data-action="close"] {grid-area: close;}
        .mv__footer {
            align-self: end;
            padding: var(--space-2) max(var(--space-2), env(safe-area-inset-right)) calc(var(--space-2) + env(safe-area-inset-bottom)) max(var(--space-2), env(safe-area-inset-left));
            border-block-start: 1px solid var(--theme_default_border);
        }
        .mv__button {
            padding: var(--space-2);
            background: transparent;
            border-color: transparent;
            color: var(--theme_default_alttext);
            &:not(:disabled):is(:hover, :focus-visible) {background: var(--theme_default_btnbghover); color: var(--theme_default_text);}
            &[aria-pressed="true"] {color: var(--theme_default_link);}
            .icon {inline-size: 20px; block-size: 20px; fill: currentColor;}
        }
        .mv__zoom {inline-size: 0; min-inline-size: 24px;}
        .mv__sizing {inline-size: 82px;}
        .mv__size-tools {gap: 0;}
        .mv__footer select {
            min-block-size: var(--mv-control-size);
            padding-inline: var(--space-1);
            border-color: transparent;
            background: transparent;
            color: var(--theme_default_text);
            option {color: var(--theme_default_text); background: var(--theme_default_bg);}
        }
        .mv__browse {inline-size: 100%; border: 0; border-radius: 0;}
    }
    @media (pointer: coarse) {
        --mv-control-size: 40px;
    }
    @media (prefers-reduced-motion: reduce) {
        .button, .mv__stage[data-zooming="true"] :is(.mv__canvas, .mv__video) {
            transition: none;
        }
    }
}

/* media player */


/* ============================================================================ END post forms style + quick reply ============================================================================ */


/* ============================================================================ START footer ============================================================================ */
.footer {display: flex;flex-direction: column;gap: var(--board-section-gap); padding: var(--post-content-inset);}
.footer__info {display: flex;flex-direction: column;gap: 12px;text-align:center;font-size:12px;}
.footer__info p {margin: 0;}
.footer__svgs {display: none;}
.footer__boards {display: flex;flex-wrap: wrap;align-items: baseline;gap: 4px var(--navigation-gap);font-size: .9rem;}
.footer__bcat {display: contents;}
.footer__bcat a {display: inline-flex;align-items: baseline;gap: var(--navigation-gap);}
.footer__bcat a + a::before {content: "/";}
.footer__speed:empty {display: none;}
.mmm {
	display: flex;
	justify-content: center;

	&:not(:has(> *)) {
		display: none;
	}
}
.mmm__img {max-width: 100%;}
.vk-group {width: 468px; margin:auto;}
.pager {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	width: fit-content;
	max-width: 100%;
	padding: 8px;
	border: 1px solid var(--theme_default_border);
	background: var(--theme_default_postbg);
	font-size: .9em;
}
/* news box */
.nb {display: flex;flex-direction: column;gap: 10px;align-items: center;font-size: .9em;}
.nb__data {display: grid;grid-template-columns: repeat(2, minmax(0, 1fr));gap: 20px;width: 60%;}
.nb__data:empty {display: none;}
.nb__column {display: flex;flex-direction: column;gap: 4px;min-width: 0;}
.nb__switcher {display: flex;flex-wrap: wrap;align-items: baseline;justify-content: center;gap: 8px;}
.nb__switcher_active {color: inherit;}

/* ============================================================================ END footer ============================================================================ */

/* ============================================================================ FONT AWESOME ========================================================================== */
.board-notices {
	position: fixed;
	inset-block-start: 4px;
	inset-inline-end: 4px;
	z-index: 998;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 4px;
	max-inline-size: min(40rem, calc(100dvw - 8px));
	max-block-size: 40dvh;
	overflow: auto;
	pointer-events: none;

	&:empty {
		display: none;
	}

	.alert {
		pointer-events: auto;
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: center;
		gap: var(--space-2);
		padding: var(--space-2);
		line-height: 1.4;
		border: var(--control-border-width) solid var(--control-surface-border);
		border-radius: var(--control-radius);
		max-inline-size: 100%;
		box-sizing: border-box;

		[data-slot="content"] {min-inline-size: 0;}
		[data-slot="close"] {display: grid; place-items: center; inline-size: 24px; block-size: 24px; padding: 0;}
	}
}
.alert {cursor: default;font-size: .9em;padding: 4px 8px;background: var(--theme_default_postbg);overflow-wrap: anywhere;}
.modal {position:absolute;background-color: #ccc;background-color: var(--theme_default_postbg);border-radius: 2px;padding:0;margin:0;z-index:9999;cursor:pointer;width:auto;min-width:0;border:1px solid #CCC;border:1px solid var(--theme_default_border);font-size: 0.9em;}
.modal a {display:block;padding: 3px 10px;font:13px arial;color: inherit;white-space:nowrap;text-decoration:none;}
.modal a:hover {background:#666;color: #fff;}
.post-menu {
    position: fixed;
    display: grid;
    max-inline-size: calc(100vw - 2 * var(--menu-gutter));
    max-block-size: calc(100vh - 2 * var(--menu-gutter));
    overflow: auto;
    opacity: 1;
    &[data-motion-phase="leaving"] {pointer-events: none;}

    [role="menuitem"] {
        display: block;
        inline-size: 100%;
        border: 0;
        border-radius: 0;
        padding: 5px 10px;
        background: transparent;
        color: inherit;
        font: 13px arial;
        text-align: start;
        text-decoration: none;
        white-space: normal;
        cursor: pointer;

        &:hover, &:focus-visible {
            background: var(--theme_default_bg);
            color: var(--theme_default_link);
        }
    }

    &[data-presentation="sheet"] {
        --menu-sheet-width: 26rem;
        inset-inline: max(var(--menu-gutter), calc((100vw - var(--menu-sheet-width)) / 2));
        inset-block: auto max(var(--menu-gutter), env(safe-area-inset-bottom));
        max-inline-size: none;
        max-block-size: 65dvh;
        gap: 2px;
        padding: 6px;
        border-radius: var(--control-radius);
        font-size: 1rem;

        [role="menuitem"] {
            min-block-size: 44px;
            font: inherit;
        }
    }
}

:root {
    --post-selection-control-size: 44px;
    --post-selection-inset: 4px;
    --post-selection-height: calc(var(--post-selection-control-size) + 2 * var(--post-selection-inset) + 1px);
}

.post-selection {
    position: fixed;
    inset: auto 0 0;
    z-index: 990;
    display: grid;
    grid-template-columns: var(--post-selection-control-size) minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 4px;
    block-size: calc(var(--post-selection-height) + env(safe-area-inset-bottom));
    padding: var(--post-selection-inset) max(var(--post-selection-inset), env(safe-area-inset-right)) calc(var(--post-selection-inset) + env(safe-area-inset-bottom)) max(var(--post-selection-inset), env(safe-area-inset-left));
    box-sizing: border-box;
    margin: 0;
    inline-size: 100%;
    max-inline-size: none;
    max-block-size: none;
    border: 0;
    border-block-start: 1px solid var(--theme_catalog_border);
    background: var(--theme_default_bg);
    color: var(--theme_default_text);
    font-size: 14px;
    opacity: 0;
    translate: 0 100%;
    transition: opacity var(--motion-duration) var(--motion-easing), translate var(--motion-duration) var(--motion-easing), display var(--motion-duration) allow-discrete, overlay var(--motion-duration) allow-discrete;

    &:popover-open {display: grid; opacity: 1; translate: none;}
    &::backdrop {background: transparent; pointer-events: none;}
    [data-slot="status"] {position: absolute; inset: auto 8px calc(100% + 8px); padding: 8px; background: var(--overlay-surface); border: 1px solid var(--overlay-border); border-radius: var(--control-radius);}
    .post-selection__limit {color: #f90000;}

    > button {
        min-block-size: var(--post-selection-control-size);
        border: 1px solid transparent;
        border-radius: var(--control-radius);
        padding-inline: 10px;
        background: transparent;
        color: inherit;
        font: inherit;
        cursor: pointer;

        &:hover, &:active {background: var(--theme_default_postbg);}
        &:focus-visible {outline: 2px solid var(--theme_default_title); outline-offset: -2px;}
    }

    .post-selection__cancel {padding: 0; color: var(--theme_default_alttext); .window-icon {inline-size: 14px; block-size: 14px;}}
    .post-selection__reply {color: var(--theme_default_link);}
    .post-selection__menu {border-color: var(--theme_catalog_border); background: var(--theme_default_btnbg);}
    > output {min-inline-size: 0; line-height: 1.25; font-size: 13px; font-variant-numeric: tabular-nums;}
}

@starting-style {
    .post-selection:popover-open {opacity: 0; translate: 0 100%;}
}

html[data-post-selection-bar] .post-menu[data-presentation="sheet"] {
    inset-block-end: calc(var(--post-selection-height) + env(safe-area-inset-bottom) + var(--menu-gutter));
}

html[data-post-selection-bar] {
    scroll-padding-block-end: calc(var(--post-selection-height) + env(safe-area-inset-bottom));
}

.post_selected {
    background: var(--theme_default_postselected);
    border-color: var(--theme_catalog_border);
}


.post[data-post-press] {
    user-select: none;
    -webkit-user-select: none;
    -webkit-touch-callout: none;
}

.post[data-post-text-selection] {
    user-select: text;
    -webkit-user-select: text;
}

.post:not(.post_preview) {touch-action: manipulation;}

/* desktop - СЃРєСЂС‹С‚ РѕРЅР»Рё РІ РјРѕР±Р°Р№Р» РІРµСЂСЃРёРё. mobile - СЃРєСЂС‹С‚ РІ РґРµСЃРєС‚РѕРї РІРµСЂСЃРёРё, Р±Р»РѕС‡РЅС‹Р№ РІ РјРѕР±РёР»СЊРЅРѕР№ */
.mobile {	display: none;}

@media only screen and (max-width: 480px) {
    .tn { justify-content: center;}
    body {padding: 0;font-size: 0.8em;}
    .desktop {	display: none !important;}
    .mobile {display: initial;	clear: both;	}
    .passcode-banner-mob {display: block !important;}
    .captcha {flex-direction: column;}
    .postform__input, .captcha__val, .postform .button {padding: 10px;}
    .postform {width: 100%;font-size: 16px;}
    .postarea__btn {width: 24px;height: 24px;}
    .qr {font-size: 0.9em;}
    /* boards list */
    /* buttons up down back answer */
    .postform__mob {display: flex;justify-content: center;}
    .postform__mob-button {min-height: 44px;}
    .button_mob {
        font-family: inherit;
        line-height: inherit;
        float: none !important;
        border-radius: var(--control-radius);
        padding: 6px 10px 5px 10px !important;
        font-weight: bold;
        background-color: #DDDDDD;
        border: 1px solid #CCCCCC;
        background-color: var(--theme_default_btnbg);
        border: 1px solid var(--theme_default_btnborder);
        user-select: none;
        background-repeat: repeat-x;
        color: #FF6600;
        color: var(--theme_default_link);
        display: inline-block;
        cursor: pointer;
    }
    #js-mob-nav {    color: var(--theme_default_text);}
}

html[data-report-selecting] #js-posts {
    cursor: cell;
    user-select: none;
}

.post-reports {
    color-scheme: light;
    html[data-theme=nightmode] & {color-scheme: dark;}
}

.board-dialog {
    --overlay-enter-transform: translateY(var(--overlay-offset));
    --overlay-leave-transform: initial;
    --dialog-space: var(--space-3);
    --dialog-inset: var(--overlay-inset);
    --dialog-available-block-size: calc(var(--window-viewport-height, 100dvh) - 2 * var(--dialog-inset));
    inset: 0;
    margin: auto;
    box-sizing: border-box;
    inline-size: min(var(--dialog-width), calc(100% - 2 * var(--dialog-inset)));
    max-block-size: var(--dialog-available-block-size);
    padding: 0;
    border-width: var(--control-border-width);
    border-style: solid;
    color: var(--theme_default_text);
    overflow: hidden;
    font-size: 1rem;

    &[open] {
        display: grid;
        grid-template-rows: minmax(0, 1fr);
    }

    &::backdrop {
        background: var(--overlay-dim);
        animation: board-overlay-dim var(--overlay-duration) var(--overlay-easing) backwards;
    }

    &[data-dialog-leaving] {pointer-events: none;}
    &[data-dialog-leaving="all"]::backdrop {animation: board-overlay-undim var(--overlay-duration) var(--overlay-easing) forwards;}
    transition: translate var(--overlay-duration) var(--overlay-easing), scale var(--overlay-duration) var(--overlay-easing);
    &[data-dialog-dragging] {transition: none;}
}

.board-dialog__handle {
    grid-row: 1;
    display: grid;
    place-items: center;
    block-size: 16px;
    padding: 0;
    border: 0;
    background: transparent;
    touch-action: none;

    &::after {
        content: '';
        inline-size: 28px;
        block-size: 3px;
        border-radius: var(--control-radius);
        background: var(--theme_default_icon);
    }

    &:focus-visible {outline: 1px solid var(--theme_default_title); outline-offset: -2px;}
}

.board-dialog__surface {
    display: grid;
    grid-template-rows: auto auto minmax(0, 1fr) auto;
    min-inline-size: 0;
    min-block-size: 0;

}

.board-dialog__header {
    cursor: default;
    grid-row: 2;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: var(--dialog-space);

    [data-dialog-slot="title"] {
        min-inline-size: 0;
        overflow-wrap: anywhere;
        max-block-size: 2lh;
        overflow: auto;
    }
}

.board-dialog__body {
    grid-row: 3;
    min-inline-size: 0;
    min-block-size: 0;
    overflow: auto;
    overscroll-behavior: contain;
    padding: var(--dialog-space);

    img {
        max-inline-size: 100%;
    }
}

.board-dialog__footer {
    grid-row: 4;
    min-inline-size: 0;
    padding: var(--dialog-space);
    border-block-start: 1px solid var(--theme_default_border);

}

.board-dialog__actions,
.report-modal__buttons,
.filter-results__footer,
.filter-results__pages {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--dialog-space);
}

.board-dialog__actions {
    justify-content: center;
}

.warningbox {
    .board-dialog__actions {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr));
        gap: var(--space-2);
        align-items: stretch;
    }
    .board-dialog__actions > .button {min-block-size: var(--mobile-control-size, 40px); padding: var(--space-2) var(--space-3); line-height: 1.4;}
    .warningbox__requirements {display: flex; flex-direction: column; gap: var(--space-3);}
    .warningbox__requirements label {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr);
        grid-template-rows: 1lh auto;
        column-gap: var(--space-2);
        cursor: pointer;
    }
    .warningbox__requirements input {grid-column: 1; grid-row: 1; align-self: center; margin: 0; inline-size: 18px; block-size: 18px; accent-color: var(--theme_default_link);}
    .warningbox__requirements label > span {grid-column: 2; grid-row: 1 / span 2;}
}

html[data-post-dialogs] {
    overflow: hidden;
    scrollbar-gutter: stable;
}

.post-dialogs {
    --dialog-width: 580px;
    --dialog-available-block-size: calc(100dvh - 2 * var(--dialog-inset) - var(--post-selection-height) - env(safe-area-inset-bottom));
    inset-block-end: calc(var(--post-selection-height) + env(safe-area-inset-bottom));
    padding: 0;
    font-size: 16px;
    overflow: visible;
    &:not([data-dialog-stack-base])::backdrop {background: transparent; animation: none;}
    &[data-dialog-backdrop-stable]:not([data-dialog-leaving])::backdrop {animation: none;}
    &[data-dialog-covered] {scale: .97;}
    &::after {
        content: '';
        position: absolute;
        inset: 0;
        border-radius: inherit;
        background: var(--overlay-dim);
        opacity: 0;
        pointer-events: none;
        transition: opacity var(--motion-duration) var(--motion-easing);
    }
    &[data-dialog-covered]::after {opacity: 1;}

    .board-dialog__surface {
        max-block-size: calc(var(--dialog-available-block-size) - 2px);
        overflow: hidden;
        border-radius: inherit;
    }

    .board-dialog__body {
        padding: 0;
        outline: none;
        scrollbar-width: thin;
        scrollbar-color: var(--theme_default_alttext) var(--overlay-surface);
    }

    .board-dialog__footer {padding: 0; border: 0;}
    .post__replies-toggle {display: flex; inline-size: 100%; text-align: start;}
    .post__refmap:has(> .post-dialogs__open-thread) > .post__replies-toggle {inline-size: auto;}
    .post__reply-links {display: none;}


}

.swipe-hint {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    position: absolute;
    inline-size: fit-content;
    margin-inline: auto;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--theme_default_text);
    font: inherit;
    font-size: 16px;
    font-weight: 600;
    opacity: 0;
    translate: 0 var(--hint-shift, var(--overlay-offset));
    transition: opacity var(--motion-duration) var(--motion-easing), translate var(--motion-duration) var(--motion-easing), display var(--motion-duration) allow-discrete;
    pointer-events: none;
    &[hidden] {display: none;}
    &:not([hidden]) {opacity: calc(.3 + .7 * var(--swipe-progress, 0)); translate: none;}
    &[data-direction="down"] {--hint-shift: calc(-1 * var(--overlay-offset)); flex-direction: column-reverse;}
    &[data-direction="up"] .chevron {rotate: 180deg;}
    .chevron {inline-size: calc(2 * var(--chevron-size)); block-size: var(--chevron-size);}
}

.mv__gesture-hint {
    position: static;
    grid-area: 2 / 1;
    justify-self: center;
    align-self: end;
    z-index: 3;
    color: #fff;
    text-shadow: 0 1px 4px #000;
    &[data-direction="down"] {align-self: start;}
}

@starting-style {
    .swipe-hint:not([hidden]) {opacity: 0; translate: 0 var(--hint-shift, var(--overlay-offset));}
}

.post-projection-list {
    --post-content-bottom-inset: 0px;
    --post-frame-inset: 0px;
    --post-footer-inset: 0px;
    --post-surface: transparent;
    --post-border-width: 0px;
    --post-border-radius: 0px;
    display: flex;
    flex-direction: column;

    > .post {
        inline-size: 100%;
        max-inline-size: 100%;
        --post-content-gap: var(--space-2);
        padding: var(--post-content-inset);
        border-block-end: 1px solid var(--theme_catalog_border);
        font-size: inherit;
        line-height: 1.4;
    }

    .post__message {max-block-size: none; overflow: visible;}
    .post__body {padding: 0;}
    > .post:last-child {border-block-end: 0;}
}

.post-dialogs__status {margin: 0; padding: var(--dialog-space); color: var(--theme_default_alttext);}
.post-dialogs__open-thread {display: inline-flex; align-items: center; min-block-size: 24px; padding: 0; color: var(--theme_default_alttext); text-decoration: none; &:hover {color: var(--theme_default_link);}}
.post-dialogs__sentinel {block-size: 1px;}

@keyframes board-overlay-dim {from {opacity: 0;} to {opacity: 1;}}
@keyframes board-overlay-undim {to {opacity: 0;}}

@media (prefers-reduced-motion: reduce) {
	:root {--motion-duration: 0ms;}
	.cntnt {transition: none;}
	.board-disclosure::details-content,
	.board-disclosure_caption > summary {transition: none;}
    .board-dialog, .draggable-window, .post-selection, .post-menu, .swipe-hint,
    .post:not(.post_preview), .button, .input, .select, .post__replies-toggle, .post-selection button {
        animation: none !important;
        transition: none;
        &::backdrop {animation: none !important;}
        &::after {transition: none;}
    }
}

.warningbox__content {
    display: grid;
    gap: var(--dialog-space);
    overflow-wrap: anywhere;
    line-height: 1.4;

    p {
        margin: 0;
    }
}

.filter-results {
    block-size: min(760px, calc(100dvh - 2 * var(--dialog-inset)));

    .board-dialog__body {
        overflow: hidden;
    }
}

.filter-results__body {
    display: grid;
    grid-template-rows: auto auto minmax(0, 1fr);
    block-size: 100%;
    min-block-size: 0;
    gap: var(--dialog-space);

    p {
        margin: 0;
    }
}

.filter-results__context {
    font-size: .9em;
    color: var(--theme_default_alttext);

    p {
        max-block-size: 6lh;
        overflow: auto;
        white-space: pre-line;
        overflow-wrap: anywhere;
        padding: var(--dialog-space);
    }
}

.filter-results__footer {
    justify-content: space-between;
}

.filter-results__posts {
    overflow: auto;
    overscroll-behavior: contain;
    min-block-size: 0;
    border: 1px solid var(--theme_default_border);
    border-radius: var(--control-radius);
    &[data-empty] {border: 0; color: var(--theme_default_alttext);}
}

.post-summary {
    display: grid;
    gap: 8px;
    min-inline-size: 0;
    padding: 8px 10px;
    border-block-end: 1px solid var(--theme_default_border);

    &:last-child {
        border-block-end: none;
    }
}

.post-summary__details {
    font-size: 0.8em;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--post-icon-gap);
    color: var(--theme_default_alttext);
}

.post-summary__message {
    font-size: 1em;
    line-height: 1.45;
    overflow-wrap: anywhere;
    min-inline-size: 0;
}

.post-summary__attachments {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.post-summary__thumb {
    display: block;
    max-inline-size: 100%;
    max-block-size: 100px;
    object-fit: contain;
}

.post-summary__file {
    inline-size: min(180px, 100%);
    grid-template-rows: auto auto;
}

.post-summary__media {
    grid-area: media;
    justify-self: start;
    min-inline-size: 0;
    max-inline-size: 100%;
}

:root[data-hide-file-names] .post-summary .post__file-name {
    display: inline;
}

.post-summary__evidence {
    display: grid;
    gap: 4px;
    overflow-wrap: anywhere;

    .post-summary__message {
        white-space: pre-wrap;
    }

    strong,
    > span {
        font-size: 0.8em;
        font-weight: normal;
        color: var(--theme_default_alttext);
    }
}

.post-summary__match {
    color: inherit;
    background: color-mix(in srgb, var(--theme_default_link) 14%, transparent);
    text-decoration: underline;
    text-decoration-color: var(--theme_default_link);
    text-decoration-thickness: 2px;
    text-underline-offset: 3px;
}

.report-modal {
    text-align: start;
    display: grid;
    gap: 14px;
    [data-slot="status"]:empty {display: none;}

    

    .report-modal__subtitle {
        font-weight: normal;
        font-size: 12px;
        color: var(--theme_default_alttext);
    }

    .report-modal__section,
    .report-modal__field {
        display: grid;
        gap: 6px;
    }

    .report-modal__section-header {
        display: flex;
        align-items: baseline;
        justify-content: space-between;
        color: var(--theme_default_alttext);
        user-select: none;
    }

    .report-modal__posts-list {
        max-block-size: min(260px, 35dvh);
        overflow-y: auto;
        border: 1px solid var(--report_modal_border);
        border-radius: 3px;
    }

    .report-modal__textarea-wrapper {display: grid; gap: 4px;}

    .report-modal__textarea {
        inline-size: 100%;
        resize: vertical;
        border-radius: var(--control-radius);
    }

    .report-modal__char-count {
        justify-self: end;
        opacity: 0.6;
        font-size: 0.8rem;
        pointer-events: none;

        &.report-modal__char-count--warn {
            opacity: 1;
            color: red;
        }
    }

}

@-moz-keyframes spin { 100% { -moz-transform: rotate(360deg); } }
@-webkit-keyframes spin { 100% { -webkit-transform: rotate(360deg); } }
@keyframes spin { 100% { -webkit-transform: rotate(360deg); transform:rotate(360deg); } }
.input.board-control, .button.board-control {
	box-sizing: border-box;
	min-height: var(--board-control-height);
	min-width: 0;
	padding: 4px 8px;
	border-radius: var(--control-radius);
	font-size: 14px;
	line-height: 1.3;
}

.board-search {
	inline-size: var(--board-search-width);
	min-block-size: var(--board-control-height);
	min-width: 0;
	max-width: 100%;

	@media (max-width: 640px) {
		inline-size: 100%;
		&:has(.board-search__options > :not([hidden])) {
			min-block-size: calc(2 * var(--board-control-height) + var(--board-search-gap));
		}
	}
}

.board-search__form {
	display: flex;
	align-items: center;
	gap: var(--board-search-gap);
	justify-content: flex-end;
	inline-size: 100%;
	box-sizing: border-box;

	.board-search__controls {
		display: flex;
		align-items: center;
		gap: var(--board-search-gap);
		flex: none;
		inline-size: calc(var(--board-search-scope-width) + var(--board-search-gap) + var(--board-search-input-width));
		min-inline-size: 0;
	}
	.board-search__options {
		display: flex;
		align-items: center;
		justify-content: flex-end;
		gap: var(--board-search-gap);
		min-inline-size: 0;
		&:not(:has(> :not([hidden]))) {display: none;}
	}
	.board-search__field {position: relative; flex: 1; min-inline-size: 0;}
	input[type="search"] {
		display: block;
		inline-size: 100%;
		padding-inline-end: 26px;
		&::-webkit-search-cancel-button {appearance: none;}
	}
	select {appearance: auto; flex: none; inline-size: var(--board-search-scope-width); min-inline-size: 0;}
	button {flex: none;}
	.board-search__results {display: flex; align-items: center; gap: var(--board-search-gap); min-inline-size: 0;}
	.board-search__results button {padding-inline: 5px;}
	output {min-inline-size: 0; overflow: hidden; text-overflow: ellipsis; font-size: .85em; white-space: nowrap;}
	label {display: flex; align-items: center; gap: 4px; white-space: nowrap;}
	.board-search__clear {
		position: absolute;
		inset-inline-end: 3px;
		inset-block: 3px;
		inline-size: 22px;
		border: 0;
		border-radius: var(--control-radius);
		background: transparent;
		color: var(--theme_default_alttext);
		cursor: pointer;
		&:hover {color: var(--theme_default_text); background: var(--theme_default_altbtnbg);}
	}
	&[popover] {
		position: fixed;
		inset: var(--board-sidebar-top) var(--board-search-inset) auto auto;
		margin: 0;
		inline-size: min(var(--board-search-width), calc(100% - 2 * var(--board-search-inset)));
		padding: 8px;
		border: 1px solid var(--theme_default_btnborder);
		border-radius: var(--control-radius);
		background: var(--theme_default_postbg);
		color: var(--theme_default_text);
		.board-search__controls {flex: 1;}
		&:not(:has(> .board-search-results)) .board-search__controls {flex: none;}
	}
	&:popover-open {display: flex;}
	&:has(> .board-search-results) {
		flex-wrap: wrap;
		align-content: start;
		inline-size: min(var(--dialog-width), calc(100vw - 2 * var(--board-search-inset)));
		max-block-size: calc(100dvh - var(--board-sidebar-top) - var(--board-search-inset));
		overflow: auto;
		padding: var(--space-2);
		> .board-search-results {flex-basis: 100%; min-inline-size: 0;}
	}

	@media (max-width: 640px) {
		flex-wrap: wrap;
		.board-search__controls {flex-basis: 100%;}
		.board-search__options {order: 1; flex-basis: 100%;}
	}
}

.board-empty {
	display: block;
	min-inline-size: 0;
	padding: var(--space-4);
	margin: 0;
	color: var(--theme_default_alttext);
	overflow-wrap: anywhere;
}
.board-search-reading {display: none;}
.board-search-post-actions {
	display: flex;
	justify-content: end;
	gap: var(--space-2);
	order: 7;
	a {display: inline-flex; align-items: center; min-block-size: var(--board-control-height);}
}
.board-search-more {display: flex; justify-content: center; padding: var(--space-3);}

.cntnt__main {
	--board-section-gap: 16px;
	--catalog-card-width: 240px;
	--catalog-card-height: 400px;
	--catalog-preview-width: 380px;
	--catalog-preview-height: 640px;
	--catalog-preview-offset: 20px;
	--catalog-grid-gap: 20px;
	--catalog-safe-inline: 12px;
	--catalog-safe-block: 16px;
	display: flex;
	flex-direction: column;
	gap: var(--board-section-gap);
	grid-column: 2;
	grid-row: 1;
	min-width: 0;
	padding-inline: var(--board-content-inset);

	> * {
		min-width: 0;
	}

	@media (max-width: 840px) {
		--catalog-card-width: 280px;
	}

	@media (max-width: 720px), (max-width: 1023px) and (pointer: coarse) {
		grid-column: 1;
		display: grid;
		grid-template-columns: [full-start] var(--board-content-inset) [content-start] minmax(0, 1fr) [content-end] var(--board-content-inset) [full-end];
		padding-inline: 0;

		> * {grid-column: content-start / content-end;}
		> #js-posts {grid-column: full-start / full-end;}
	}

	@media (max-width: 640px) {
		--catalog-card-width: 400px;
		--catalog-preview-width: 420px;
		--catalog-safe-inline: 10px;
		--catalog-safe-block: 10px;
	}

}

html[data-board-transition] {
	overflow-anchor: none;
}

.board-navigation {
	display: block;

	.board-navigation__layout {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: start;
		gap: 10px;
	}
	.board-navigation__primary {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: var(--space-3);
		min-width: 0;
	}
	.board-navigation__primary {min-block-size: var(--board-control-height); max-width: 100%;}
	.board-navigation__tools {
		display: grid;
		grid-template-columns: minmax(0, var(--board-search-width));
		align-items: start;
		justify-content: end;
		gap: 10px;
		min-width: 0;
		max-width: 100%;
	}
	.board-search {justify-self: end;}

	.catalog__toolbar {
		display: flex;
		max-width: 100%;
		flex-wrap: wrap;
		align-items: center;
		justify-content: flex-start;
		gap: 10px;
		min-width: 0;
		font-size: 14px;


		label {
			display: inline-flex;
			align-items: center;
			gap: 4px;
			white-space: nowrap;
		}

		select {
			max-width: 100%;
			appearance: auto;
		}
	}

	@media (max-width: 1024px) {
		.board-navigation__layout {grid-template-columns: minmax(0, 1fr);}
		.board-navigation__tools {order: -1; grid-template-columns: minmax(0, 1fr);}
	}

	@media (max-width: 640px) {
		.board-navigation__primary, .catalog__toolbar, .tn__actions {
			justify-content: center;
		}
	}
}

.board-navigation[data-board-navigation="top"] [data-board-jump="top"],
.board-navigation[data-board-navigation="bottom"] [data-board-jump="bottom"] {
	display: none;
}

.board-modes {
	display: inline-grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	flex: none;
	max-inline-size: 100%;

	[data-board-mode-link] {
		min-block-size: var(--board-control-height);
		border-radius: 0;
		white-space: nowrap;

		&:first-child {border-start-start-radius: var(--control-radius); border-end-start-radius: var(--control-radius);}
		&:last-child {border-start-end-radius: var(--control-radius); border-end-end-radius: var(--control-radius);}
		+ [data-board-mode-link] {border-inline-start-width: 0;}
		&[aria-current="page"] {background-color: var(--theme_default_btnbghover);}
		&:focus-visible {outline: 1px solid var(--theme_default_link); outline-offset: -2px;}
	}
}

.cntnt__pager [data-page-numbers] {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

html[data-board-mode="catalog"] .cntnt__pager {
	display: none;
}

#js-posts[data-board-mode="catalog"] {
	font-size: 1rem;

	.catalog {
		.catalog__status {
			color: var(--theme_default_alttext);
		}

		.ctlg {
			padding-block: var(--catalog-safe-block);
			display: flex;
			flex-wrap: wrap;
			justify-content: center;
			align-items: flex-start;
			gap: var(--catalog-grid-gap);
			&:empty {display: none;}
		}
	}

	.catalog__previews {
		position: absolute;
		inset-inline: 0;
		top: 0;
		height: 0;
		z-index: 2;
		pointer-events: none;
		overflow-anchor: none;
	}

	.ctlg__thread {
		--catalog-thumbnail-size: 220px;
		position: relative;
		display: flex;
		flex-direction: column;
		flex: 0 1 var(--catalog-card-width);
		min-width: 0;
		height: var(--catalog-card-height);
		overflow: hidden;
		border: 1px solid var(--theme_catalog_border);
		border-radius: 4px;
		background: var(--theme_default_postbg);
		content-visibility: auto;
		contain-intrinsic-size: auto var(--catalog-card-height);


		&:focus-visible, &:has(> .ctlg__img:focus-visible) {
			outline: 1px solid var(--theme_default_link);
		}

		.ctlg__img {
			display: flex;
			justify-content: center;
			align-items: center;
			min-height: 6em;
			flex-shrink: 0;
			padding: 10px;
			color: var(--theme_default_alttext);

			&:hover {
				background-color: color-mix(in srgb, var(--theme_default_postbg), rgb(0 0 0 / .1));
			}

			img {
				max-width: min(var(--catalog-thumbnail-size), 100%);
				max-height: var(--catalog-thumbnail-size);
				width: auto;
				height: auto;
				object-fit: contain;
			}
		}

		.ctlg__info {
			flex: 0 0 auto;
			text-align: center;
		}

		.ctlg__meta {
			padding: 2px;
			background: var(--theme_catalog_border);
		}

		.ctlg__thread-info {
			display: flex;
			justify-content: center;
			flex-wrap: wrap;
			align-items: center;
			gap: 4px;
		}

		.ctlg__thread-options {
			display: inline-flex;
			gap: 3px;
			color: var(--theme_default_alttext);

		}

		.ctlg__title {
			font-weight: bold;
		}

		.ctlg__comment {
			padding: 6px;
			overflow-wrap: anywhere;
			font-size: .9em;
		}

		&::after {
			content: '';
			position: absolute;
			inset-inline: 0;
			bottom: 0;
			height: 40px;
			pointer-events: none;
			background: linear-gradient(to bottom, transparent, var(--theme_default_postbg) 90%);
		}

		&.ctlg__thread_expanded {
			--overlay-enter-transform: translateY(6px) scale(.988);
			--overlay-leave-transform: var(--overlay-enter-transform);
			--catalog-thumbnail-size: 260px;
			position: absolute;
			height: auto;
			min-height: calc(var(--catalog-card-height) + var(--catalog-preview-offset));
			max-height: var(--catalog-preview-height);
			overflow: auto;
			scrollbar-width: thin;
			pointer-events: auto;
			transform-origin: 50% 0;
			content-visibility: visible;
			&[data-motion-phase="leaving"] {pointer-events: none;}
			border-width: 2px;

			&::after {
				display: none;
			}
		}
	}

	@media (max-width: 720px), (max-width: 1023px) and (pointer: coarse) {
		.catalog .ctlg {display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; padding-block: 0;}
		.catalog {padding-block: 0;}
		.ctlg__thread {
			cursor: pointer;
			display: grid;
			grid-template-columns: var(--thread-card-thumbnail-inline-size) minmax(0, 1fr);
			align-content: start;
			align-items: start;
			gap: var(--thread-card-content-gap) var(--thread-card-gap);
			height: auto;
			padding: var(--thread-card-inset);
			border: 0;
			border-block-end: 1px solid var(--theme_catalog_border);
			border-radius: 0;
			background: transparent;
			content-visibility: visible;
			&::after {content: none;}
			.ctlg__img {
				display: grid;
				align-self: start;
				grid-column: 1;
				grid-row: 1;
				inline-size: var(--thread-card-thumbnail-inline-size);
				block-size: var(--thread-card-thumbnail-block-size);
				min-height: 0;
				padding: 0;
				img {grid-area: 1 / 1 / -1 / -1; inline-size: var(--thread-card-thumbnail-inline-size); block-size: var(--thread-card-thumbnail-block-size); max-inline-size: none; max-block-size: none; object-fit: cover;}
			}
			.ctlg__info {grid-column: 2; grid-row: 1; display: flex; flex-direction: column; justify-content: flex-end; align-self: stretch; gap: var(--thread-card-content-gap); min-inline-size: 0; text-align: start;}
			.ctlg__comment {flex: 1; &:empty {display: none;}}
			.ctlg__info:has(> .ctlg__comment:is([hidden], :empty)) > .ctlg__meta {flex: 1;}
			.ctlg__meta {padding: 0; background: transparent;}
			.ctlg__meta:has(.ctlg__title[hidden]) {display: none;}
			.ctlg__thread-info {display: none;}
			.post__attachment-count {display: flex;}
			.ctlg__title, .ctlg__comment {display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden;}
			.ctlg__title {-webkit-line-clamp: 2; color: var(--theme_default_title); font-size: 16px; line-height: 1.4;}
			.ctlg__comment {padding: 0; -webkit-line-clamp: 5; font-size: 16px; line-height: 1.4;}
			&[data-no-thumbnail] {
				grid-template-columns: minmax(0, 1fr);
				.ctlg__img {display: none;}
				.ctlg__info {grid-column: 1;}
			}
		}
	}
}


/* Native visibility is shared by every board controller and template. */
.board-mobile-bar, .fav__summary, .fav__updates {display: none;}

/* Mobile screens compose the same native dialog, live form, search and navigation views. */
@media (max-width: 720px), (max-width: 1023px) and (pointer: coarse) {
	:root {--mobile-bar-size: 52px; --mobile-control-size: 40px; --mobile-inset: 16px; --mobile-gap: 12px; --mobile-nav-size: 36px; --mobile-nav-bottom: max(12px, env(safe-area-inset-bottom));}
	:root {--input-padding-inline: var(--mobile-gap); --input-padding-block: 8px; --select-padding-block: var(--input-padding-block);}
	.board-information .tti__tags_flexrow {
		justify-content: flex-start;
		gap: var(--space-2);
		padding: 0;

		a {
			display: inline-flex;
			align-items: center;
			box-sizing: border-box;
			min-block-size: var(--mobile-control-size);
			max-inline-size: 100%;
			padding: 8px var(--mobile-gap);
			border: var(--control-border-width) solid var(--control-surface-border);
			border-radius: var(--control-radius);
			background: var(--control-surface);
			overflow-wrap: anywhere;
			text-decoration: none;

			&:is(:hover, :focus-visible) {background: var(--control-surface-hover);}
			&:focus-visible {outline: 1px solid var(--theme_default_link); outline-offset: -2px;}
		}
	}
	html[data-mobile-screen-open] {overflow: hidden;}
	html[data-mobile-screen-open] .board-notices {visibility: hidden;}
	html[data-mobile-screen-open] .na {visibility: hidden;}
	html[data-mobile-shell][data-mobile-scroll-buttons-hidden] .na {display: none;}
	html:has(.board-dialog[data-dialog-presentation="screen"][open]) {overflow: hidden; .na, .board-notices {visibility: hidden;}}
	html[data-mobile-shell] {
		color-scheme: light;
		scrollbar-gutter: stable;
		.board-notices {inset-block-start: calc(var(--mobile-bar-size) + 8px);}
		.site-navigation, .header__logo, .header__title, .header__newpost, .board-navigation, .newpost__label_bot {display: none;}
		.cntnt {display: block; padding: 0;}
		.cntnt__aside {display: none;}
		.cntnt__main {display: flex; gap: 0; padding: 0;}
		.cntnt__header {gap: 0;}
		.mmm {padding: 8px var(--mobile-inset);}
		[data-board-section="info"] {display: none;}
		[data-board-section="tags"] {display: none;}
		.board-information__trigger {
			display: block;
			inline-size: 100%;
			min-block-size: 32px;
			padding: 4px var(--mobile-inset);
			border: 0;
			background: transparent;
			color: var(--theme_default_alttext);
			font: inherit;
			font-size: var(--mobile-secondary-font-size);
			text-align: center;
			cursor: pointer;
			&:is(:hover, :focus-visible) {color: var(--theme_default_link);}
		}
		.board-mobile-bar {display: flex;}
		.na {display: grid; inline-size: var(--mobile-nav-size); block-size: var(--mobile-nav-size);}
		.na_type_up {top: auto; bottom: calc(var(--mobile-nav-bottom) + var(--mobile-nav-size) + 8px);}
		.na_type_up[data-near-boundary] {display: none;}
		.na_type_down {bottom: var(--mobile-nav-bottom); transform: none; .na__icon {transform: rotate(180deg);}}
		.na_type_down[data-near-boundary] {display: grid;}
		.na_type_down:disabled {opacity: .4; cursor: default;}
		.thread-card__actions > a {display: none;}
		.footer {padding: var(--mobile-inset);}
		.footer__boards {display: none;}
		.post__replies-toggle {min-block-size: 24px; padding-block: 0;}
	}
	html[data-mobile-shell][data-theme="nightmode"] {color-scheme: dark;}
	.board-mobile-bar {
		position: sticky;
		top: 0;
		z-index: var(--page-chrome-layer);
		align-items: center;
		gap: var(--mobile-gap);
		min-block-size: var(--mobile-bar-size);
		padding: env(safe-area-inset-top) 8px 0;
		border-block-end: 1px solid var(--theme_catalog_border);
		background: var(--theme_default_bg);
		color: var(--theme_default_text);
		button {display: grid; place-items: center; inline-size: var(--mobile-control-size); block-size: var(--mobile-control-size); flex: none; padding: 0; border: 0; background: transparent; color: var(--theme_default_alttext); font-size: 18px;}
	}
	.board-mobile-bar__context {display: flex; flex: 1; min-inline-size: 0; flex-direction: column; strong {display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 16px;} small {font-size: 12px; color: var(--theme_default_alttext);}}
	.board-mobile-icon {inline-size: 20px; block-size: 20px; fill: currentColor;}
	.board-mobile-screen, .board-dialog[data-dialog-presentation="screen"] {
		--dialog-space: var(--mobile-inset);
		position: fixed;
		top: var(--window-viewport-top, 0px);
		left: var(--window-viewport-left, 0px);
		right: auto;
		bottom: auto;
		inline-size: var(--window-viewport-width, 100dvw);
		max-inline-size: none;
		block-size: var(--window-viewport-height, 100dvh);
		max-block-size: none;
		margin: 0;
		padding: 0;
		border: 0;
		border-radius: 0;
		box-shadow: none;
		font: inherit;
		font-size: 16px;
		.board-dialog__header {position: relative; display: flex; gap: var(--mobile-gap); min-block-size: var(--mobile-bar-size); padding: env(safe-area-inset-top) 8px 0; border-block-end: 1px solid var(--theme_catalog_border); border-radius: 0; background: var(--theme_default_bg); color: var(--theme_default_text); font-size: 16px; text-align: start;}
		[data-dialog-slot="title"] {flex: 1; font-weight: 600;}
		.qr__close {display: grid; place-items: center; inline-size: var(--mobile-control-size); block-size: var(--mobile-control-size); padding: 0; border: 0; background: transparent; color: var(--theme_default_alttext); font-size: 20px;}
		.board-dialog__body {padding: 0; touch-action: pan-y pinch-zoom;}
		.board-dialog__footer {padding: var(--mobile-gap) var(--mobile-inset) calc(var(--mobile-gap) + env(safe-area-inset-bottom)); > [type="submit"] {inline-size: 100%; min-block-size: 40px;}}
	}
	.board-dialog[data-dialog-enter="left"] {--overlay-enter-transform: translateX(-100%);}
	.board-dialog[data-dialog-enter="right"] {--overlay-enter-transform: translateX(100%);}
	.board-dialog[data-dialog-enter="top"] {--overlay-enter-transform: translateY(calc(-1 * var(--overlay-offset)));}
	.board-dialog[data-dialog-exit="left"] {--overlay-leave-transform: translateX(-100%);}
	.board-dialog[data-dialog-exit="right"] {--overlay-leave-transform: translateX(100%);}
	.board-dialog[data-dialog-exit="up"] {--overlay-leave-transform: translateY(-100%);}
	.board-dialog[data-dialog-exit="down"] {--overlay-leave-transform: translateY(100%);}
	.board-dialog__gesture-hint {inset: calc(100% + var(--dialog-space)) 0 auto; &[data-direction="down"] {inset-block: auto calc(100% + var(--dialog-space));}}
	.board-mobile-screen {touch-action: pan-y pinch-zoom;}
	.board-dialog[data-dialog-presentation="screen"] {
		.board-dialog__header {padding-inline: var(--mobile-inset); .qr__close {inline-size: 32px; block-size: 32px; .window-icon {inline-size: 18px; block-size: 18px;}}}
		.board-dialog__body {padding: var(--mobile-inset);}
		.report-modal {gap: 20px;}
		.report-modal__section-header {flex-wrap: wrap; gap: 8px;}
		.report-modal__textarea {min-block-size: 112px; padding: 12px; resize: none; font-size: 16px;}
		.board-dialog__footer .button {min-block-size: var(--mobile-control-size);}
		.filter-results__footer {display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--mobile-gap); > .button {inline-size: 100%;}}
		.filter-results__pages {display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: var(--mobile-gap);}
	}
	.board-mobile-screen:not(.board-mobile-screen_drawer)::backdrop,
	.board-dialog[data-dialog-presentation="screen"]::backdrop {background: transparent;}
	.board-mobile-content {min-inline-size: 0;}
	.board-mobile-screen_info {
		.board-dialog__body {overflow: auto;}
		.board-information {
			display: flex;
			flex-direction: column;
			gap: var(--mobile-inset);
			block-size: auto;
			padding: var(--mobile-inset);
			font-size: 16px;
			line-height: 1.4;
			> section {display: flex; flex-direction: column; gap: var(--space-2);}
			h3 {margin: 0; font: inherit; font-weight: 600;}
			dl {display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: var(--space-2) var(--mobile-gap); margin: 0;}
			dt {color: var(--theme_default_alttext);}
			dd {margin: 0; overflow-wrap: anywhere;}
			.tti_info {display: block; color: inherit; text-align: start; font: inherit; > :first-child {margin-block-start: 0;} > :last-child {margin-block-end: 0;}}
		}
	}
	.board-mobile-menu-row {display: block; inline-size: 100%; min-block-size: 48px; padding: 8px var(--mobile-inset); border: 0; border-block-end: 1px solid var(--theme_catalog_border); background: transparent; color: inherit; font: inherit; text-align: start;}
	.board-mobile-screen:has([data-mobile-mounted]) .board-dialog__body {overflow: hidden;}
	.board-mobile-screen:has([data-mobile-mounted]) .board-mobile-content {display: flex; flex-direction: column; block-size: 100%;}
	.draggable-window[data-mobile-mounted], #settings-window[data-mobile-mounted] {
		position: static;
		z-index: auto;
		resize: none;
		inline-size: 100%;
		min-inline-size: 0;
		max-inline-size: none;
		block-size: auto;
		max-block-size: none;
		flex: 1;
		display: flex;
		flex-direction: column;
		min-block-size: 0;
		padding: 0;
		border: 0;
		border-radius: 0;
		box-shadow: none;
		animation: none;
		font-size: 16px;
		font-family: inherit;
		> [data-window-slot="header"] {display: none;}
		> [data-window-slot="footer"] {border: 0;}
		> [data-window-slot="body"] {flex: 1; min-block-size: 0; overflow: auto; touch-action: pan-y pinch-zoom;}
	}
	#qr[data-mobile-mounted] > [data-window-slot="footer"] {display: none;}
	#qr[data-mobile-mounted] [data-window-slot="body"] {display: flex; flex-direction: column;}
	#settings-window[data-mobile-mounted] {
		--settings-space: var(--mobile-inset);
		--settings-row-size: var(--mobile-control-size);
		[data-window-slot="body"] {padding: 0;}
		.settings {padding: var(--space-2) var(--mobile-inset);}
		.settings__prefs {gap: 4px; padding: 8px var(--settings-space) 16px;}
		.settings__row {flex-wrap: wrap; gap: 8px;}
		.settings__label {flex: 1; min-block-size: var(--mobile-control-size);}
		.settings__row[data-type="select"] .settings__label {display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px;}
		.settings__select, .settings__select select {inline-size: 100%;}
		.settings__edit {min-block-size: var(--mobile-control-size);}
		[data-window-page="editor"] {padding: var(--settings-space);}
		[data-window-page="editor"]:has(.settings-code-editor) {padding: 0;}
		.filter-editor {--filter-space: var(--mobile-inset);}
		.filter-editor:has(> .filter-editor__form:not([hidden])) {
			> .filter-editor__status, > .filter-editor__toolbar, > [data-slot="empty"], > .filter-editor__list, > details {display: none;}
		}
		.filter-editor__form, .filter-editor__import {padding: 0; border: 0; border-radius: 0;}
		.filter-editor__import {padding-block-start: var(--filter-space);}
		&:has(.filter-editor__form:not([hidden])) > [data-window-slot="footer"] {display: none;}
		.filter-editor__scope, .filter-editor__condition {grid-template-columns: minmax(0, 1fr);}
		.filter-editor__condition > .input, .filter-editor__condition > button {grid-column: 1; grid-row: auto;}
		.filter-editor .input, .filter-editor .button {min-block-size: var(--mobile-control-size); font-size: 16px;}
		.settings__header {min-block-size: 48px; padding: 8px var(--mobile-inset); font-weight: normal;}
		.setting-buttons {display: flex; flex-direction: column; align-items: stretch; gap: 8px; padding: 12px var(--mobile-inset); .button {flex: 1; min-block-size: var(--mobile-control-size); padding-inline: 8px;}}
	}
	.board-mobile-compose-actions {display: flex; button {display: grid; place-items: center; inline-size: var(--mobile-control-size); block-size: var(--mobile-control-size); padding: 0; border: 0; background: transparent; color: var(--theme_default_alttext); font-size: 18px;}}
	.board-mobile-markup {position: absolute; top: 100%; right: 8px; inline-size: min(288px, calc(100vw - 16px)); padding: 8px; border: 1px solid var(--theme_default_btnborder); border-radius: var(--overlay-radius); background: var(--theme_default_bg); box-shadow: none; z-index: 2; .postform__mu-wrapper {display: flex; flex-direction: column; gap: 8px;} .postform__mu-group {display: flex; flex-wrap: wrap; gap: 4px;} .postform__mu {min-block-size: 36px; min-inline-size: 36px;}}
	.postform[data-mobile-compose] {
		display: flex;
		flex-direction: column;
		gap: 12px;
		flex: 1;
		inline-size: 100%;
		max-inline-size: none;
		min-block-size: 100%;
		padding: 16px var(--mobile-inset);
		[data-window-sticky] {position: static; z-index: auto;}
		> .postform__raw {margin: 0;}
		> .postform__raw_flex:not(.captcha) {display: flex; flex-wrap: wrap; gap: 8px; > .input {flex: 1; min-inline-size: 120px;}}
		.postform__input {font-size: 16px;}
		.postarea {display: flex; flex-direction: column; flex: 1; gap: 8px; min-block-size: 200px; padding: 0;}
		textarea {flex: 1; inline-size: 100%; min-block-size: 180px; resize: none;}
		.postarea__btns {display: none;}
		.postform__options_wrapper {gap: 0;}
		.options {display: flex; gap: 16px;}
		.filer {gap: 8px;}
		.filer__drag-area {display: none;}
		.captcha {display: flex; flex-direction: column; align-items: stretch; gap: 8px;}
	}
	.board-mobile-screen:has([data-mobile-compose]) .board-dialog__footer {display: grid; gap: var(--space-2);}
	.board-mobile-screen #qr-submit-box {inline-size: 100%;}
	.board-mobile-screen #qr-submit-label {display: none;}
	.board-mobile-screen #qr-progress-control {display: flex; align-items: center; gap: var(--space-2); progress{flex:1; min-inline-size:0;} .button{flex:none;}}
	.board-mobile-compose-label {margin: 0; font-size: 12px; font-weight: normal; color: var(--theme_default_alttext);}
	.postform__raw_flex > .board-mobile-compose-label {flex-basis: 100%;}
	.board-mobile-screen_drawer {
		border-inline-end: 1px solid var(--theme_catalog_border);
		inline-size: min(360px, calc(100vw - 32px));
		&::backdrop {background: var(--overlay-dim);}
		.board-dialog__header {align-items: stretch; padding: env(safe-area-inset-top) 8px 0; gap: 8px;}
		[data-dialog-slot="title"] {display: flex; align-items: stretch; gap: 4px; max-block-size: none; overflow: visible;}
		[data-tab] {display: grid; place-items: center; min-block-size: var(--mobile-bar-size); padding: 0 12px; border: 0; border-block: 2px solid transparent; background: transparent; color: var(--theme_default_alttext); font: inherit; font-size: 16px; font-weight: 600;}
		[data-tab][aria-selected="true"] {border-block-end-color: var(--theme_default_link); color: var(--theme_default_text);}
		.qr__close {align-self: center;}
		.board-dialog__body {overflow: hidden;}
		.board-mobile-content {display: grid; grid-template-rows: auto minmax(0, 1fr); block-size: 100%;}
		.fm {display: flex; flex-direction: column; gap: var(--space-2); margin: 0; padding: var(--space-2) var(--mobile-inset);}
		.fm__item {margin: 0; padding: 0;}
		.fm__header {inline-size: 100%; min-block-size: 44px; padding: 8px var(--mobile-inset); font-size: 14px;}
		.fm__sub {display: flex; flex-direction: column; gap: 0; padding: 0 0 8px; a {display: block; padding: 8px var(--mobile-inset); font-size: 14px;}}
		.favorites-panel__list {max-block-size: none; overflow: visible;}
		.favorites-panel__empty {padding: var(--mobile-inset);}
		.favorites-panel__footer {
			--favorites-space: var(--space-2);
			padding: var(--mobile-inset);
			font-size: 14px;
			label {min-block-size: var(--mobile-control-size); gap: var(--space-2);}
		}
		.favorites-table {display: block; tbody {display: block;} .fav-row {display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; padding: 12px var(--mobile-inset); border-block-end: 1px solid var(--theme_catalog_border);} td:first-child {grid-column: 2; grid-row: 1;} .fav-name {grid-column: 1; grid-row: 1;} .fav__new, .fav__address {display: none;} .fav__title {display: flex; flex-direction: column; gap: 6px; white-space: normal; color: var(--theme_default_title); font-weight: normal; text-decoration: none;} .fav__summary, .fav__updates {display: block; font-size: 12px; color: var(--theme_default_alttext);} .fav__updates {font-weight: 600;} .fav__updates:empty {display: none;} .fav-buttons {gap: 8px;} .fav__fa {inline-size: 14px; block-size: 14px;}}
	}
	.board-mobile-filter {display: flex; padding: 12px var(--mobile-inset); border-block-end: 1px solid var(--theme_catalog_border); input {box-sizing: border-box; inline-size: 100%; min-inline-size: 0; min-block-size: var(--mobile-control-size); padding: 8px 12px; font: inherit; font-size: 16px; line-height: 1.25;}}
	.board-mobile-panel {min-block-size: 0; overflow: auto; overscroll-behavior: contain; touch-action: pan-y pinch-zoom;}
	.board-mobile-screen_search .board-search__form, .board-search-reading {
		display: flex;
		flex-direction: column;
		gap: var(--space-2);
		align-items: stretch;
		inline-size: 100%;
		max-inline-size: none;
		padding: var(--space-3) var(--mobile-inset);
		.board-search__controls {display: flex; flex-basis: auto; inline-size: 100%; gap: var(--space-2);}
		.board-search__field {order: 0;}
		[data-search-slot="scope"] {order: 1;}
		.board-search__options {order: 1; display: flex; flex-basis: auto; justify-content: space-between; flex-wrap: wrap; gap: var(--space-2); &:not(:has(> :not([hidden]))) {display: none;}}
		.board-search__results {flex: 1; gap: var(--space-2);}
		output {flex: 1; font-size: 13px;}
		.input {min-block-size: var(--mobile-control-size);}
		[data-search-direction] {display: grid; place-items: center; inline-size: var(--mobile-control-size); block-size: var(--mobile-control-size); padding: 0; font-size: 20px;}
		[data-search-slot="openResults"] {min-block-size: var(--mobile-control-size);}
	}
	.board-mobile-screen_search .board-search__form {position: static;}
	.board-search-reading {
		position: sticky;
		top: calc(var(--mobile-bar-size) + env(safe-area-inset-top));
		z-index: var(--page-chrome-layer);
		border-block-end: 1px solid var(--theme_catalog_border);
		background: var(--theme_default_bg);
	}
	.board-search-post-actions a {min-block-size: var(--mobile-control-size);}
	.board-mobile-screen_search .board-search {inline-size: 100%;}
	.board-mobile-screen_sort .catalog__toolbar {display: flex; padding: 16px;}
}

:root [hidden] {display: none !important;}

[data-motion-phase="expanding"], [data-motion-phase="collapsing"] {box-sizing: border-box; min-block-size: 0; overflow: clip;}
.draggable-window[data-motion-phase="leaving"] {pointer-events: none;}

.fm__age {font-size: 10px;color: red;}

.media-hover-preview {position: fixed;display: block;z-index: 999;pointer-events: none;}
.media-inline-embed {display: block;}

.benchmark-skip {color: #0066ff;}
.warningbox__emphasis {font-weight: bold;text-transform: uppercase;}

.post_preview[data-phase="closing"] {pointer-events: none;}
