.admin {
	padding: 4px;
	border-radius: 4px;
	background: green;
	margin: 6px;
	width: 200px;
	display: inline-block;
}
.admin.protected {
	background: red;
}
.admin INPUT[type="submit"] {
	width: 100%;
}
.admin.protected INPUT[type="submit"] {
	width: 90%;
}


.bbcode {
	overflow-wrap: anywhere;
}
.bbcode BLOCKQUOTE {
	border: 1px solid black;
	padding: 8px;
	background: #DDD;
}
.bbcode .anchor A.alink {
	visibility: hidden;
}
.bbcode .anchor:hover A.alink {
	visibility: visible;
}

.comment {
	text-align: left;
	position: relative;
	overflow-wrap: anywhere;
}
.comment IMG {
	max-width: 100%;
}
.comment .info {
	visibility: hidden;
	text-align: center;
	padding: var(--block-padding);
	background: var(--block);
	border: 1px solid var(--block-border);
	position: absolute;
	top: 0;
	left: -180px;
	width: 180px;
	z-index: 1;
	box-shadow: 0 0 4px #000;
	border-radius: 4px;
}
.comment:hover .info {
	visibility: visible;
}

.comment_add INPUT:not([type="checkbox"]):not([type="radio"]),
.comment_add TEXTAREA,
.comment_add BUTTON,
.comment_add SELECT {
	width: 100%;
}

#comment-list-recent .more {
	display: block;
	padding-top: 8px;
}
.comment_big_list {
	display: flex;
	gap: 1em;
}
.comment_big_list .thumb {
	flex: 0;
}
.comment_big_list .comment_list {
	flex: 1;
	border-left: 1px solid var(--block-border);
}
.comment_big_list .comment {
	margin-left: 0;
}

/* checkbox, title, doc link */
.ext-list TD:nth-child(1) {
    width: 1em;
}
.ext-list TD:nth-child(2) {
    width: 12em;
}
.ext-list TD:nth-child(3) {
    width: 1em;
}

#handle_pixel_media IMG {
    max-width: 100%;
}

.command_example {
	margin: 12pt;
	padding-left: 16pt;
}

.command_example code {
    padding:4pt;
    border: dashed 2px black;
    background: inherit;
}

.command_example p {
    padding-left: 16pt;
}

@media (min-width: 750px) {
    .command_example code {
        display: table-cell;
        width: 256px;
    }

    .command_example p {
        display: table-cell;
    }
}

SECTION#image-list {
	box-shadow: none;
}
SECTION#image-list .blockbody {
	background: none;
	border: none;
	padding: 0px;
	text-align: left;
}
.shm-image-list {
	display: grid;
	grid-template-columns: repeat( auto-fill, calc(var(--thumb-width) + 42px) );
	place-items: center;
}
.shm-image-list .thumb {
	margin-bottom: 8px;
}

.setupblocks {
	column-width: 400px;
	column-gap: 1em;
	max-width: 1200px;
	margin: auto;
}
.setupblocks > .setupblock:first-of-type { margin-top: 0; }

.setupblock {
	break-inside: avoid;
	text-align: center;
}
.setupblock TEXTAREA {
	width: 100%;
	font-size: 0.75rem;
	resize: vertical;
}
.setupblock SELECT[multiple] {
	width: 100%;
}

.advanced_settings INPUT {
	width: 100%;
}

#Setupmain {
	box-shadow: none;
}
#Setupmain>.blockbody {
	background: none;
	border: none;
	margin: 0;
	padding: 0;
}
.setupblock .form {
	width: 100%;
}
.setupblock .form TH {
	font-weight: normal;
}
.setupblock .advanced {
    color: var(--danger-color);
    background: var(--danger-background);
}
.setupsubmit {
	margin-top: 1em;
	padding: 1em;
	width: 100%;
}

:root {
	--added-background: lightgreen;
	--removed-background: lightcoral;

	--flash-color: #882;
	--flash-border: #660;
	--blink-base-color: #FF70;
	--blink-blink-color: #FF7F;
}

@media (prefers-color-scheme: dark) {
	:root {
		--added-background: green;
		--removed-background: coral;
	}
}

INPUT, TEXTAREA, SELECT, BUTTON {
	box-sizing: border-box;
	font-size: 1em;
}

TABLE.form {width: 300px;}
TABLE.zebra {width: 100%;}

TABLE.form TD, TABLE.form TH {vertical-align: middle;}
TABLE.form TBODY TR TD {text-align: left;}
TABLE.form TBODY TR TH {text-align: right; padding-right: 4px; width: 1%; white-space: nowrap;}
TABLE.form TBODY TR.header TD,
TABLE.form TBODY TR.header TH {text-align: center; width: auto;}
TABLE.form TD + TH {padding-left: 8px;}
TABLE.form INPUT:not([type="checkbox"]):not([type="radio"]),
TABLE.form SELECT,
TABLE.form TEXTAREA,
TABLE.form BUTTON {width: 100%;}

H1, H2, H3 {
    overflow-wrap: anywhere;
}

*[onclick],
H3[class~="shm-toggler"] {
    cursor: pointer;
}

@keyframes blink {
    0% {background-color: var(--blink-base-color);}
    25% {background-color: var(--blink-blink-color);}
    50% {background-color: var(--blink-base-color);}
    75% {background-color: var(--blink-blink-color);}
    100% {background-color: var(--blink-base-color);}
}
.blink {
    animation: blink 2s linear 1;
}

#flash {
    color: #444;
    background-color: var(--flash-color);
    margin-bottom: 1rem;
    border-radius: var(--border-radius);
    border: 1px solid var(--flash-border);
}
#flash B {
    display: block;
    padding: 8px;
    border-radius: var(--border-radius);
}

.tag {
    overflow-wrap: anywhere;
}

.prose {
    text-align: left;
}
.prose P:first-child {
    margin-top: 0;
}
.prose P:last-child {
    margin-bottom: 0;
}

TABLE#large_upload_form.form {
	width: 100%;
}

.mini_upload INPUT:not([type="checkbox"]):not([type="radio"]),
.mini_upload TEXTAREA,
.mini_upload BUTTON,
.mini_upload SELECT {
	width: 100%;
}

TABLE.form.image_info {
    width: 550px;
    max-width: 100%;
}

.image_info .edit {
    display: block;
}
.image_info .view {
    display: none;
}

.image_info.infomode-view .edit {
    display: none;
}
.image_info.infomode-view .view {
    display: block;
}

.image_info TEXTAREA {
    min-width: 100%;
    min-height: 3rem;
}
.image_info .image-info-sidebar-box {
    vertical-align: top;
}

.post_controls FORM {
    margin-bottom: 0.75em;
}
.post_controls FORM:last-child {
    margin-bottom: 0;
}

#handle_video_media VIDEO {
    width: 100%;
    max-height: 85vh;
    background: black;
}

div#front-page h1 {font-size: 4rem; margin-top: 2em; margin-bottom: 0; text-align: center; border: none; background: none; box-shadow: none; -webkit-box-shadow: none; -moz-box-shadow: none;}
div#front-page h1 A {text-decoration: none;}
div#front-page {text-align:center;}
div#front-page .space {margin-bottom: 1em;}
div#front-page div#links a {display: inline-block; margin: 0 0.5em;}
div#front-page li {list-style-type: none; margin: 0;}
@media (max-width: 800px) {
	div#front-page h1 {font-size: 3rem; margin-top: 0.5em; margin-bottom: 0.5em;}
}
div#front-page > #search > form {margin: 0 auto;}
div#front-page > #search > form > input[type=submit]{padding: 4px 6px;}
#counter {display: grid; justify-content: center; margin: auto; max-width: 66%;}
.counter-img {grid-row: 1; max-width: 100%; height: auto;}

#reportedimage .reason {
	max-width: 30em;
	overflow-wrap: anywhere;
}
#reportedimage .formstretch INPUT {
	width: 100%;
}

/* =========================================================
   Y2Z Dark — shimmie2 theme
   База: danbooru2. Цвета: тёмная палитра.
   Адаптивная вёрстка с гамбургер-меню и крупными тач-целями.
   ========================================================= */

:root {
    color-scheme: dark;

    /* Основные цвета */
    --page: #15171c;
    --page-elev: #1c1f26;
    --page-elev-2: #232730;
    --text: #e6e8ec;
    --text-muted: #9aa0a6;
    --text-dim: #6b7280;

    /* Акценты */
    --accent: #ff5577;
    --accent-soft: #ff8aa2;
    --link-default: #6cb8ff;
    --link-hover: #9dd0ff;
    --link-visited: #b794f4;
    --link-first: #ff5577;
    --link-header: #e6e8ec;

    /* Состояния */
    --danger-color: #ffd6d6;
    --danger-background: #5a2330;
    --flash-bg: #2a3d2a;
    --flash-border: #3d5a3d;
    --flash-text: #d4f5d4;

    /* Подложки и границы */
    --header-selected: #2a2f3a;
    --block-border: #2c303a;
    --block-border-soft: #232730;
    --paginator-border: #2a2f3a;
    --paginator-hover-bg: var(--accent);
    --paginator-hover-fg: #fff;

    /* Текст метаданных */
    --tag-count: #7a8190;
    --comment-meta: #9aa0a6;
    --footer-fg: #6b7280;

    /* Зебра-таблицы */
    --zebra-heading-fg: var(--accent-soft);
    --zebra-hover-bg: #232730;

    /* Размеры */
    --radius: 8px;
    --tap-min: 44px;          /* минимальная тач-цель по гайдлайнам */
    --sidebar-width: 16rem;
    --header-height: 3.5rem;

    /* Шрифты */
    --font-ui: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;

    font-size: 15px;
    font-family: var(--font-ui);
    line-height: 1.45;
}

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    background: var(--page);
    color: var(--text);
    min-height: 100vh;
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: rgba(255, 85, 119, 0.15);
}

/* --------- Сетка макета --------- */

BODY.layout-grid {
    display: grid;
    grid-template-columns: var(--sidebar-width) minmax(0, 1fr);
    grid-template-rows: auto auto 1fr auto;
    grid-gap: 0 1.5rem;
    padding: 0 1rem 1rem;
}

BODY.layout-no-left {
    display: block;
    padding: 0 1rem 1rem;
}

BODY.layout-no-left NAV {
    display: none;
}

BODY.layout-no-left ARTICLE {
    max-width: 1200px;
    margin: 0 auto;
}

/* --------- Шапка --------- */

HEADER {
    grid-column: 1 / 3;
    grid-row: 1;
    padding-top: 0.5rem;
    margin-bottom: 1rem;
}

HEADER .shm-header-top {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0 0.5rem;
}

HEADER h1#site-title {
    margin: 0;
    padding: 0.4rem 0.5rem;
    font-size: 1.6rem;
    font-weight: 600;
    text-align: left;
    display: flex;
    align-items: center;
    gap: 0.6rem;
    flex: 1 1 auto;
    min-width: 0;
}

HEADER h1#site-title IMG.logo {
    height: 2.2rem;
    width: auto;
    max-width: 12rem;
    object-fit: contain;
    vertical-align: middle;
}

HEADER h1#site-title A {
    color: var(--link-header);
    font-weight: 700;
    text-decoration: none;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

HEADER h1#site-title A:hover {
    color: var(--accent-soft);
}

/* Главное меню */
HEADER ul#navbar,
HEADER ul#subnavbar {
    margin: 0;
    padding: 0 0.5rem;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
}

HEADER ul#navbar {
    border-bottom: 1px solid var(--block-border);
    padding-bottom: 0.4rem;
    margin-top: 0.5rem;
}

HEADER ul#navbar li,
HEADER ul#subnavbar li {
    margin: 0;
}

HEADER ul#navbar li a,
HEADER ul#subnavbar li a {
    display: inline-flex;
    align-items: center;
    min-height: var(--tap-min);
    padding: 0.4rem 0.9rem;
    border-radius: var(--radius);
    color: var(--link-default);
    text-decoration: none;
    transition: background 120ms ease, color 120ms ease;
}

HEADER ul#navbar li:first-child a {
    color: var(--link-first);
    font-weight: 700;
}

HEADER ul#navbar li a:hover,
HEADER ul#subnavbar li a:hover {
    background: var(--header-selected);
    color: var(--link-hover);
    text-decoration: none;
}

HEADER ul#navbar li a.current-page,
HEADER ul#subnavbar li a.current-page {
    background: var(--header-selected);
    font-weight: 700;
    color: var(--text);
}

HEADER ul#subnavbar {
    background: var(--page-elev);
    border-radius: var(--radius);
    margin-top: 0.5rem;
    padding: 0.25rem 0.5rem;
}

/* Subnavbar в шаблоне обёрнут в <div class="sbar">, поэтому flex нужен
   именно на нём, иначе LI идут блоками и подменю встаёт в столбик. */
HEADER ul#subnavbar > .sbar {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
}

HEADER ul#subnavbar > .sbar > li {
    display: inline-flex;
    margin: 0;
    list-style: none;
}

/* --------- Гамбургер-кнопка --------- */

.shm-menu-toggle {
    display: none;                       /* на десктопе скрыт */
    width: var(--tap-min);
    height: var(--tap-min);
    padding: 0;
    border: 1px solid var(--block-border);
    background: var(--page-elev);
    color: var(--text);
    border-radius: var(--radius);
    cursor: pointer;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    flex: 0 0 auto;
    -webkit-tap-highlight-color: transparent;
}

.shm-menu-toggle .shm-burger-bar {
    display: block;
    width: 22px;
    height: 2px;
    background: var(--text);
    border-radius: 2px;
    transition: transform 180ms ease, opacity 180ms ease;
}

.shm-menu-toggle[aria-expanded="true"] .shm-burger-bar:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}

.shm-menu-toggle[aria-expanded="true"] .shm-burger-bar:nth-child(2) {
    opacity: 0;
}

.shm-menu-toggle[aria-expanded="true"] .shm-burger-bar:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}

.shm-sidebar-backdrop {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 998;
    opacity: 0;
    transition: opacity 180ms ease;
}

.shm-sidebar-backdrop.is-open {
    display: block;
    opacity: 1;
}

/* --------- Подзаголовок --------- */

#subtitle {
    grid-column: 1 / 3;
    margin: 0 auto 0.75rem;
    text-align: center;
    color: var(--text-muted);
    font-size: 0.85rem;
}

#short-wiki-description {
    padding: 0 0.5rem 1rem;
}

#short-wiki-description h2 {
    margin: 0 0 0.4em;
}

/* --------- Боковая панель --------- */

NAV {
    grid-column: 1;
    grid-row: 2;
    padding: 0 0.25rem;
    width: 100%;
}

NAV section {
    background: var(--page-elev);
    border: 1px solid var(--block-border-soft);
    border-radius: var(--radius);
    padding: 0.6rem 0.75rem;
    margin-bottom: 0.75rem;
}

NAV section h3 {
    margin: 0 0 0.4rem;
    padding: 0;
    font-size: 0.95rem;
    color: var(--accent-soft);
    text-align: left;
    cursor: default;
}

NAV section h3.shm-toggler {
    cursor: pointer;
    user-select: none;
}

NAV section h3.shm-toggler::before {
    content: "▾ ";
    font-size: 0.8em;
    color: var(--text-muted);
}

NAV .blockbody {
    font-size: 0.9rem;
    line-height: 1.5;
}

NAV input[type="text"],
NAV input[type="search"],
NAV input[type="password"],
NAV select {
    width: 100%;
    min-height: var(--tap-min);
    padding: 0.4rem 0.6rem;
    background: var(--page);
    color: var(--text);
    border: 1px solid var(--block-border);
    border-radius: var(--radius);
    font-size: 1rem;
}

NAV input[type="submit"],
NAV button {
    min-height: 0;
    padding: 0.35rem 0.7rem;
    background: var(--accent);
    color: #fff;
    border: none;
    border-radius: var(--radius);
    font-weight: 600;
    font-size: 0.85rem;
    line-height: 1.2;
    cursor: pointer;
    width: auto;
    display: inline-block;
    margin: 0.15rem 0.2rem 0.15rem 0;
}

NAV input[type="submit"]:hover,
NAV button:hover {
    background: var(--accent-soft);
}

/* Формы в сайдбаре (голосование, рейтинг, удаление и т.п.) идут друг
   под другом — даём вертикальный отступ, чтобы кнопки не слипались. */
NAV .blockbody form {
    display: inline-block;
    margin: 0.15rem 0.15rem 0.15rem 0;
}

/* Если такие кнопки рендерятся как ссылки (a) с .img-button или
   просто стоят подряд в сайдбаре — тоже делаем компактнее. */
NAV .blockbody > a + a,
NAV .blockbody > form + form,
NAV .blockbody > br + a {
    margin-left: 0;
}

/* --------- Основной контент --------- */

ARTICLE {
    grid-column: 2;
    grid-row: 2;
    min-width: 0;
}

ARTICLE section {
    margin-bottom: 1rem;
}

ARTICLE section h3 {
    margin: 0 0 0.6rem;
    padding: 0;
    font-size: 1.05rem;
    color: var(--text);
    text-align: left;
}

ARTICLE section h3:empty {
    display: none;
}

#Imagemain h3 {
    display: none;
}

/* --------- Ссылки --------- */

a {
    color: var(--link-default);
    text-decoration: none;
}

a:hover {
    color: var(--link-hover);
    text-decoration: underline;
}

a:visited {
    color: var(--link-default);
}

a:active {
    color: var(--accent);
}

/* --------- Текст и заголовки --------- */

h1, h2, h3, h4, h5, h6 {
    color: var(--text);
}

h1 { font-size: 1.6rem; }
h2 { font-size: 1.3rem; }
h3 { font-size: 1.05rem; }
h4 { font-size: 1rem; }

code {
    background: var(--page-elev-2);
    color: var(--accent-soft);
    padding: 0.1rem 0.3rem;
    border-radius: 4px;
    font-size: 0.9em;
}

/* --------- Уведомления --------- */

#flash {
    background: var(--flash-bg);
    border: 1px solid var(--flash-border);
    color: var(--flash-text);
    margin: 0.5rem 0 1rem;
    padding: 0.75rem 1rem;
    border-radius: var(--radius);
    text-align: center;
}

.error,
.danger {
    background: var(--danger-background);
    color: var(--danger-color);
    border-radius: var(--radius);
    padding: 0.5rem 0.75rem;
}

/* --------- Изображения и миниатюры --------- */

.shm-image-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    justify-content: flex-start;
    margin: 0.5rem 0;
}

.thumb {
    display: inline-block;
    margin: 0;
    text-align: center;
}

.thumb img,
.shm-thumb img {
    border: 1px solid var(--block-border);
    background: var(--page-elev);
    padding: 4px;
    border-radius: var(--radius);
    max-width: 100%;
    height: auto;
    transition: transform 120ms ease, border-color 120ms ease;
}

.thumb a:hover img,
.shm-thumb a:hover img {
    border-color: var(--accent);
    transform: translateY(-2px);
}

/* Контейнер просмотра одного поста — подгоняется под экран */
#main_image,
.shm-main-image {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
    border-radius: var(--radius);
}

#image-list .blockbody {
    margin: 0;
}

/* --------- Пагинатор --------- */

div#paginator {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.25rem;
    padding: 1.5rem 0 1rem;
    font-weight: 600;
}

div#paginator a,
div#paginator b {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: var(--tap-min);
    min-height: var(--tap-min);
    padding: 0.4rem 0.7rem;
    border-radius: var(--radius);
    text-decoration: none;
}

div#paginator a {
    color: var(--link-default);
    background: var(--page-elev);
    border: 1px solid var(--block-border-soft);
}

div#paginator a:hover {
    background: var(--paginator-hover-bg);
    color: var(--paginator-hover-fg);
    border-color: var(--paginator-hover-bg);
    text-decoration: none;
}

div#paginator b {
    background: var(--accent);
    color: #fff;
    border: 1px solid var(--accent);
}

/* --------- Формы общего вида --------- */

form {
    margin: 0;
}

input[type="text"],
input[type="search"],
input[type="password"],
input[type="email"],
input[type="number"],
input[type="url"],
textarea,
select {
    background: var(--page-elev);
    color: var(--text);
    border: 1px solid var(--block-border);
    border-radius: var(--radius);
    padding: 0.45rem 0.65rem;
    font-family: inherit;
    font-size: 1rem;
    min-height: var(--tap-min);
}

textarea {
    min-height: 6rem;
    line-height: 1.4;
}

input[type="submit"],
button:not(.shm-menu-toggle) {
    background: var(--accent);
    color: #fff;
    border: none;
    padding: 0.5rem 1rem;
    border-radius: var(--radius);
    font-weight: 600;
    cursor: pointer;
    min-height: var(--tap-min);
}

input[type="submit"]:hover,
button:not(.shm-menu-toggle):hover {
    background: var(--accent-soft);
}

/* --------- Списки тегов --------- */

ul.flat-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

ul.flat-list li {
    margin: 0;
}

TABLE.tag_list {
    width: auto;
    border-collapse: collapse;
}

TABLE.tag_list > THEAD {
    display: none;
}

TABLE.tag_list > TBODY > TR > TD {
    display: inline;
    padding: 0;
    line-height: 1.5em;
}

TABLE.tag_list > TBODY > TR > TD:after {
    content: " ";
}

.tag_count {
    display: inline-block;
    margin-left: 0.3rem;
    color: var(--tag-count);
    font-size: 0.85em;
}

.more::after {
    content: " »";
}

/* --------- Zebra-таблицы --------- */

table.zebra {
    width: 100%;
    border-spacing: 0;
    border-collapse: collapse;
    border: 1px solid var(--block-border);
    border-radius: var(--radius);
    overflow: hidden;
}

table.zebra th,
table.zebra td {
    padding: 0.5rem 0.75rem;
    text-align: left;
    border-bottom: 1px solid var(--block-border-soft);
}

table.zebra th {
    background: var(--page-elev-2);
    color: var(--zebra-heading-fg);
    font-weight: 600;
}

table.zebra tbody tr:hover {
    background: var(--zebra-hover-bg);
}

/* --------- Комментарии --------- */

.comment {
    padding: 0.6rem;
    border-bottom: 1px solid var(--block-border-soft);
}

.comment .meta {
    width: 12rem;
    color: var(--comment-meta);
    font-size: 0.85rem;
}

.comment .username {
    color: var(--accent-soft);
    font-weight: 600;
    font-size: 1.05em;
}

.comment-info span {
    margin-right: 1.5em;
}

.comment-info span b {
    margin-right: 0.4em;
    color: var(--text-muted);
}

/* --------- Setup-блоки --------- */

.setupblock,
.tagcategoryblock {
    margin: 0.6rem 0;
    padding: 0.6rem 0.8rem;
    background: var(--page-elev);
    border: 1px solid var(--block-border-soft);
    border-radius: var(--radius);
}

/* --------- Подвал --------- */

FOOTER {
    grid-column: 1 / 3;
    grid-row: 4;
    text-align: center;
    color: var(--footer-fg);
    font-size: 0.8rem;
    padding: 1.5rem 0 0.5rem;
    border-top: 1px solid var(--block-border-soft);
    margin-top: 2rem;
}

FOOTER a {
    color: var(--footer-fg);
}

/* =========================================================
   МОБИЛЬНАЯ ВЁРСТКА — до 800 px
   ========================================================= */

@media screen and (max-width: 800px) {

    BODY.layout-grid,
    BODY.layout-no-left {
        grid-template-columns: 1fr;
        padding: 0 0.5rem 0.5rem;
    }

    BODY.layout-grid {
        display: block;
    }

    HEADER {
        position: sticky;
        top: 0;
        z-index: 100;
        background: var(--page);
        margin: 0 -0.5rem 1rem;
        padding: 0.5rem 0.75rem 0.4rem;
        border-bottom: 1px solid var(--block-border-soft);
    }

    HEADER h1#site-title {
        font-size: 1.2rem;
        padding: 0.2rem 0;
    }

    HEADER h1#site-title IMG.logo {
        height: 1.8rem;
        max-width: 9rem;
    }

    HEADER ul#navbar {
        overflow-x: auto;
        flex-wrap: nowrap;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: thin;
        padding-bottom: 0.3rem;
        margin-top: 0.4rem;
    }

    HEADER ul#navbar::-webkit-scrollbar {
        height: 4px;
    }

    HEADER ul#navbar::-webkit-scrollbar-thumb {
        background: var(--block-border);
        border-radius: 2px;
    }

    HEADER ul#navbar li a,
    HEADER ul#subnavbar li a {
        white-space: nowrap;
        padding: 0.5rem 0.8rem;
    }

    HEADER ul#subnavbar {
        overflow-x: auto;
        flex-wrap: nowrap;
    }

    HEADER ul#subnavbar > .sbar {
        flex-wrap: nowrap;
        width: max-content;
        min-width: 100%;
    }

    HEADER ul#subnavbar > .sbar > li a {
        white-space: nowrap;
    }

    .shm-menu-toggle {
        display: inline-flex;
    }

    /* Сайдбар превращается в выезжающую панель слева */
    NAV {
        position: fixed;
        top: 0;
        left: 0;
        height: 100dvh;
        width: min(85vw, 20rem);
        background: var(--page-elev);
        border-right: 1px solid var(--block-border);
        padding: 1rem 0.75rem;
        overflow-y: auto;
        z-index: 999;
        transform: translateX(-100%);
        transition: transform 220ms ease;
        box-shadow: 4px 0 24px rgba(0, 0, 0, 0.4);
        -webkit-overflow-scrolling: touch;
    }

    NAV.is-open {
        transform: translateX(0);
    }

    ARTICLE {
        margin: 0;
        padding: 0;
    }

    ARTICLE table {
        max-width: 100%;
        overflow-x: auto;
        display: block;
    }

    /* Картинка поста на всю ширину */
    #main_image,
    .shm-main-image,
    .image img,
    #Imagemain img,
    #Imagemain video {
        max-width: 100% !important;
        height: auto !important;
    }

    .shm-image-list {
        justify-content: center;
        gap: 0.4rem;
    }

    /* Комментарии в одну колонку */
    .comment {
        display: block;
    }

    table.comment,
    table.comment tbody,
    table.comment tr,
    table.comment td {
        display: block;
        width: 100% !important;
    }

    .comment .meta {
        width: 100%;
        margin-bottom: 0.3rem;
        padding-bottom: 0.3rem;
        border-bottom: 1px solid var(--block-border-soft);
    }

    /* Таблицы комментариев на главной */
    ARTICLE > table,
    ARTICLE > section table {
        width: 100%;
    }

    /* Поля формы — крупнее */
    input,
    select,
    textarea,
    button {
        font-size: 16px;       /* iOS не зумит, если 16px+ */
    }

    FOOTER {
        margin-top: 1rem;
        padding: 1rem 0 0.5rem;
    }

    /* Блокируем прокрутку body, когда меню открыто */
    body.shm-no-scroll {
        overflow: hidden;
    }
}

/* На совсем узких экранах — ещё компактнее */
@media screen and (max-width: 420px) {
    :root {
        font-size: 14px;
    }

    HEADER h1#site-title {
        font-size: 1.05rem;
        gap: 0.4rem;
    }

    HEADER h1#site-title IMG.logo {
        height: 1.5rem;
    }

    HEADER ul#navbar li a,
    HEADER ul#subnavbar li a {
        padding: 0.45rem 0.6rem;
    }
}

/* =========================================================
   Печать
   ========================================================= */

@media print {
    NAV,
    HEADER ul#navbar,
    HEADER ul#subnavbar,
    .shm-menu-toggle,
    FOOTER {
        display: none !important;
    }

    BODY {
        background: #fff;
        color: #000;
    }
}

/*# sourceMappingURL=y2z_dark.1779044206.4fd2a312c1b186b3dcbf5f1301dd8c96.css.map */