/* «Заметки наблюдателя» — тема «Кабинет».
   Тёмный музейный зал: бутылочно-зелёное сукно, ореховый шкаф-витрина, латунь и тёплый свет витрин,
   текст на светлых этикетках цвета слоновой кости. Шрифты: Ledger (заголовки, этикетки),
   Geologica (текст и интерфейс), Courier Prime (инвентарные номера и даты). Префикс классов zn-. */

@font-face { font-family: 'Ledger'; font-style: normal; font-weight: 400; font-display: swap; src: url(fonts/ledger-cyrillic-400-normal.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Ledger'; font-style: normal; font-weight: 400; font-display: swap; src: url(fonts/ledger-latin-400-normal.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Geologica'; font-style: normal; font-weight: 400; font-display: swap; src: url(fonts/geologica-cyrillic-400-normal.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Geologica'; font-style: normal; font-weight: 400; font-display: swap; src: url(fonts/geologica-latin-400-normal.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Geologica'; font-style: normal; font-weight: 500; font-display: swap; src: url(fonts/geologica-cyrillic-500-normal.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Geologica'; font-style: normal; font-weight: 500; font-display: swap; src: url(fonts/geologica-latin-500-normal.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Geologica'; font-style: normal; font-weight: 700; font-display: swap; src: url(fonts/geologica-cyrillic-700-normal.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Geologica'; font-style: normal; font-weight: 700; font-display: swap; src: url(fonts/geologica-latin-700-normal.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Courier Prime'; font-style: normal; font-weight: 400; font-display: swap; src: url(fonts/courier-prime-latin-400-normal.woff2) format('woff2'); unicode-range: U+0000-00FF, U+2000-206F; }
@font-face { font-family: 'Courier Prime'; font-style: normal; font-weight: 700; font-display: swap; src: url(fonts/courier-prime-latin-700-normal.woff2) format('woff2'); unicode-range: U+0000-00FF, U+2000-206F; }

:root {
	--felt-0: #08130f; --felt-1: #0d1b16; --felt-2: #11241d; --felt-3: #173027; --felt-4: #1f3b31;
	--wood-0: #140b06; --wood-1: #22140b; --wood-2: #331f12; --wood-3: #4a2e19; --wood-4: #6b4527;
	--brass-0: #6e5021; --brass-1: #9c7735; --brass-2: #c9a256; --brass-3: #e6c886; --brass-4: #f6e3b4;
	--ivory-0: #f6efde; --ivory-1: #eee4cc; --ivory-2: #e0d2b2; --ivory-3: #c4b38c;
	--ink: #211b14; --ink-2: #4a4033; --ink-3: #74685a;
	--ox: #8b2d22; --ox-2: #a9443a; --pat: #3c8670; --pat-2: #2b6654; --slate: #4b6379; --ochre: #ab7728; --plum: #6c4058;
	--txt: #ece3cf; --txt-2: #bdb196; --txt-3: #8e846f;
	--glow: 255, 214, 150;
	--f-d: 'Ledger', 'Georgia', 'Times New Roman', serif;
	--f-t: 'Geologica', 'Segoe UI', system-ui, sans-serif;
	--f-m: 'Courier Prime', 'Geologica', monospace;
	--wrap: 1240px;
	--tone: var(--brass-1);
}
.zn-tone-0 { --tone: #a17a33; }
.zn-tone-1 { --tone: var(--pat); }
.zn-tone-2 { --tone: var(--ox-2); }
.zn-tone-3 { --tone: var(--slate); }
.zn-tone-4 { --tone: #2f7487; }
.zn-tone-5 { --tone: var(--plum); }

*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
	margin: 0; min-height: 100vh; color: var(--txt); font: 400 15.5px/1.6 var(--f-t);
	background-color: var(--felt-1);
	background-image:
		radial-gradient(1100px 520px at 50% -160px, rgba(var(--glow), .14), transparent 70%),
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .62 0 0 0 0 .78 0 0 0 0 .66 0 0 0 .075 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"),
		linear-gradient(180deg, #0e1d17 0%, #0b1813 60%, #09140f 100%);
	background-attachment: fixed, scroll, fixed;
}
img { max-width: 100%; height: auto; }
a { color: var(--brass-3); text-decoration: none; }
a:hover { color: var(--brass-4); }
:focus-visible { outline: 2px solid var(--brass-3); outline-offset: 2px; border-radius: 2px; }
button { font: inherit; color: inherit; cursor: pointer; }
p { margin: 0 0 .7em; }
.zn-mono { font-family: var(--f-m); font-weight: 700; letter-spacing: .02em; font-variant-numeric: tabular-nums; }
.zn-kicker { margin: 0 0 8px; font: 500 11px/1.3 var(--f-t); letter-spacing: .14em; text-transform: uppercase; color: var(--brass-2); display: flex; flex-wrap: wrap; gap: 4px 12px; align-items: baseline; }
.zn-h1 { font: 400 clamp(28px, 3.4vw, 40px)/1.12 var(--f-d); margin: 0 0 14px; letter-spacing: .005em; }
.zn-h2 { font: 400 clamp(22px, 2.2vw, 28px)/1.2 var(--f-d); margin: 0; color: var(--ivory-0); }
.zn-h3 { font: 400 20px/1.25 var(--f-d); margin: 0 0 12px; color: var(--ivory-0); }
.zn-more { display: inline-flex; align-items: center; gap: 6px; font: 500 13px/1.3 var(--f-t); color: var(--brass-3); border-bottom: 1px dotted rgba(230, 200, 134, .55); padding-bottom: 1px; background: none; border-top: 0; border-left: 0; border-right: 0; }
.zn-more:hover { color: var(--brass-4); border-bottom-style: solid; }
.zn-empty { list-style: none; color: var(--txt-3); font-size: 14px; padding: 12px 0; }
.zn-skip { position: absolute; left: -999px; top: 8px; z-index: 100; background: var(--ivory-0); color: var(--ink); padding: 8px 14px; border-radius: 3px; }
.zn-skip:focus { left: 12px; }
.zn-app { min-height: 100vh; display: flex; flex-direction: column; }
.zn-main { width: 100%; max-width: var(--wrap); margin: 0 auto; padding: 0 24px 56px; flex: 1; }

/* ------------------------------------------------------------ шапка */
.zn-top { position: relative; z-index: 40; background: linear-gradient(180deg, rgba(8, 19, 15, .92), rgba(13, 27, 22, .88)); border-bottom: 1px solid rgba(201, 162, 86, .22); }
.zn-top__in { max-width: var(--wrap); margin: 0 auto; padding: 14px 24px 12px; display: flex; align-items: center; gap: 22px; }
.zn-logo { display: flex; align-items: center; gap: 12px; color: var(--ivory-0); flex: 0 0 auto; }
.zn-logo:hover { color: #fff; }
.zn-logo__mark { flex: 0 0 auto; filter: drop-shadow(0 3px 4px rgba(0, 0, 0, .5)); transition: transform .4s ease; }
.zn-logo:hover .zn-logo__mark { transform: rotate(-8deg) scale(1.04); }
.zn-logo__txt { display: flex; flex-direction: column; }
.zn-logo__name { font: 400 25px/1.05 var(--f-d); letter-spacing: .01em; }
.zn-logo__sub { font: 500 10.5px/1.4 var(--f-t); letter-spacing: .16em; text-transform: uppercase; color: var(--brass-2); margin-top: 4px; }
.zn-find { position: relative; flex: 1 1 auto; max-width: 440px; margin-left: auto; display: flex; align-items: center; }
.zn-find__l { position: absolute; left: -9999px; }
.zn-find__i { position: absolute; left: 12px; color: var(--brass-2); pointer-events: none; }
.zn-find input[type="search"] { width: 100%; height: 40px; padding: 0 92px 0 38px; border-radius: 20px; border: 1px solid rgba(201, 162, 86, .38); background: rgba(5, 12, 9, .55); color: var(--txt); font: 400 14.5px var(--f-t); box-shadow: inset 0 2px 6px rgba(0, 0, 0, .5); }
.zn-find input[type="search"]::placeholder { color: var(--txt-3); }
.zn-find input[type="search"]:focus { outline: none; border-color: var(--brass-3); box-shadow: inset 0 2px 6px rgba(0, 0, 0, .5), 0 0 0 3px rgba(201, 162, 86, .18); }
.zn-find__b { position: absolute; right: 4px; height: 32px; padding: 0 14px; border-radius: 16px; border: 0; background: linear-gradient(180deg, var(--brass-3), var(--brass-1)); color: var(--wood-1); font: 600 13px var(--f-t); }
.zn-find__b:hover { background: linear-gradient(180deg, var(--brass-4), var(--brass-2)); }
.zn-me { position: relative; flex: 0 0 auto; }
.zn-me__b { display: flex; align-items: center; gap: 8px; height: 40px; padding: 0 14px 0 6px; border-radius: 20px; border: 1px solid rgba(201, 162, 86, .45); background: transparent; color: var(--ivory-0); font: 500 14px var(--f-t); }
.zn-me__b .zn-ico { margin-left: 6px; color: var(--brass-3); }
.zn-me__b:hover, .zn-me__b[aria-expanded="true"] { background: rgba(201, 162, 86, .12); }
.zn-me__panel { position: absolute; right: 0; top: calc(100% + 10px); width: 300px; padding: 18px; border-radius: 4px; background: var(--ivory-0); color: var(--ink); box-shadow: 0 22px 44px -12px rgba(0, 0, 0, .8), 0 0 0 1px var(--ivory-3); z-index: 60; }
.zn-me__panel::before { content: ""; position: absolute; right: 26px; top: -7px; width: 14px; height: 14px; background: var(--ivory-0); transform: rotate(45deg); box-shadow: -1px -1px 0 var(--ivory-3); }
.zn-login__p { font: 400 18px/1.3 var(--f-d); margin: 0 0 12px; }
.zn-field { margin: 0 0 10px; display: flex; flex-direction: column; gap: 4px; font-size: 13px; color: var(--ink-2); }
.zn-field--row { flex-direction: row; justify-content: space-between; align-items: center; }
.zn-field a { color: var(--ox); }
.zn-remember { display: flex; align-items: center; gap: 6px; }
.zn-mine__who { display: flex; gap: 10px; align-items: center; margin: 0 0 12px; }
.zn-mine__who span { display: flex; flex-direction: column; line-height: 1.3; }
.zn-mine__who a { color: var(--ox); font-size: 13px; }
.zn-mine__links { list-style: none; margin: 0; padding: 0; border-top: 1px dashed var(--ivory-3); }
.zn-mine__links a { display: block; padding: 8px 0; color: var(--ink); border-bottom: 1px dashed var(--ivory-3); font-size: 14px; }
.zn-mine__links a:hover { color: var(--ox); }
.zn-pm { display: inline-block; min-width: 20px; padding: 0 5px; border-radius: 10px; background: var(--ox); color: #fff; font-size: 11px; text-align: center; }
.zn-pm[data-n="0"] { display: none; }

/* ------------------------------------------------------------ картотека: полоса выдвижных ящичков */
.zn-index { position: relative; background:
	repeating-linear-gradient(90deg, rgba(0, 0, 0, 0) 0 37px, rgba(0, 0, 0, .09) 37px 38px, rgba(255, 255, 255, .02) 38px 61px, rgba(0, 0, 0, .07) 61px 62px),
	linear-gradient(180deg, var(--wood-3) 0%, var(--wood-2) 45%, var(--wood-1) 100%);
	border-top: 1px solid rgba(255, 220, 170, .12); border-bottom: 3px solid var(--wood-0); box-shadow: 0 10px 22px -10px rgba(0, 0, 0, .8); }
.zn-index__in { list-style: none; margin: 0 auto; padding: 6px 24px 8px; max-width: var(--wrap); display: flex; justify-content: space-between; gap: 8px; }
.zn-dept { display: flex; flex-direction: column; gap: 3px; flex: 0 1 auto; min-width: 0; }
.zn-dept--home { flex: 0 0 auto; }
.zn-dept__l { font: 500 9px/1.2 var(--f-t); letter-spacing: .16em; text-transform: uppercase; color: rgba(230, 200, 134, .72); padding-left: 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.zn-dept__row { list-style: none; margin: 0; padding: 0; display: flex; gap: 3px; }
.zn-drw { position: relative; flex: 1 1 0; min-width: 0; }
.zn-dept--home .zn-drw { flex: 1 1 0; }
.zn-drw__front { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; height: 40px; padding: 4px 4px 7px; border-radius: 2px;
	background: linear-gradient(180deg, #5a3920, #3f2715); box-shadow: inset 0 1px 0 rgba(255, 220, 170, .18), inset 0 -2px 0 rgba(0, 0, 0, .35), 0 1px 0 rgba(0, 0, 0, .5);
	transition: transform .22s cubic-bezier(.3, .7, .3, 1), box-shadow .22s ease; }
.zn-drw__no { display: none; }
.zn-drw__card { display: block; max-width: 100%; padding: 1px 3px; border-radius: 1px; background: linear-gradient(180deg, var(--ivory-0), var(--ivory-2)); color: var(--ink); font: 400 11.5px/1.25 var(--f-d); letter-spacing: -.015em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
	box-shadow: 0 0 0 1.5px var(--brass-1), 0 0 0 2.5px rgba(0, 0, 0, .35); }
.zn-drw__pull { position: absolute; bottom: 3px; left: 50%; width: 16px; height: 4px; margin-left: -8px; border-radius: 0 0 8px 8px; background: linear-gradient(180deg, var(--brass-3), var(--brass-0)); box-shadow: 0 1px 1px rgba(0, 0, 0, .6); }
.zn-drw__front:hover, .zn-drw:focus-within .zn-drw__front { transform: translateY(3px); color: inherit; box-shadow: inset 0 1px 0 rgba(255, 220, 170, .25), inset 0 -2px 0 rgba(0, 0, 0, .35), 0 -3px 0 #1a0f08, 0 6px 10px -4px rgba(0, 0, 0, .7); }
.zn-drw.is-on .zn-drw__front { transform: translateY(5px); background: linear-gradient(180deg, #6a4526, #4b2f1a); box-shadow: 0 -5px 0 #170d07, 0 0 0 1px rgba(230, 200, 134, .5), 0 8px 14px -6px rgba(0, 0, 0, .8); }
.zn-drw.is-on .zn-drw__card { background: linear-gradient(180deg, #fffaf0, var(--ivory-1)); box-shadow: 0 0 0 1.5px var(--brass-3), 0 0 12px rgba(var(--glow), .45); }
.zn-drw__out { position: absolute; top: calc(100% + 10px); left: -4px; width: 320px; padding: 16px 16px 12px; border-radius: 3px; z-index: 50;
	background: radial-gradient(400px 140px at 50% 0, rgba(var(--glow), .14), transparent 70%), var(--felt-2);
	border: 1px solid rgba(201, 162, 86, .35); border-top: 4px solid var(--wood-3);
	box-shadow: inset 0 10px 18px -8px rgba(0, 0, 0, .8), 0 24px 40px -14px rgba(0, 0, 0, .9);
	opacity: 0; visibility: hidden; transform: translateY(-8px); transition: opacity .2s ease, transform .25s cubic-bezier(.3, .7, .3, 1), visibility 0s .25s; }
.zn-drw:hover .zn-drw__out, .zn-drw:focus-within .zn-drw__out { opacity: 1; visibility: visible; transform: none; transition-delay: .08s, .08s, 0s; }
.zn-dept:nth-last-child(-n+2) .zn-drw__out { left: auto; right: -4px; }
.zn-drw__h { display: flex; gap: 12px; align-items: center; margin: 0 0 8px; }
.zn-drw__h span { display: flex; flex-direction: column; line-height: 1.25; }
.zn-drw__h b { font: 400 18px/1.2 var(--f-d); color: var(--ivory-0); }
.zn-drw__h i { font-style: normal; font-size: 11px; color: var(--brass-2); letter-spacing: .06em; }
.zn-drw__d { font-size: 13px; color: var(--txt-2); margin: 0 0 10px; line-height: 1.5; }
.zn-drw__l { list-style: none; margin: 0; padding: 0; border-top: 1px dashed rgba(201, 162, 86, .3); }
.zn-drw__l a { display: flex; gap: 8px; padding: 7px 0; font-size: 13px; line-height: 1.35; color: var(--ivory-1); border-bottom: 1px dashed rgba(201, 162, 86, .2); }
.zn-drw__l a:hover { color: var(--brass-4); }
.zn-drw__l .zn-mono { color: var(--brass-2); font-size: 11.5px; padding-top: 1px; }
.zn-drw__empty { padding: 7px 0; font-size: 13px; color: var(--txt-3); }

.zn-crumbs-row { max-width: var(--wrap); margin: 0 auto; width: 100%; padding: 18px 24px 8px; }
.zn-crumbs { font-size: 13px; color: var(--txt-3); display: flex; flex-wrap: wrap; gap: 4px 0; align-items: center; }
.zn-crumbs a { color: var(--txt-2); }
.zn-crumbs a:hover { color: var(--brass-3); }
.zn-crumbs .active { color: var(--ivory-1); }
.zn-crumbs__sep { color: var(--brass-1); margin: 0 9px; }
.zn-page--index .zn-crumbs-row { display: none; }

/* ------------------------------------------------------------ экспонаты (SVG) */
.zn-ex { flex: 0 0 auto; overflow: visible; }
.zn-ex * { vector-effect: non-scaling-stroke; }
.zn-ex .s { fill: none; stroke: var(--brass-2); stroke-width: 1.5px; stroke-linecap: round; stroke-linejoin: round; }
.zn-ex .t { stroke: var(--brass-1); stroke-width: 1.1px; }
.zn-ex .dash { stroke-dasharray: 2 2.6; }
.zn-ex .d { fill: #1b1915; }
.zn-ex .f { fill: var(--ivory-1); }
.zn-ex .h { fill: var(--brass-3); }
.zn-ex .h2 { fill: rgba(var(--glow), .09); }
.zn-ex .g { fill: none; stroke: rgba(255, 249, 228, .6); stroke-width: 1.2px; stroke-linecap: round; }
.zn-ex .gl { fill: rgba(205, 232, 220, .09); }
.zn-ex .w { fill: rgba(110, 170, 160, .32); }
.zn-ex .i { fill: none; stroke: var(--ink-3); stroke-width: 1px; stroke-linecap: round; }
.zn-ex .tx { font: 700 6.4px var(--f-m); fill: var(--ox); }
.zn-ex .tx--c { text-anchor: middle; font-size: 7.4px; fill: var(--ink); }
.zn-ex .o { fill: #a9752f; opacity: .78; }
.zn-ex .lf { fill: #b5862f; stroke: var(--brass-1); stroke-width: .9px; }
.zn-ex .bd { fill: #94402c; }
.zn-ex .st { fill: var(--brass-3); stroke: var(--brass-2); stroke-width: .9px; stroke-linecap: round; }
.zn-ex .pl { fill: var(--ivory-0); stroke: var(--brass-1); stroke-width: .9px; }
.zn-ex .mk { fill: none; stroke: var(--ox-2); stroke-width: 1.5px; stroke-linecap: round; }
.zn-ex .hd { fill: var(--wood-3); stroke: var(--brass-1); stroke-width: .9px; }

/* ------------------------------------------------------------ главная: стена зала */
.zn-hall { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 40px; align-items: end; padding: 30px 0 30px; }
.zn-hall__h { font: 400 clamp(40px, 5.6vw, 72px)/1 var(--f-d); margin: 0 0 18px; color: var(--ivory-0); letter-spacing: -.005em; text-shadow: 0 2px 18px rgba(var(--glow), .14); }
.zn-hall__lead { font-size: 17.5px; line-height: 1.6; color: var(--txt-2); max-width: 600px; margin: 0; }
.zn-hall__rules { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.zn-hall__rules li { position: relative; display: flex; gap: 14px; align-items: center; padding: 11px 16px 11px 14px; border-radius: 2px; background: linear-gradient(180deg, var(--ivory-0), var(--ivory-1)); color: var(--ink); font-size: 14px; line-height: 1.45;
	box-shadow: 0 2px 0 rgba(0, 0, 0, .35), 0 10px 18px -12px rgba(0, 0, 0, .9); }
.zn-hall__rules li::before, .zn-hall__rules li::after { content: ""; position: absolute; top: 50%; width: 5px; height: 5px; margin-top: -2.5px; border-radius: 50%; background: radial-gradient(circle at 35% 35%, var(--brass-4), var(--brass-0)); }
.zn-hall__rules li::before { left: -2.5px; } .zn-hall__rules li::after { right: -2.5px; }
.zn-hall__rules b { flex: 0 0 32px; height: 32px; display: grid; place-items: center; border-radius: 50%; border: 1px solid var(--ox); color: var(--ox); font-size: 13px; }
.zn-hall__rules li:nth-child(2) { margin-left: 18px; } .zn-hall__rules li:nth-child(3) { margin-left: 36px; }

/* ------------------------------------------------------------ главная: шкаф */
.zn-cab { position: relative; margin: 6px 0 46px; padding: 0 18px 0;
	background:
		repeating-linear-gradient(92deg, rgba(0, 0, 0, 0) 0 9px, rgba(0, 0, 0, .07) 9px 10px, rgba(0, 0, 0, 0) 10px 23px, rgba(255, 220, 170, .025) 23px 25px),
		linear-gradient(180deg, var(--wood-3), var(--wood-2) 30%, var(--wood-1));
	border-radius: 6px 6px 3px 3px; box-shadow: 0 40px 70px -30px #000, inset 0 0 0 1px rgba(255, 220, 170, .08), inset 0 2px 0 rgba(255, 220, 170, .14); }
.zn-cab__crest { display: flex; justify-content: center; align-items: center; gap: 14px; padding: 16px 0 14px; }
.zn-cab__h { margin: 0; padding: 6px 28px 5px; border-radius: 2px; font: 400 17px/1.2 var(--f-d); letter-spacing: .18em; text-transform: uppercase; color: #3b2a10;
	background: linear-gradient(180deg, var(--brass-4) 0%, var(--brass-2) 45%, var(--brass-1) 100%); text-shadow: 0 1px 0 rgba(255, 245, 210, .6);
	box-shadow: 0 0 0 1px var(--brass-0), 0 3px 6px rgba(0, 0, 0, .6), inset 0 1px 0 rgba(255, 255, 255, .5); }
.zn-cab__screw { width: 9px; height: 9px; border-radius: 50%; background: radial-gradient(circle at 35% 35%, var(--brass-4), var(--brass-0) 75%); box-shadow: 0 1px 2px rgba(0, 0, 0, .7); position: relative; }
.zn-cab__screw::after { content: ""; position: absolute; left: 1.5px; right: 1.5px; top: 4px; height: 1px; background: rgba(60, 40, 10, .8); transform: rotate(-30deg); }
.zn-cab__grid { list-style: none; margin: 0; padding: 12px; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); grid-auto-rows: minmax(206px, auto); grid-auto-flow: dense; gap: 12px;
	background: var(--wood-0); border-radius: 3px; box-shadow: inset 0 3px 8px rgba(0, 0, 0, .9); }
.zn-cab__plinth { height: 22px; margin: 0 -18px; border-radius: 0 0 3px 3px; background: linear-gradient(180deg, var(--wood-2), var(--wood-0)); position: relative; }
.zn-cab__plinth span { position: absolute; bottom: -12px; width: 46px; height: 12px; border-radius: 0 0 6px 6px; background: linear-gradient(180deg, var(--wood-1), #0b0603); }
.zn-cab__plinth span:first-child { left: 34px; } .zn-cab__plinth span:last-child { right: 34px; }

.zn-cell { position: relative; display: flex; flex-direction: column; border-radius: 2px; overflow: hidden; isolation: isolate;
	background: radial-gradient(ellipse 85% 60% at 50% -8%, rgba(var(--glow), .24), rgba(var(--glow), .05) 55%, transparent 75%), linear-gradient(180deg, var(--felt-3), var(--felt-2));
	box-shadow: inset 0 10px 18px -6px rgba(0, 0, 0, .8), inset 0 0 0 1px rgba(0, 0, 0, .7), 0 0 0 2px #3a2414, 0 0 0 3px rgba(255, 220, 170, .08);
	transition: transform .28s cubic-bezier(.3, .7, .3, 1), box-shadow .28s ease; }
.zn-cell::before { content: ""; position: absolute; inset: 0; z-index: 3; pointer-events: none; background: linear-gradient(115deg, transparent 0 28%, rgba(255, 255, 255, .055) 28% 36%, transparent 36% 62%, rgba(255, 255, 255, .03) 62% 65%, transparent 65%); }
.zn-cell::after { content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none; opacity: 0; background: radial-gradient(ellipse 70% 55% at 50% 0, rgba(var(--glow), .3), transparent 70%); transition: opacity .3s ease; }
.zn-cell--t { grid-row: span 2; }
.zn-cell--w { grid-column: span 2; }
.zn-cell__glass { position: relative; z-index: 1; flex: 1 1 auto; display: grid; place-items: center; min-height: 64px; padding: 14px 10px 6px; }
.zn-cell__ex { width: 78px; height: 78px; filter: drop-shadow(0 8px 6px rgba(0, 0, 0, .6)); transition: transform .35s cubic-bezier(.3, .7, .3, 1); }
.zn-cell--t .zn-cell__ex { width: 150px; height: 150px; }
.zn-cell--t .zn-ex .s { stroke-width: 2px; }
.zn-cell--w .zn-cell__ex { width: 96px; height: 96px; }
.zn-cell__handle { position: absolute; top: 7px; left: 50%; width: 30px; height: 7px; margin-left: -15px; z-index: 4; border-radius: 0 0 14px 14px; background: linear-gradient(180deg, var(--brass-3), var(--brass-0)); box-shadow: 0 2px 2px rgba(0, 0, 0, .7); transition: box-shadow .3s ease; }
.zn-cell__label { position: relative; z-index: 2; margin: 0 10px 10px; padding: 9px 11px 9px; border-radius: 1px; background: linear-gradient(180deg, var(--ivory-0), var(--ivory-1)); color: var(--ink);
	box-shadow: 0 2px 0 rgba(0, 0, 0, .45), 0 8px 14px -10px rgba(0, 0, 0, .9); transition: transform .28s cubic-bezier(.3, .7, .3, 1); }
.zn-cell__k { display: flex; gap: 8px; align-items: baseline; margin: 0 0 3px; font-size: 10px; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.zn-cell__k .zn-mono { flex: 0 0 auto; }
.zn-cell__k .zn-mono { color: var(--ox); letter-spacing: .04em; font-size: 11px; }
.zn-cell__t { margin: 0 0 4px; font: 400 17px/1.2 var(--f-d); }
.zn-cell__a { color: var(--ink); }
.zn-cell__a::after { content: ""; position: absolute; inset: -400px -12px -12px; z-index: 1; }
.zn-cell__a:hover { color: var(--ox); }
.zn-cell__d { display: none; margin: 0 0 6px; font-size: 12.5px; line-height: 1.45; color: var(--ink-2); }
.zn-cell--t .zn-cell__d, .zn-cell--w .zn-cell__d { display: block; }
.zn-cell__last { position: relative; z-index: 3; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: 12.5px; line-height: 1.4; color: var(--ink-2); border-top: 1px dashed var(--ivory-3); padding-top: 5px; }
.zn-cell__last .zn-mono { color: var(--ox); font-size: 11px; margin-right: 6px; }
a.zn-cell__last:hover { color: var(--ox); }
.zn-cell__last--none { color: var(--ink-3); font-style: italic; }
.zn-cell:not(.zn-cell--loupe):hover, .zn-cell:not(.zn-cell--loupe):focus-within { transform: translateY(-4px) scale(1.012); z-index: 2;
	box-shadow: inset 0 10px 18px -6px rgba(0, 0, 0, .7), inset 0 0 0 1px rgba(0, 0, 0, .7), 0 0 0 2px #4a2e19, 0 0 0 3px rgba(230, 200, 134, .35), 0 18px 26px -12px rgba(0, 0, 0, .95); }
.zn-cell:hover::after, .zn-cell:focus-within::after { opacity: 1; }
.zn-cell:hover .zn-cell__ex { transform: translateY(-4px) scale(1.05); }
.zn-cell:hover .zn-cell__handle { box-shadow: 0 2px 2px rgba(0, 0, 0, .7), 0 0 12px rgba(var(--glow), .7); }
.zn-cell:hover .zn-cell__label { transform: translateY(-2px); }

/* ------------------------------------------------------------ лупа наблюдателя */
.zn-cell--loupe { grid-column: 2 / span 4; grid-row: 1 / span 3; padding: 14px 16px 16px; overflow: visible;
	background: radial-gradient(ellipse 70% 40% at 50% 0, rgba(var(--glow), .14), transparent 70%), linear-gradient(180deg, #102219, #0b1914);
	box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .8), inset 0 0 0 5px #2a190e, inset 0 0 0 6px rgba(230, 200, 134, .35), 0 0 0 2px #3a2414; }
.zn-cell--loupe::before { display: none; }
.zn-lp { display: flex; flex-direction: column; gap: 10px; height: 100%; padding: 4px 4px 0; }
.zn-lp__head { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; }
.zn-lp__h { margin: 0 0 2px; font: 400 25px/1.15 var(--f-d); color: var(--ivory-0); }
.zn-lp__sub { margin: 0; font-size: 13px; color: var(--txt-2); max-width: 470px; line-height: 1.45; }
.zn-switch { position: relative; flex: 0 0 auto; display: flex; padding: 3px; border-radius: 18px; background: rgba(0, 0, 0, .45); box-shadow: inset 0 1px 3px rgba(0, 0, 0, .8), 0 0 0 1px rgba(201, 162, 86, .3); }
.zn-switch__thumb { position: absolute; top: 3px; left: 3px; bottom: 3px; width: calc(50% - 3px); border-radius: 15px; background: linear-gradient(180deg, var(--brass-3), var(--brass-1)); box-shadow: 0 1px 3px rgba(0, 0, 0, .6); transition: transform .3s cubic-bezier(.3, .7, .3, 1); }
.zn-lp[data-mode="kitchen"] .zn-switch__thumb { transform: translateX(100%); }
.zn-switch__b { position: relative; z-index: 1; min-width: 86px; height: 30px; padding: 0 14px; border: 0; border-radius: 15px; background: none; color: var(--txt-2); font: 500 13.5px var(--f-t); transition: color .3s ease; }
.zn-switch__b.is-on { color: var(--wood-1); }
.zn-lp__stage { position: relative; border-radius: 2px; overflow: hidden; box-shadow: 0 0 0 1px rgba(0, 0, 0, .8), 0 0 0 4px #2a190e, 0 0 0 5px rgba(230, 200, 134, .25); background: #0f1d18; }
.zn-lp__svg { display: block; width: 100%; height: auto; touch-action: pan-y; cursor: none; user-select: none; -webkit-user-select: none; }
.zn-lp__lens { cursor: grab; touch-action: none; }
.zn-lp.is-drag .zn-lp__lens { cursor: grabbing; }
.zn-lp__base { filter: saturate(.4) brightness(.55) contrast(.96); }
.zn-lp__lens .glare { pointer-events: none; }
.zn-lp__lens .rim { fill: none; stroke: var(--brass-2); stroke-width: 7; filter: drop-shadow(0 4px 6px rgba(0, 0, 0, .7)); }
.zn-lp__lens .rim2 { fill: none; stroke: rgba(246, 227, 180, .45); stroke-width: 1.2; }
.zn-lp__lens .handle { stroke: var(--wood-3); stroke-width: 18; stroke-linecap: round; filter: drop-shadow(0 6px 6px rgba(0, 0, 0, .7)); }
.zn-lp__lens .grip { stroke: #6b4527; stroke-width: 7; stroke-linecap: round; opacity: .8; }
.zn-lbs { pointer-events: none; }
.zn-lp[data-mode="street"] .zn-lbs[data-mode="kitchen"], .zn-lp[data-mode="kitchen"] .zn-lbs[data-mode="street"] { display: none; }
.zn-lb circle { fill: rgba(246, 239, 222, .18); stroke: var(--ivory-0); stroke-width: 1; stroke-dasharray: 2 1.5; }
.zn-lb text { font: 600 8.6px var(--f-t); fill: var(--ivory-0); paint-order: stroke; stroke: rgba(10, 20, 16, .88); stroke-width: 2.6px; stroke-linejoin: round; }
.zn-lb.is-on circle { stroke: var(--brass-3); fill: rgba(var(--glow), .3); stroke-dasharray: none; }
.zn-lp__foot { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 14px; min-height: 104px; }
.zn-lp__caps { position: relative; padding: 11px 14px 10px; border-radius: 1px; background: linear-gradient(180deg, var(--ivory-0), var(--ivory-1)); color: var(--ink); box-shadow: 0 2px 0 rgba(0, 0, 0, .45); }
.zn-lp__cap { animation: zn-in .3s ease both; }
.zn-lp__ct { display: flex; gap: 8px; align-items: baseline; margin: 0 0 4px; font: 400 17px/1.25 var(--f-d); }
.zn-lp__ct .zn-mono { color: var(--ox); font-size: 13px; }
.zn-lp__cd { margin: 0; font-size: 13px; line-height: 1.5; color: var(--ink-2); }
.zn-lp__cap--idle .zn-lp__ct { color: var(--ink-3); }
@keyframes zn-in { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }
.zn-lp__side { display: flex; flex-direction: column; gap: 6px; }
.zn-lp__found { margin: 0; font-size: 12px; color: var(--txt-2); letter-spacing: .04em; }
.zn-lp__found b { color: var(--brass-3); font-size: 14px; }
.zn-lp__pts { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 4px 8px; }
.zn-lp__pt { display: flex; align-items: center; gap: 7px; width: 100%; padding: 3px 6px 3px 3px; border: 0; border-radius: 12px; background: none; text-align: left; font-size: 12px; line-height: 1.25; color: var(--txt-2); }
.zn-lp__pt b { flex: 0 0 20px; height: 20px; display: grid; place-items: center; border-radius: 50%; border: 1px solid rgba(201, 162, 86, .55); font: 700 11px var(--f-m); color: var(--brass-3); transition: background .2s, color .2s; }
.zn-lp__pt span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.zn-lp__pt:hover { color: var(--ivory-0); background: rgba(201, 162, 86, .1); }
.zn-lp__pt.is-seen b { background: var(--brass-1); color: var(--wood-0); border-color: var(--brass-2); }
.zn-lp__pt.is-on { color: var(--ivory-0); background: rgba(201, 162, 86, .16); }
.zn-lp__pt.is-on b { background: var(--brass-3); color: var(--wood-0); }

/* сцена «Улица» */
.zn-sc .sky { fill: url(#zn-g-sky); }
.zn-sc--street .moon { fill: #f3e6c0; opacity: .85; }
.zn-sc--street .far { fill: #1d3a31; } .zn-sc--street .far.w { fill: #e9c77a; opacity: .7; }
.zn-sc--street .facade { fill: #6b4a33; } .zn-sc--street .brick { stroke: rgba(0, 0, 0, .2); stroke-width: 1; fill: none; }
.zn-sc--street .cornice { fill: #8a6a4c; } .zn-sc--street .spikes { stroke: #d5dad6; stroke-width: 1.2; fill: none; stroke-linecap: round; }
.zn-sc--street .win rect { fill: #22302c; stroke: #3c2a1d; stroke-width: 3; } .zn-sc--street .win.lit rect { fill: #e8c071; }
.zn-sc--street .frame { stroke: #3c2a1d; stroke-width: 2.5; fill: none; }
.zn-sc--street .door { fill: #3a2618; }
.zn-sc--street .ac { fill: #d9d6cc; stroke: #9a978d; stroke-width: 1.5; } .zn-sc--street .acf { fill: #b8b5ab; }
.zn-sc--street .pipe { stroke: #ebe8e0; stroke-width: 3; fill: none; } .zn-sc--street .drip { stroke: #9cc9d4; stroke-width: 2; stroke-linecap: round; }
.zn-sc--street .walk { fill: #6f6a5f; } .zn-sc--street .tile { stroke: rgba(0, 0, 0, .22); stroke-width: 1; }
.zn-sc--street .stain { fill: #403d36; opacity: .85; }
.zn-sc--street .curb { fill: #a29d90; }
.zn-sc--street .road { fill: #2c2b29; } .zn-sc--street .mark { stroke: #e9e4d4; stroke-width: 4; } .zn-sc--street .zebra { fill: #e9e4d4; opacity: .82; }
.zn-sc--street .man { fill: #3d3a35; stroke: #1d1c1a; stroke-width: 2; } .zn-sc--street .manr { stroke: #5c584f; stroke-width: 1.6; fill: none; }
.zn-sc--street .wire { stroke: #121212; stroke-width: 1.8; fill: none; }
.zn-sc--street .pole { stroke: #3c403d; stroke-width: 6; fill: none; stroke-linecap: round; } .zn-sc--street .lamp { fill: #2c2f2d; } .zn-sc--street .beam { fill: rgba(255, 220, 150, .13); }
.zn-sc--street .plate { fill: #e8e2cf; } .zn-sc--street .platet { stroke: #2b2b2b; stroke-width: 1; }
.zn-sc--street .trunk { fill: #4a3424; } .zn-sc--street .white { fill: #ece9df; }
.zn-sc--street .crown { fill: #3f5e3a; } .zn-sc--street .crown.c2 { fill: #4d6d45; }
.zn-sc--street .bird { fill: #808a92; }
/* сцена «Кухня» */
.zn-sc--kitchen .wall { fill: #5b4634; } .zn-sc--kitchen .tiles { stroke: rgba(255, 240, 210, .12); stroke-width: 1; fill: none; }
.zn-sc--kitchen .night { fill: #13202b; } .zn-sc--kitchen .star { stroke: #f0e6c8; stroke-width: 2; stroke-linecap: round; }
.zn-sc--kitchen .wframe { stroke: #d8cdb5; stroke-width: 6; fill: none; }
.zn-sc--kitchen .sill { fill: #cfc3a8; }
.zn-sc--kitchen .jar { fill: rgba(210, 235, 230, .3); stroke: #c8d8d2; stroke-width: 1.5; } .zn-sc--kitchen .water { fill: rgba(120, 170, 180, .45); }
.zn-sc--kitchen .onion { fill: #b8743a; } .zn-sc--kitchen .sprout { stroke: #6c9a4a; stroke-width: 3; fill: none; stroke-linecap: round; }
.zn-sc--kitchen .hood { fill: #3a3a36; }
.zn-sc--kitchen .counter { fill: #7a5c3e; } .zn-sc--kitchen .edge { stroke: #a07a52; stroke-width: 3; }
.zn-sc--kitchen .stove { fill: #2a2a28; } .zn-sc--kitchen .burner { fill: #45403a; }
.zn-sc--kitchen .pot { fill: rgba(210, 225, 225, .26); stroke: #cfd8d6; stroke-width: 2; } .zn-sc--kitchen .potw { fill: rgba(120, 170, 190, .38); }
.zn-sc--kitchen .bub { fill: #eef7f6; } .zn-sc--kitchen .pothandle { stroke: #2a2a28; stroke-width: 6; stroke-linecap: round; }
.zn-sc--kitchen .steam { stroke: rgba(240, 240, 240, .45); stroke-width: 3; fill: none; stroke-linecap: round; }
.zn-sc--kitchen .kettle, .zn-sc--kitchen .kspout { fill: #b8b2a4; stroke: #8e897d; stroke-width: 2; } .zn-sc--kitchen .scale { fill: #f4f1e8; }
.zn-sc--kitchen .khandle { stroke: #2a2a28; stroke-width: 5; fill: none; stroke-linecap: round; } .zn-sc--kitchen .kshine { stroke: rgba(255, 255, 255, .5); stroke-width: 3; fill: none; stroke-linecap: round; }
.zn-sc--kitchen .glass { fill: rgba(210, 235, 235, .22); stroke: #d6e2e0; stroke-width: 2; } .zn-sc--kitchen .gwater { fill: rgba(120, 175, 190, .38); }
.zn-sc--kitchen .spoon { stroke: #d2d2d2; stroke-width: 3; stroke-linecap: round; } .zn-sc--kitchen .spoonb { fill: #d2d2d2; }
.zn-sc--kitchen .bottle { fill: #2e5a3c; stroke: #1e3d29; stroke-width: 2; } .zn-sc--kitchen .drops { fill: #d7ece8; }
.zn-sc--kitchen .fridge { fill: #d8d4ca; stroke: #a8a49a; stroke-width: 2; } .zn-sc--kitchen .fdoor { stroke: #a8a49a; stroke-width: 2; fill: none; }
.zn-sc--kitchen .vent { stroke: #8f8b82; stroke-width: 2; } .zn-sc--kitchen .hum { stroke: #e7c27a; stroke-width: 2; fill: none; stroke-linecap: round; }

/* ------------------------------------------------------------ главная: новые поступления, памятка, подборки */
.zn-sec__head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 18px; margin: 0 0 16px; }
.zn-sec__sub { margin: 0; font-size: 13px; color: var(--txt-3); flex: 1 1 260px; }
.zn-new { margin: 0 0 46px; }
.zn-accs { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.zn-accs--col { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.zn-acc { position: relative; display: flex; flex-direction: column; padding: 14px 16px 12px 18px; border-radius: 1px; color: var(--ink);
	background: linear-gradient(180deg, var(--ivory-0), var(--ivory-1)); box-shadow: 0 2px 0 rgba(0, 0, 0, .45), 0 14px 22px -16px #000; transition: transform .25s ease; }
.zn-acc::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: var(--tone); }
.zn-acc::after { content: ""; position: absolute; right: 12px; top: 12px; width: 9px; height: 9px; border-radius: 50%; background: var(--felt-1); box-shadow: inset 0 1px 2px rgba(0, 0, 0, .8), 0 0 0 2px var(--ivory-3); }
.zn-acc:hover { transform: translateY(-3px) rotate(-.3deg); }
.zn-acc__inv { display: flex; gap: 8px; align-items: baseline; margin: 0 0 6px; font-size: 11px; color: var(--ink-3); text-transform: uppercase; letter-spacing: .1em; }
.zn-acc__inv b { color: var(--ox); font-size: 14px; letter-spacing: .04em; }
.zn-acc__inv .zn-mono:last-child { margin-left: auto; margin-right: 18px; font-weight: 400; font-size: 12px; color: var(--ink-3); letter-spacing: 0; }
.zn-acc__box { display: flex; align-items: center; gap: 6px; margin: 0 0 6px; font-size: 12px; }
.zn-acc__box a { color: var(--ink-2); }
.zn-acc__box .zn-ex .s { stroke: var(--brass-0); } .zn-acc__box .zn-ex .t { stroke: var(--brass-1); } .zn-acc__box .zn-ex .f { fill: var(--ivory-2); } .zn-acc__box .zn-ex .d { fill: #3a3328; }
.zn-acc__t { margin: 0 0 10px; font: 400 17.5px/1.25 var(--f-d); flex: 1 1 auto; }
.zn-acc__t a { color: var(--ink); }
.zn-acc__t a:hover { color: var(--ox); }
.zn-acc__by { display: flex; align-items: center; gap: 7px; margin: 0 0 8px; font-size: 13px; color: var(--ink-2); }
.zn-acc__foot { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin: 0; padding-top: 8px; border-top: 1px dashed var(--ivory-3); font-size: 12px; color: var(--ink-3); }
.zn-mark { display: inline-flex; align-items: center; height: 20px; padding: 0 8px; border-radius: 10px; font: 600 10.5px/1 var(--f-t); letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; }
.zn-mark--itog { color: var(--ox); box-shadow: inset 0 0 0 1.5px var(--ox); transform: rotate(-3deg); }
.zn-mark--open { color: var(--pat-2); box-shadow: inset 0 0 0 1px rgba(43, 102, 84, .6); }
.zn-mark--wait { color: var(--ink-3); box-shadow: inset 0 0 0 1px var(--ivory-3); }

.zn-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: 28px; align-items: start; margin: 0 0 20px; }
.zn-check { position: relative; padding: 22px 24px 18px; border-radius: 2px; color: var(--ink);
	background: repeating-linear-gradient(180deg, transparent 0 31px, rgba(116, 104, 90, .12) 31px 32px), linear-gradient(180deg, var(--ivory-0), var(--ivory-1));
	box-shadow: 0 2px 0 rgba(0, 0, 0, .5), 0 26px 40px -24px #000; }
.zn-check::before { content: ""; position: absolute; left: 50px; top: 0; bottom: 0; width: 1px; background: rgba(169, 68, 58, .35); }
.zn-check .zn-h2 { color: var(--ink); }
.zn-check .zn-sec__sub { color: var(--ink-3); }
.zn-check__head { display: flex; justify-content: space-between; align-items: flex-start; gap: 14px; margin: 0 0 12px; }
.zn-meter { flex: 0 0 auto; display: flex; flex-direction: column; align-items: flex-end; gap: 5px; margin: 4px 0 0; font-size: 12px; color: var(--ink-3); }
.zn-meter__bar { display: flex; gap: 3px; }
.zn-meter__bar i { width: 18px; height: 8px; border-radius: 1px; background: var(--ivory-2); box-shadow: inset 0 1px 1px rgba(0, 0, 0, .2); transition: background .3s ease; }
.zn-meter__bar i.is-on { background: linear-gradient(180deg, var(--brass-3), var(--brass-1)); }
.zn-meter b { color: var(--ox); }
.zn-ck { border-top: 1px dashed var(--ivory-3); }
.zn-ck:last-of-type { border-bottom: 1px dashed var(--ivory-3); }
.zn-ck summary { list-style: none; display: grid; grid-template-columns: 32px auto 1fr 16px; align-items: center; gap: 4px 12px; padding: 11px 0; cursor: pointer; }
.zn-ck summary::-webkit-details-marker { display: none; }
.zn-ck summary::after { content: ""; width: 9px; height: 9px; border-right: 1.5px solid var(--ink-3); border-bottom: 1.5px solid var(--ink-3); transform: rotate(45deg); transition: transform .25s ease; justify-self: end; margin-top: -4px; }
.zn-ck[open] summary::after { transform: rotate(225deg); margin-top: 4px; }
.zn-ck summary b { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; border: 1px solid var(--ink-3); color: var(--ink-2); font-size: 13px; transition: all .25s ease; }
.zn-ck.is-seen summary b { background: var(--ox); border-color: var(--ox); color: var(--ivory-0); }
.zn-ck summary span { font: 400 18px/1.2 var(--f-d); }
.zn-ck summary i { font-style: normal; font-size: 12.5px; color: var(--ink-3); }
.zn-ck p { margin: 0 0 12px 44px; font-size: 14.5px; line-height: 1.6; color: var(--ink-2); animation: zn-in .3s ease both; }
.zn-check__done { margin: 12px 0 0; padding: 8px 12px; border-radius: 2px; background: rgba(139, 45, 34, .08); color: var(--ox); font-size: 13.5px; box-shadow: inset 0 0 0 1px rgba(139, 45, 34, .3); }
.zn-picks__in { display: grid; gap: 14px; }
.zn-pick { padding: 14px 16px 10px; border-radius: 2px; background: radial-gradient(ellipse 80% 70% at 50% -20%, rgba(var(--glow), .12), transparent 70%), var(--felt-2);
	box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .6), inset 0 8px 14px -8px rgba(0, 0, 0, .8), 0 0 0 1px rgba(201, 162, 86, .22); }
.zn-pick__h { display: flex; align-items: center; gap: 10px; margin: 0 0 6px; font: 400 18.5px/1.2 var(--f-d); color: var(--ivory-0); }
.zn-pick__h .zn-mono { width: 24px; height: 24px; display: grid; place-items: center; border-radius: 50%; background: linear-gradient(180deg, var(--brass-3), var(--brass-1)); color: var(--wood-1); font-size: 12px; }
.zn-pick__l { list-style: none; margin: 0; padding: 0; }
.zn-pick__l a { display: flex; gap: 12px; align-items: center; padding: 8px 0; border-top: 1px dashed rgba(201, 162, 86, .2); color: var(--ivory-1); }
.zn-pick__l li:first-child a { border-top: 0; }
.zn-pick__l a:hover { color: var(--brass-4); }
.zn-pick__l a:hover .zn-ex { transform: rotate(-8deg) scale(1.1); }
.zn-pick__l .zn-ex { transition: transform .3s ease; }
.zn-pick__l span { display: flex; flex-direction: column; line-height: 1.35; }
.zn-pick__l b { font-weight: 400; font-size: 14.5px; }
.zn-pick__l i { font-style: normal; font-size: 12px; color: var(--txt-3); }
.zn-picks__foot { display: flex; gap: 20px; margin: 14px 0 0; }

/* ------------------------------------------------------------ раздел: открытый ящик */
.zn-dhead { margin: 6px 0 22px; }
.zn-dhead__front { position: relative; display: flex; align-items: center; gap: 22px; padding: 16px 26px 22px; border-radius: 4px 4px 0 0;
	background: repeating-linear-gradient(90deg, rgba(0, 0, 0, 0) 0 13px, rgba(0, 0, 0, .07) 13px 14px, rgba(255, 220, 170, .025) 14px 31px), linear-gradient(180deg, var(--wood-4), var(--wood-3) 50%, var(--wood-2));
	box-shadow: inset 0 1px 0 rgba(255, 220, 170, .2), inset 0 -3px 0 rgba(0, 0, 0, .35), 0 14px 22px -14px #000; }
.zn-dhead__screw { width: 10px; height: 10px; border-radius: 50%; background: radial-gradient(circle at 35% 35%, var(--brass-4), var(--brass-0) 75%); box-shadow: 0 1px 2px rgba(0, 0, 0, .7); flex: 0 0 auto; }
.zn-dhead__holder { flex: 0 1 auto; min-width: 0; padding: 10px 22px 8px; border-radius: 2px; background: linear-gradient(180deg, var(--ivory-0), var(--ivory-1)); color: var(--ink);
	box-shadow: 0 0 0 3px var(--brass-1), 0 0 0 4px var(--brass-0), 0 4px 8px 3px rgba(0, 0, 0, .55); }
.zn-dhead__no { margin: 0 0 2px; font-size: 12px; color: var(--ox); text-transform: uppercase; letter-spacing: .08em; }
.zn-dhead__h { margin: 0; color: var(--ink); }
.zn-dhead__pull { margin-left: auto; margin-right: 18px; width: 120px; height: 18px; border-radius: 0 0 60px 60px / 0 0 18px 18px; background: linear-gradient(180deg, var(--brass-3), var(--brass-1) 50%, var(--brass-0)); box-shadow: 0 4px 6px rgba(0, 0, 0, .7), inset 0 1px 0 rgba(255, 255, 255, .4); flex: 0 0 auto; }
.zn-dhead__in { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 30px; align-items: center; padding: 26px 30px; border-radius: 0 0 3px 3px;
	background: radial-gradient(ellipse 60% 90% at 18% 0, rgba(var(--glow), .2), transparent 70%), linear-gradient(180deg, var(--felt-3), var(--felt-2));
	box-shadow: inset 0 14px 20px -10px rgba(0, 0, 0, .85), inset 10px 0 14px -10px rgba(0, 0, 0, .7), inset -10px 0 14px -10px rgba(0, 0, 0, .7), 0 0 0 3px var(--wood-1); }
.zn-dhead__fig { margin: 0; display: flex; flex-direction: column; align-items: center; gap: 10px; text-align: center; }
.zn-dhead__ex { width: 150px; height: 150px; filter: drop-shadow(0 12px 10px rgba(0, 0, 0, .7)); }
.zn-dhead__ex .s { stroke-width: 2px; }
.zn-dhead__fig figcaption { font-size: 12px; color: var(--txt-3); line-height: 1.4; max-width: 220px; }
.zn-dhead__d { font-size: 16px; color: var(--txt); max-width: 720px; line-height: 1.6; }
.zn-dhead__n { font-size: 13px; color: var(--brass-2); margin: 0 0 14px; }
.zn-filter { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 18px; }
.zn-filter:empty { display: none; }
.zn-chip { display: inline-flex; align-items: center; gap: 8px; height: 32px; padding: 0 14px; border-radius: 16px; border: 1px solid rgba(201, 162, 86, .4); background: rgba(0, 0, 0, .25); color: var(--txt-2); font: 500 13px var(--f-t); }
.zn-chip b { color: var(--brass-3); font-size: 12.5px; }
.zn-chip:hover { color: var(--ivory-0); border-color: var(--brass-2); }
.zn-chip.is-on { background: linear-gradient(180deg, var(--brass-3), var(--brass-1)); color: var(--wood-1); border-color: transparent; }
.zn-chip.is-on b { color: var(--wood-1); }
.zn-cat__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 8px 20px; margin: 0 0 16px; }
.zn-sort { display: flex; flex-wrap: wrap; gap: 4px 14px; margin: 0; font-size: 13px; color: var(--txt-3); }
.zn-sort a { color: var(--txt-2); border-bottom: 1px dotted rgba(189, 177, 150, .5); }
.zn-sort a:hover { color: var(--brass-3); }
.zn-cards { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 18px; }
.zn-card { position: relative; display: flex; flex-direction: column; padding: 18px 18px 26px; border-radius: 2px; color: var(--ink);
	background: repeating-linear-gradient(180deg, transparent 0 25px, rgba(75, 99, 121, .13) 25px 26px) 0 58px / 100% calc(100% - 58px) no-repeat, linear-gradient(180deg, var(--ivory-0), var(--ivory-1));
	box-shadow: 0 2px 0 rgba(0, 0, 0, .5), 0 18px 26px -18px #000; transition: transform .25s ease, box-shadow .25s ease; }
.zn-card::before { content: ""; position: absolute; left: 0; right: 0; top: 46px; height: 1px; background: rgba(169, 68, 58, .55); }
.zn-card::after { content: ""; position: absolute; left: 50%; bottom: 8px; width: 12px; height: 12px; margin-left: -6px; border-radius: 50%; background: var(--felt-1); box-shadow: inset 0 1px 2px rgba(0, 0, 0, .9); }
.zn-card:hover { transform: translateY(-4px); box-shadow: 0 2px 0 rgba(0, 0, 0, .5), 0 24px 30px -18px #000, 0 0 0 1px rgba(201, 162, 86, .5); }
.zn-card__inv { display: flex; align-items: baseline; gap: 8px; margin: 0 0 16px; font-size: 11px; color: var(--ink-3); text-transform: uppercase; letter-spacing: .1em; }
.zn-card__inv b { color: var(--ox); font-size: 15px; letter-spacing: .04em; }
.zn-card__inv .zn-mono:last-child { margin-left: auto; font-weight: 400; color: var(--ink-3); letter-spacing: 0; font-size: 12px; }
.zn-card__inv::after { content: ""; position: absolute; left: 16px; top: -1px; width: 46px; height: 5px; border-radius: 0 0 3px 3px; background: var(--tone); }
.zn-card__t { margin: 0 0 10px; font: 400 18px/1.3 var(--f-d); flex: 1 1 auto; }
.zn-card__t a { color: var(--ink); }
.zn-card__t a:hover { color: var(--ox); }
.zn-card__by { display: flex; align-items: center; gap: 7px; margin: 0 0 3px; font-size: 13.5px; }
.zn-card__by a { color: var(--ink-2); font-weight: 500; }
.zn-card__last { margin: 0 0 10px; font-size: 12px; color: var(--ink-3); }
.zn-card__foot { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin: 0; font-size: 12.5px; }
.zn-card__foot a { color: var(--slate); }
.zn-card__mod { position: absolute; right: 10px; bottom: 6px; }
.zn-sep { grid-column: 1 / -1; list-style: none; font: 500 11px var(--f-t); letter-spacing: .16em; text-transform: uppercase; color: var(--brass-2); padding: 6px 0 0; border-bottom: 1px solid rgba(201, 162, 86, .25); }
.zn-cards__none { color: var(--txt-3); }
.zn-pages { font-size: 12px; color: var(--ink-3); margin-left: 6px; }
.zn-pages a { color: var(--slate); margin: 0 2px; }
.zn-subs { margin: 0 0 22px; }
.zn-subs__l { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 12px; }
.zn-subs__g { margin: 0 0 18px; }
.zn-subs__h { font: 400 20px var(--f-d); margin: 0 0 10px; }
.zn-sub { padding: 14px 16px; border-radius: 2px; background: linear-gradient(180deg, var(--ivory-0), var(--ivory-1)); color: var(--ink); }
.zn-sub__t { margin: 0 0 6px; font: 400 18px/1.25 var(--f-d); } .zn-sub__t a { color: var(--ink); }
.zn-sub__d { font-size: 13px; color: var(--ink-2); }
.zn-sub__lp, .zn-sub__lt { font-size: 12.5px; color: var(--ink-3); } .zn-sub__lt a { color: var(--slate); }

/* ------------------------------------------------------------ тема: экспонат в витрине */
.zn-exh { margin: 6px 0 0; }
.zn-vit { display: grid; grid-template-columns: minmax(0, .82fr) minmax(0, 1.3fr); gap: 0; margin: 0 0 30px; border-radius: 4px; overflow: hidden;
	box-shadow: 0 0 0 3px var(--wood-2), 0 0 0 4px rgba(230, 200, 134, .2), 0 40px 60px -30px #000; }
.zn-vit__case { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 380px; padding: 40px 30px 76px;
	background: radial-gradient(ellipse 58% 75% at 50% -6%, rgba(var(--glow), .36), rgba(var(--glow), .07) 55%, transparent 72%), radial-gradient(ellipse 45% 10% at 50% 78%, rgba(0, 0, 0, .6), transparent 70%), linear-gradient(180deg, var(--felt-3), var(--felt-1)); }
.zn-vit__case::before { content: ""; position: absolute; inset: 14px; border: 1px solid rgba(200, 230, 215, .12); pointer-events: none; background: linear-gradient(118deg, transparent 0 30%, rgba(255, 255, 255, .06) 30% 37%, transparent 37% 70%, rgba(255, 255, 255, .035) 70% 73%, transparent 73%); }
.zn-vit__glass { position: relative; animation: zn-float 7s ease-in-out infinite; }
.zn-vit__ex { width: 220px; height: 220px; filter: drop-shadow(0 18px 14px rgba(0, 0, 0, .7)); }
.zn-vit__ex .s { stroke-width: 2.2px; } .zn-vit__ex .t { stroke-width: 1.5px; }
@keyframes zn-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-6px); } }
.zn-vit__plate { position: absolute; left: 50%; bottom: 26px; transform: translateX(-50%); display: flex; align-items: baseline; gap: 8px; margin: 0; padding: 5px 16px 4px; border-radius: 2px;
	background: linear-gradient(180deg, var(--brass-4), var(--brass-2) 50%, var(--brass-1)); color: #3b2a10; box-shadow: 0 0 0 1px var(--brass-0), 0 3px 6px rgba(0, 0, 0, .6); font-size: 11px; text-transform: uppercase; letter-spacing: .14em; }
.zn-vit__plate b { font-size: 16px; letter-spacing: .06em; }
.zn-vit__label { position: relative; padding: 32px 36px 26px; color: var(--ink); background: linear-gradient(180deg, var(--ivory-0), var(--ivory-1)); }
.zn-vit__k { color: var(--ink-3); }
.zn-vit__k .zn-mono { color: var(--ox); }
.zn-vit__k a { color: var(--slate); text-transform: none; letter-spacing: .02em; font-size: 13px; }
.zn-vit__h { color: var(--ink); margin: 0 0 20px; }
.zn-expl { margin: 0 0 20px; display: grid; grid-template-columns: 1fr 1fr; gap: 0 26px; border-top: 1px solid var(--ivory-3); }
.zn-expl > div { padding: 10px 0; border-bottom: 1px solid var(--ivory-2); }
.zn-expl__odd { grid-column: 1 / -1; }
.zn-expl dt { font-size: 10.5px; letter-spacing: .16em; text-transform: uppercase; color: var(--ink-3); margin: 0 0 3px; }
.zn-expl dd { margin: 0; font-size: 15.5px; line-height: 1.5; }
.zn-expl__odd dd { font: 400 18px/1.45 var(--f-d); color: var(--ink); }
.zn-vit__by { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin: 0 0 12px; font-size: 14px; color: var(--ink-2); }
.zn-vit__by b { color: var(--ink); font-weight: 500; }
.zn-vit__date { margin-left: auto; font-size: 12.5px; color: var(--ink-3); }
.zn-vit__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; margin: 0; padding-top: 12px; border-top: 1px dashed var(--ivory-3); font-size: 13.5px; }
.zn-vit__vers { color: var(--slate); font-weight: 500; }
.zn-st { font-size: 12.5px; color: var(--ink-3); }
.zn-st--itog { color: var(--ox); font-weight: 600; box-shadow: inset 0 0 0 1.5px var(--ox); padding: 2px 10px; border-radius: 12px; transform: rotate(-2deg); display: inline-block; }
.zn-stack { display: flex; margin-left: auto; }
.zn-stack .zn-face { margin-left: -7px; box-shadow: 0 0 0 2px var(--ivory-0); }

.zn-posts { max-width: 900px; margin: 0 auto; display: flex; flex-direction: column; gap: 18px; }
.zn-anchor { position: absolute; top: -90px; }
.zn-post { position: relative; border-radius: 2px; color: var(--ink); background: linear-gradient(180deg, var(--ivory-0), var(--ivory-1)); box-shadow: 0 2px 0 rgba(0, 0, 0, .5), 0 18px 26px -20px #000; scroll-margin-top: 20px; }
.zn-post.is-hl { box-shadow: 0 0 0 2px var(--brass-3), 0 0 26px rgba(var(--glow), .4); }
.zn-post__head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 14px; padding: 14px 22px 0; }
.zn-post__kind { margin: 0; font: 400 16px/1.2 var(--f-d); color: var(--tone); }
.zn-post__re { font-size: 12.5px; color: var(--slate); }
.zn-post__when { margin-left: auto; font-size: 12.5px; color: var(--ink-3); }
.zn-post__body { padding: 10px 22px 6px; font-size: 16px; line-height: 1.68; overflow-wrap: anywhere; }
.zn-sig { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin: 6px 22px 0; padding: 10px 0 12px; border-top: 1px solid var(--ivory-2); font-size: 13px; color: var(--ink-2); }
.zn-sig__line { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; margin: 0; flex: 1 1 auto; }
.zn-sig__role { color: var(--ink-3); font-size: 12px; text-transform: lowercase; }
.zn-sig__nick a { color: var(--ink); font-weight: 600; }
.zn-sig__nick a:hover { color: var(--ox); }
.zn-sig__place { color: var(--ink-3); }
.zn-sig__place::before { content: "·"; margin-right: 8px; color: var(--ivory-3); }
.zn-ok { display: inline-flex; align-items: center; gap: 5px; font-size: 12px; color: var(--ink-3); margin-left: auto; }
.zn-ok b { color: var(--pat-2); font-size: 13px; }
.zn-post__ctl { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px; padding: 0 22px 12px; }
.zn-post__ctl:not(:has(a)) { display: none; }
/* запись наблюдателя */
.zn-post--rec { padding: 8px 10px 4px; background: linear-gradient(180deg, #fbf6e8, var(--ivory-0)); box-shadow: 0 0 0 1px var(--ivory-3), 0 0 0 6px var(--ivory-1), 0 0 0 7px var(--ivory-3), 0 30px 40px -26px #000; margin: 6px 0 10px; }
.zn-post--rec .zn-post__kind { color: var(--ox); font-size: 13px; font-family: var(--f-t); text-transform: uppercase; letter-spacing: .16em; font-weight: 500; }
.zn-post--rec .zn-post__body { font-size: 17px; line-height: 1.72; }
.zn-post--rec .zn-post__body::first-letter { font: 400 3.1em/.9 var(--f-d); float: left; margin: .06em .1em 0 0; color: var(--ox); }
.zn-post--rec .zn-sig { justify-content: flex-end; text-align: right; }
.zn-vers-h { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 16px; margin: 18px 0 2px; padding-bottom: 10px; border-bottom: 1px solid rgba(201, 162, 86, .3); font: 400 26px/1.2 var(--f-d); color: var(--ivory-0); }
.zn-vers-h i { font: 400 13px var(--f-t); color: var(--txt-3); font-style: normal; }
/* версии: карточка с цветной кромкой */
.zn-post--ver { margin-left: 0; box-shadow: inset 6px 0 0 var(--tone), 0 2px 0 rgba(0, 0, 0, .5), 0 18px 26px -20px #000; }
.zn-post--ver .zn-post__head, .zn-post--ver .zn-post__body, .zn-post--ver .zn-post__ctl { padding-left: 30px; }
.zn-post--ver .zn-sig { margin-left: 30px; }
.zn-post--op { margin-left: 48px; background: linear-gradient(180deg, #edf0e4, #e3e6d6); box-shadow: inset 4px 0 0 var(--pat), 0 2px 0 rgba(0, 0, 0, .5), 0 14px 22px -18px #000; }
.zn-post--op .zn-post__kind { color: var(--pat-2); }
.zn-post--op::before { content: ""; position: absolute; left: -30px; top: 24px; width: 22px; height: 14px; border-left: 1.5px dashed rgba(201, 162, 86, .55); border-bottom: 1.5px dashed rgba(201, 162, 86, .55); border-radius: 0 0 0 6px; }
/* итог наблюдателя */
.zn-post--itog { margin: 8px 0; background: linear-gradient(180deg, #fffaf0, var(--ivory-0)); box-shadow: inset 8px 0 0 var(--ox), 0 0 0 1px var(--brass-1), 0 0 0 5px var(--ivory-0), 0 0 0 6px var(--brass-1), 0 30px 40px -24px #000; }
.zn-post--itog .zn-post__head, .zn-post--itog .zn-post__body, .zn-post--itog .zn-post__ctl { padding-left: 34px; padding-right: 110px; }
.zn-post--itog .zn-sig { margin-left: 34px; }
.zn-post--itog .zn-post__kind { color: var(--ox); font: 600 13px var(--f-t); letter-spacing: .18em; text-transform: uppercase; }
.zn-post--itog::after { content: "итог"; position: absolute; right: 22px; top: 18px; width: 74px; height: 74px; display: grid; place-items: center; border-radius: 50%;
	font: 700 15px var(--f-m); letter-spacing: .14em; text-transform: uppercase; color: var(--ox); border: 2px solid var(--ox); box-shadow: inset 0 0 0 4px var(--ivory-0), inset 0 0 0 5.5px var(--ox); transform: rotate(-14deg); opacity: .82; }

/* сообщения: BB-коды */
.post_body blockquote.mycode_quote, .zn-post__body blockquote.mycode_quote { margin: 8px 0 12px; padding: 10px 14px; border-radius: 1px; background: rgba(196, 179, 140, .22); border-left: 3px solid var(--brass-1); font-size: .95em; color: var(--ink-2); }
blockquote.mycode_quote cite { display: block; margin: 0 0 4px; font: 500 12px var(--f-t); font-style: normal; color: var(--ink-3); letter-spacing: .04em; }
blockquote.mycode_quote cite > span { font-weight: 400; margin-left: 6px; }
.codeblock { margin: 8px 0 12px; border-radius: 2px; background: var(--felt-1); color: var(--txt); overflow: auto; }
.codeblock .title { padding: 6px 12px; font-size: 11px; text-transform: uppercase; letter-spacing: .12em; color: var(--brass-2); border-bottom: 1px solid rgba(201, 162, 86, .2); }
.codeblock code { display: block; padding: 10px 12px; font: 14px/1.5 var(--f-m); white-space: pre; }
.mycode_list, ul.mycode_list, ol.mycode_list { margin: 6px 0 12px; padding-left: 24px; }
.post_body li::marker { color: var(--ox); }
.post_body hr, .mycode_hr { border: 0; height: 1px; background: var(--ivory-3); margin: 14px 0; }
.post_body .mycode_s { text-decoration: line-through; } .post_body .mycode_u { text-decoration: underline; }
.post_body img.mycode_img { border-radius: 2px; box-shadow: 0 0 0 4px #fff, 0 0 0 5px var(--ivory-3); margin: 6px 0; }
.video_embed iframe, .post_body iframe { max-width: 100%; border: 0; border-radius: 2px; }
.signature { margin: 4px 22px 0; padding: 8px 0 0; border-top: 1px dotted var(--ivory-3); font-size: 13px; color: var(--ink-3); }
.post_meta { padding: 0 22px; font-size: 12px; color: var(--ink-3); }
.post_meta:empty, .post_meta:not(:has(*:not(:empty))) { display: none; }
.postbit_buttons { display: flex; flex-wrap: wrap; gap: 6px; }
.postbit_buttons > a, .postbit_buttons a { display: inline-flex; align-items: center; height: 26px; padding: 0 10px; border-radius: 13px; font-size: 12px; color: var(--ink-2); box-shadow: inset 0 0 0 1px var(--ivory-3); background: none; }
.postbit_buttons a:hover { color: var(--ox); box-shadow: inset 0 0 0 1px var(--ox); }
.postbit_buttons a span { background: none !important; padding: 0 !important; }

/* ------------------------------------------------------------ полосы, кнопки, гость */
.zn-bar { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; max-width: 900px; margin: 22px auto 0; }
.zn-page--forum .zn-bar { max-width: none; }
.zn-bar__r { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; }
.zn-guest { max-width: 900px; margin: 26px auto 0; padding: 18px 22px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; border-radius: 2px;
	background: rgba(0, 0, 0, .28); box-shadow: inset 0 0 0 1px rgba(201, 162, 86, .3); color: var(--txt-2); font-size: 14.5px; }
.zn-guest p { margin: 0; }
.zn-tfoot { max-width: 900px; margin: 26px auto 0; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px 24px; font-size: 13px; color: var(--txt-3); }
.zn-tfoot__note { margin: 0; flex: 1 1 360px; }
.zn-nextprev { display: flex; gap: 22px; }
.zn-nextprev a { color: var(--txt-2); }
.zn-nextprev a:hover { color: var(--brass-3); }
.zn-tools { max-width: 900px; margin: 16px auto 0; font-size: 13px; }
.thread_tools { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px 18px; }
.thread_tools li { background: none !important; padding: 0 !important; }
.thread_tools a { color: var(--txt-3); }
.button, input.button, button.button, a.button, input[type="submit"], input[type="button"], button[type="submit"] {
	display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 38px; padding: 0 20px; border: 0; border-radius: 19px; cursor: pointer;
	background: linear-gradient(180deg, var(--brass-3), var(--brass-1)); color: var(--wood-1); font: 600 14px var(--f-t); box-shadow: 0 2px 0 var(--brass-0), 0 6px 12px -6px rgba(0, 0, 0, .7); text-decoration: none; }
.button:hover, input.button:hover, input[type="submit"]:hover, button[type="submit"]:hover, a.button:hover { background: linear-gradient(180deg, var(--brass-4), var(--brass-2)); color: var(--wood-0); }
.button:active, input[type="submit"]:active { transform: translateY(1px); box-shadow: 0 1px 0 var(--brass-0); }
.new_thread_button, .new_reply_button { padding: 0 22px; }
.new_thread_button span, .new_reply_button span { background: none !important; padding: 0 !important; }
.closed_button { background: var(--ivory-2); color: var(--ink-3); box-shadow: none; }
.pagination { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; font-size: 13px; color: var(--txt-3); }
.pagination .pages { margin-right: 6px; }
.pagination a, .pagination .pagination_current { display: inline-grid; place-items: center; min-width: 32px; height: 32px; padding: 0 8px; border-radius: 16px; font: 700 13px var(--f-m); color: var(--txt-2); box-shadow: inset 0 0 0 1px rgba(201, 162, 86, .35); }
.pagination a:hover { color: var(--ivory-0); box-shadow: inset 0 0 0 1px var(--brass-2); }
.pagination .pagination_current { background: var(--brass-2); color: var(--wood-1); box-shadow: none; }

/* ------------------------------------------------------------ профиль: карточка наблюдателя */
.zn-prof { margin: 6px 0 0; }
.zn-pc { position: relative; display: grid; grid-template-columns: 200px minmax(0, 1fr) 180px; gap: 30px; align-items: start; padding: 34px 36px 26px; border-radius: 2px; color: var(--ink);
	background: repeating-linear-gradient(180deg, transparent 0 31px, rgba(75, 99, 121, .12) 31px 32px) 0 120px / 100% calc(100% - 120px) no-repeat, linear-gradient(180deg, var(--ivory-0), var(--ivory-1));
	box-shadow: 0 2px 0 rgba(0, 0, 0, .5), 0 34px 50px -30px #000; }
.zn-pc::after { content: ""; position: absolute; left: 50%; bottom: 12px; width: 16px; height: 16px; margin-left: -8px; border-radius: 50%; background: var(--felt-1); box-shadow: inset 0 1px 3px rgba(0, 0, 0, .9); }
.zn-pc__photo { position: relative; z-index: 1; }
.zn-pc__photo .zn-face { box-shadow: 0 0 0 4px var(--brass-2), 0 0 0 6px var(--brass-0), 0 12px 20px -8px rgba(0, 0, 0, .7); }
.zn-pc .zn-kicker { color: var(--ink-3); } .zn-pc .zn-kicker .zn-mono { color: var(--ox); }
.zn-pc__name { color: var(--ink); margin: 0 0 6px; }
.zn-pc__rank { display: flex; align-items: center; gap: 10px; margin: 0 0 22px; font: 400 18px var(--f-d); color: var(--ink-2); }
.zn-pc__dl { margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 0 26px; }
.zn-pc__dl > div { padding: 6px 0 4px; min-height: 32px; }
.zn-pc__dl dt { font-size: 10.5px; letter-spacing: .16em; text-transform: uppercase; color: var(--ink-3); }
.zn-pc__dl dd { margin: 0; font-size: 15px; }
.zn-pc__nums { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.zn-pc__nums li { display: flex; flex-direction: column; padding: 12px 14px; border-radius: 2px; background: rgba(196, 179, 140, .2); box-shadow: inset 0 0 0 1px var(--ivory-3); }
.zn-pc__nums b { font-size: 30px; line-height: 1; color: var(--ox); }
.zn-pc__nums span { font-size: 12.5px; color: var(--ink-3); margin-top: 4px; }
.zn-pc__links { grid-column: 2 / -1; display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 4px 0 0; font-size: 13px; }
.zn-pc__links a { color: var(--slate); }
.zn-pc .zn-more { color: var(--slate); border-bottom-color: rgba(75, 99, 121, .5); }
.zn-ladder { margin: 30px 0; }
.zn-ladder__l { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; }
.zn-ladder__l li { display: flex; gap: 10px; align-items: center; padding: 10px 12px; border-radius: 2px; background: rgba(0, 0, 0, .25); box-shadow: inset 0 0 0 1px rgba(201, 162, 86, .18); color: var(--txt-3); opacity: .7; }
.zn-ladder__l li span { display: flex; flex-direction: column; line-height: 1.3; }
.zn-ladder__l li b { font: 400 14.5px var(--f-d); color: var(--txt-2); }
.zn-ladder__l li i { font-style: normal; font-size: 11.5px; }
.zn-ladder__l li.is-past { opacity: 1; }
.zn-ladder__l li.is-now { opacity: 1; background: radial-gradient(ellipse at 50% 0, rgba(var(--glow), .2), transparent 70%), var(--felt-3); box-shadow: inset 0 0 0 1px var(--brass-2), 0 0 18px rgba(var(--glow), .15); }
.zn-ladder__l li.is-now b { color: var(--ivory-0); }
.zn-pgrid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 28px; }
.zn-pblock .zn-h2 { margin: 0 0 14px; }
.zn-pvs { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.zn-pv { padding: 12px 16px 10px 20px; border-radius: 1px; background: linear-gradient(180deg, var(--ivory-0), var(--ivory-1)); color: var(--ink); box-shadow: inset 5px 0 0 var(--brass-1), 0 2px 0 rgba(0, 0, 0, .45); }
.zn-pv__t { display: flex; gap: 8px; align-items: baseline; margin: 0 0 6px; font: 400 16px/1.3 var(--f-d); }
.zn-pv__t .zn-mono { color: var(--ox); font-size: 11.5px; flex: 0 0 auto; }
.zn-pv__t a { color: var(--ink); }
.zn-pv__q { margin: 0 0 6px; font-size: 13.5px; line-height: 1.5; } .zn-pv__q a { color: var(--ink-2); }
.zn-pv__d { margin: 0; font-size: 12px; color: var(--ink-3); }
.zn-prof__extra { margin-top: 20px; }

/* ------------------------------------------------------------ портреты, звания, репутация */
.zn-face { display: inline-grid; place-items: center; flex: 0 0 auto; border-radius: 50%; overflow: hidden; vertical-align: middle; font: 500 12px/1 var(--f-t); letter-spacing: .02em; }
.zn-face img { width: 100%; height: 100%; object-fit: cover; display: block; filter: sepia(.12) saturate(.92); }
.zn-face--xs { width: 22px; height: 22px; font-size: 9px; }
.zn-face--s { width: 30px; height: 30px; font-size: 11px; }
.zn-face--m { width: 40px; height: 40px; font-size: 14px; }
.zn-face--l { width: 64px; height: 64px; font-size: 20px; }
.zn-face--xl { width: 150px; height: 150px; font-size: 46px; font-family: var(--f-d); }
.zn-face--img { box-shadow: 0 0 0 1.5px var(--brass-1); }
.zn-face--mono { color: var(--ivory-0); background: var(--tone); box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, .25); }
.zn-rank { display: inline-flex; align-items: center; gap: 5px; font-size: 12px; color: var(--ink-3); }
.zn-badge .cd { fill: none; stroke: var(--ox); stroke-width: 1.2; }
.zn-badge .tg { fill: var(--brass-2); stroke: var(--brass-0); stroke-width: 1; }
.zn-badge .ho { fill: var(--ivory-0); stroke: var(--brass-0); stroke-width: .8; }
.zn-badge .nt { stroke: var(--brass-0); stroke-width: 1.2; stroke-linecap: round; }
.zn-badge .st { fill: var(--ox); }
.zn-badge--1 .tg { fill: #b9a07a; } .zn-badge--2 .tg { fill: #c8a866; } .zn-badge--6 .tg { fill: var(--brass-3); }
.zn-rep { display: inline-flex; align-items: center; gap: 4px; font-size: 12.5px; color: var(--ink-3); }
.zn-rep b { font-weight: 600; color: var(--pat-2); }
.zn-rep--down b { color: var(--ox); }
.zn-seal .r { fill: var(--brass-2); stroke: var(--brass-0); stroke-width: 1; }
.zn-seal .i { fill: none; stroke: rgba(60, 40, 10, .5); stroke-width: .8; stroke-dasharray: 1.2 1; }
.zn-seal .c { fill: none; stroke: #3b2a10; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }

/* ------------------------------------------------------------ сообщения об ошибке и переходе */
.zn-msg { display: grid; grid-template-columns: 260px minmax(0, 1fr); max-width: 980px; margin: 30px auto; border-radius: 4px; overflow: hidden; box-shadow: 0 0 0 3px var(--wood-2), 0 30px 50px -26px #000; }
.zn-msg__case { display: grid; place-items: center; min-height: 260px; background: radial-gradient(ellipse 60% 70% at 50% -5%, rgba(var(--glow), .32), transparent 70%), linear-gradient(180deg, var(--felt-3), var(--felt-1)); }
.zn-msg__q { font: 400 110px/1 var(--f-d); color: rgba(230, 200, 134, .28); text-shadow: 0 0 30px rgba(var(--glow), .2); }
.zn-msg__label { padding: 30px 34px; color: var(--ink); background: linear-gradient(180deg, var(--ivory-0), var(--ivory-1)); }
.zn-msg__label .zn-kicker { color: var(--ox); }
.zn-msg__t { color: var(--ink); }
.zn-msg__body { font-size: 15px; color: var(--ink-2); }
.zn-msg__body a { color: var(--ox); }
.zn-msg__body ol, .zn-msg__body ul { padding-left: 20px; }
.zn-msg__foot .zn-more { color: var(--slate); border-bottom-color: var(--slate); }
.zn-page--redirect { display: grid; place-items: center; padding: 20px; }

/* ------------------------------------------------------------ подвал, док и картотека на телефоне */
.zn-foot { margin-top: 40px; background: linear-gradient(180deg, var(--wood-2), var(--wood-0)); border-top: 3px solid var(--wood-0); box-shadow: inset 0 1px 0 rgba(255, 220, 170, .12); }
.zn-foot__in { max-width: var(--wrap); margin: 0 auto; padding: 28px 24px 30px; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 16px 40px; }
.zn-foot__plate { padding: 14px 18px; border-radius: 2px; background: linear-gradient(180deg, var(--ivory-0), var(--ivory-1)); color: var(--ink); box-shadow: 0 0 0 3px var(--brass-1), 0 0 0 4px var(--brass-0); }
.zn-foot__brand { margin: 0; display: flex; flex-direction: column; gap: 4px; font-size: 13.5px; color: var(--ink-2); }
.zn-foot__brand b { font: 400 20px var(--f-d); color: var(--ink); }
.zn-foot__links { display: flex; flex-wrap: wrap; align-content: flex-start; gap: 8px 20px; font-size: 14px; }
.zn-foot__links a { color: var(--brass-3); }
.zn-foot__note { grid-column: 1 / -1; margin: 0; font-size: 12.5px; color: var(--txt-3); max-width: 860px; }
.zn-dock { display: none; }
.zn-sheet { position: fixed; inset: 0; z-index: 90; }
.zn-sheet__back { position: absolute; inset: 0; background: rgba(4, 9, 7, .7); animation: zn-fade .25s ease both; }
@keyframes zn-fade { from { opacity: 0; } to { opacity: 1; } }
.zn-sheet__panel { position: absolute; left: 0; right: 0; bottom: 0; max-height: 84vh; overflow: auto; padding: 0 16px 24px; border-radius: 8px 8px 0 0;
	background: radial-gradient(ellipse 80% 30% at 50% 0, rgba(var(--glow), .14), transparent 70%), var(--felt-2); box-shadow: 0 -4px 0 var(--wood-3), 0 -30px 50px rgba(0, 0, 0, .7); animation: zn-up .32s cubic-bezier(.3, .7, .3, 1) both; }
@keyframes zn-up { from { transform: translateY(100%); } to { transform: none; } }
.zn-sheet__head { position: sticky; top: 0; z-index: 1; display: flex; align-items: center; justify-content: space-between; padding: 16px 0 10px; background: var(--felt-2); }
.zn-sheet__head h2 { margin: 0; font: 400 21px var(--f-d); color: var(--ivory-0); }
.zn-sheet__pull { position: absolute; top: 6px; left: 50%; width: 44px; height: 4px; margin-left: -22px; border-radius: 2px; background: rgba(230, 200, 134, .4); }
.zn-sheet__x { height: 32px; padding: 0 12px; border-radius: 16px; border: 1px solid rgba(201, 162, 86, .4); background: none; color: var(--txt-2); font-size: 13px; }
.zn-sh__home { display: block; margin: 0 0 12px; padding: 10px 14px; border-radius: 2px; background: rgba(0, 0, 0, .25); color: var(--brass-3); font-size: 14px; box-shadow: inset 0 0 0 1px rgba(201, 162, 86, .25); }
.zn-sh__g { margin: 0 0 14px; }
.zn-sh__h { margin: 0 0 8px; font: 500 10.5px var(--f-t); letter-spacing: .16em; text-transform: uppercase; color: var(--brass-2); }
.zn-sh__l { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.zn-sh__i { display: flex; align-items: center; gap: 10px; padding: 9px 10px; border-radius: 2px; background: linear-gradient(180deg, var(--ivory-0), var(--ivory-1)); color: var(--ink); min-height: 54px; }
.zn-sh__i span { display: flex; flex-direction: column; line-height: 1.25; min-width: 0; }
.zn-sh__i b { font: 400 14.5px var(--f-d); }
.zn-sh__i i { font-style: normal; font-size: 11px; color: var(--ox); }
.zn-sh__i .zn-ex .s { stroke: var(--brass-0); } .zn-sh__i .zn-ex .f { fill: var(--ivory-2); } .zn-sh__i .zn-ex .d { fill: #3a3328; }
.zn-sh__i.is-on { box-shadow: 0 0 0 2px var(--brass-2); }

/* ------------------------------------------------------------ стандартные страницы MyBB: таблицы, формы, окна */
.tborder { width: 100%; margin: 0 0 18px; border-collapse: separate; border-spacing: 0; border-radius: 3px; overflow: hidden; background: var(--ivory-0); color: var(--ink); box-shadow: 0 2px 0 rgba(0, 0, 0, .45), 0 18px 26px -20px #000; }
.tborder td, .tborder th { padding: 10px 14px; border-bottom: 1px solid var(--ivory-2); font-size: 14px; vertical-align: top; text-align: left; }
.thead { background: linear-gradient(180deg, var(--wood-3), var(--wood-2)); color: var(--ivory-0); }
.thead, .thead td, .thead th { font: 400 17px var(--f-d); color: var(--ivory-0); border-bottom: 2px solid var(--brass-1); }
.thead a, .thead strong { color: var(--ivory-0); }
.thead .expcolimage { float: right; }
.tcat { background: var(--ivory-2); color: var(--ink-2); font-size: 12px; text-transform: uppercase; letter-spacing: .08em; }
.tcat a { color: var(--ink-2); }
.trow1, .trow2 { background: var(--ivory-0); }
.trow2 { background: #f1e9d4; }
.trow_shaded { background: #f6dfd2; }
.trow_selected td, .trow_selected { background: #f1e3bf; }
.tfoot { background: var(--ivory-1); color: var(--ink-3); }
.tborder a, .trow1 a, .trow2 a, .tfoot a { color: var(--slate); }
.smalltext { font-size: 12.5px; color: var(--ink-3); }
.largetext { font: 400 18px var(--f-d); }
.float_left { float: left; } .float_right { float: right; }
input.textbox, textarea, select, input[type="text"], input[type="password"], input[type="email"], input[type="number"], input[type="url"] {
	max-width: 100%; padding: 8px 11px; border-radius: 2px; border: 1px solid var(--ivory-3); background: #fffdf6; color: var(--ink); font: 400 15px var(--f-t); box-shadow: inset 0 1px 2px rgba(0, 0, 0, .12); }
textarea { width: 100%; line-height: 1.55; }
input.textbox:focus, textarea:focus, select:focus, input[type="text"]:focus, input[type="password"]:focus { outline: none; border-color: var(--brass-1); box-shadow: 0 0 0 3px rgba(201, 162, 86, .3); }
.zn-me__panel input.textbox { width: 100%; }
fieldset { border: 1px solid var(--ivory-3); border-radius: 2px; padding: 12px 14px; margin: 0 0 14px; }
legend { padding: 0 6px; font: 400 16px var(--f-d); color: var(--ink); }
.popup_menu { background: var(--ivory-0); border-radius: 3px; box-shadow: 0 16px 30px -10px rgba(0, 0, 0, .8), 0 0 0 1px var(--ivory-3); padding: 4px 0; z-index: 70; }
.popup_menu .popup_item { display: block; padding: 7px 14px; color: var(--ink); font-size: 13.5px; }
.popup_menu .popup_item:hover { background: var(--ivory-1); color: var(--ox); }
.blocker { background: rgba(4, 9, 7, .72) !important; }
.modal { background: var(--ivory-0); color: var(--ink); border-radius: 4px; padding: 0; box-shadow: 0 30px 60px -20px #000, 0 0 0 3px var(--wood-3); max-width: 92vw; }
.modal .tborder { box-shadow: none; margin: 0; }
.error, div.error { padding: 12px 16px; margin: 0 0 16px; border-radius: 2px; background: #f7e1d8; color: var(--ox); box-shadow: inset 4px 0 0 var(--ox); }
.error p, .error ul { margin: 4px 0; }
.red_alert, .pm_alert { padding: 10px 16px; margin: 0 0 14px; border-radius: 2px; background: rgba(169, 68, 58, .2); color: var(--ivory-0); box-shadow: inset 0 0 0 1px rgba(169, 68, 58, .5); }
.pm_alert a, .red_alert a { color: var(--brass-3); }
.usercp_nav_item, .modcp_nav_item { display: block; padding: 4px 0 4px 6px; background-image: none !important; }
.sceditor-container { border-radius: 2px !important; border: 1px solid var(--ivory-3) !important; }
.ignored_post, .deleted_post_hidden { padding: 10px 16px; border-radius: 2px; background: rgba(0, 0, 0, .3); color: var(--txt-3); font-size: 13px; }
.scaleimages img { max-width: 100%; }
#quick_reply_form { max-width: 900px; margin: 22px auto 0; }
.zn-modtools { margin-top: 14px; }
.zn-main > table.tborder, .zn-main > form > table.tborder { margin-top: 10px; }

/* ------------------------------------------------------------ адаптив */
@media (max-width: 1180px) {
	.zn-cab__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.zn-cell--loupe { grid-column: 1 / -1; grid-row: auto; }
	.zn-accs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.zn-dept__l { display: none; }
	.zn-index__in { gap: 8px; }
	.zn-drw__card { font-size: 11px; padding: 1px 3px; }
	.zn-ladder__l { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.zn-pc { grid-template-columns: 170px minmax(0, 1fr); }
	.zn-pc__nums { grid-column: 2; grid-template-columns: 1fr 1fr; }
	.zn-pc__photo .zn-face--xl { width: 140px; height: 140px; }
}
@media (max-width: 960px) {
	body { padding-bottom: 74px; }
	.zn-index { display: none; }
	.zn-dock { position: fixed; left: 12px; right: 12px; bottom: 10px; z-index: 80; display: flex; align-items: center; gap: 12px; height: 54px; padding: 0 18px 6px; border: 0; border-radius: 4px; text-align: left;
		background: repeating-linear-gradient(90deg, rgba(0, 0, 0, 0) 0 13px, rgba(0, 0, 0, .08) 13px 14px), linear-gradient(180deg, var(--wood-4), var(--wood-2)); color: var(--ivory-0);
		box-shadow: inset 0 1px 0 rgba(255, 220, 170, .2), 0 10px 26px rgba(0, 0, 0, .7), 0 0 0 1px var(--wood-0); }
	.zn-dock__pull { position: absolute; bottom: 5px; left: 50%; width: 46px; height: 6px; margin-left: -23px; border-radius: 0 0 12px 12px; background: linear-gradient(180deg, var(--brass-3), var(--brass-0)); }
	.zn-dock__l { font: 500 11px var(--f-t); letter-spacing: .16em; text-transform: uppercase; color: var(--brass-3); }
	.zn-dock__c { flex: 1 1 auto; min-width: 0; padding: 3px 10px; border-radius: 1px; background: linear-gradient(180deg, var(--ivory-0), var(--ivory-2)); color: var(--ink); font: 400 15px var(--f-d); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; box-shadow: 0 0 0 1.5px var(--brass-1); }
	.zn-hall { grid-template-columns: 1fr; gap: 22px; padding-top: 22px; }
	.zn-hall__rules li:nth-child(n) { margin-left: 0; }
	.zn-row { grid-template-columns: 1fr; }
	.zn-vit { grid-template-columns: 1fr; }
	.zn-vit__case { min-height: 280px; padding: 30px 20px 70px; }
	.zn-vit__ex { width: 170px; height: 170px; }
	.zn-dhead__in { grid-template-columns: 1fr; gap: 14px; }
	.zn-pgrid { grid-template-columns: 1fr; }
	.zn-foot__in { grid-template-columns: 1fr; }
	.zn-msg { grid-template-columns: 1fr; }
	.zn-msg__case { min-height: 150px; }
}
@media (max-width: 720px) {
	.zn-top__in { flex-wrap: wrap; gap: 12px; padding: 12px 16px; }
	.zn-logo__name { font-size: 21px; }
	.zn-logo__mark { width: 40px; height: 40px; }
	.zn-find { order: 3; flex: 1 1 100%; max-width: none; margin: 0; }
	.zn-me { margin-left: auto; }
	.zn-main, .zn-crumbs-row { padding-left: 16px; padding-right: 16px; }
	.zn-cab { padding: 0 8px; margin-left: -6px; margin-right: -6px; }
	.zn-cab__h { font-size: 13px; letter-spacing: .1em; padding: 5px 14px 4px; }
	.zn-cab__crest { gap: 10px; padding: 12px 0 10px; }
	.zn-cab__plinth { margin: 0 -8px; }
	.zn-cab__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 8px; gap: 8px; grid-auto-rows: minmax(190px, auto); }
	.zn-cell--t { grid-row: auto; }
	.zn-cell--t .zn-cell__ex { width: 96px; height: 96px; }
	.zn-cell--t .zn-cell__d, .zn-cell--w .zn-cell__d { display: none; }
	.zn-cell__label { margin: 0 6px 6px; padding: 8px 9px; }
	.zn-cell__t { font-size: 15.5px; }
	.zn-cell__k { font-size: 9px; }
	.zn-cell--loupe { padding: 10px 8px 10px; }
	.zn-lp__head { flex-direction: column; gap: 10px; }
	.zn-lp__h { font-size: 21px; }
	.zn-lp__foot { grid-template-columns: 1fr; }
	.zn-lp__svg { cursor: default; }
	.zn-accs, .zn-accs--col { grid-template-columns: 1fr; }
	.zn-hall__h { font-size: 42px; }
	.zn-hall__lead { font-size: 16px; }
	.zn-vit__label { padding: 22px 20px 18px; }
	.zn-expl { grid-template-columns: 1fr; }
	.zn-post__head, .zn-post__body, .zn-post__ctl { padding-left: 16px; padding-right: 16px; }
	.zn-sig { margin-left: 16px; margin-right: 16px; }
	.zn-post--ver .zn-post__head, .zn-post--ver .zn-post__body, .zn-post--ver .zn-post__ctl { padding-left: 22px; }
	.zn-post--ver .zn-sig { margin-left: 22px; }
	.zn-post--op { margin-left: 16px; }
	.zn-post--op::before { display: none; }
	.zn-post--itog .zn-post__head, .zn-post--itog .zn-post__body, .zn-post--itog .zn-post__ctl { padding-left: 24px; padding-right: 16px; }
	.zn-post--itog .zn-sig { margin-left: 24px; }
	.zn-post--itog .zn-post__head { padding-right: 84px; }
	.zn-post--itog::after { width: 58px; height: 58px; font-size: 12px; right: 12px; top: 10px; }
	.zn-post--rec .zn-post__body { font-size: 16px; }
	.zn-dhead__front { padding: 12px 14px 18px; gap: 12px; }
	.zn-dhead__screw { display: none; }
	.zn-dhead__pull { display: none; }
	.zn-dhead__holder { padding: 8px 14px; }
	.zn-dhead__in { padding: 18px 16px; }
	.zn-dhead__ex { width: 110px; height: 110px; }
	.zn-pc { grid-template-columns: 1fr; padding: 24px 18px 30px; gap: 16px; }
	.zn-pc::before { display: none; }
	.zn-pc__nums, .zn-pc__links { grid-column: auto; }
	.zn-pc__dl { grid-template-columns: 1fr; }
	.zn-ladder__l { grid-template-columns: 1fr 1fr; }
	.zn-check { padding: 18px 16px 14px; }
	.zn-check::before { display: none; }
	.zn-check__head { flex-direction: column; }
	.zn-meter { align-items: flex-start; }
	.zn-ck summary { grid-template-columns: 30px 1fr 16px; }
	.zn-ck summary i { grid-column: 2; }
	.zn-ck summary::after { grid-row: 1; grid-column: 3; }
	.zn-ck p { margin-left: 0; }
	.tborder td, .tborder th { padding: 8px 10px; }
}
@media (max-width: 400px) {
	.zn-logo__sub { display: none; }
	.zn-me__b span { display: none; }
	.zn-me__b { padding: 0 10px 0 6px; }
	.zn-lp__pts { grid-template-columns: 1fr; }
	.zn-sh__l { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation: none !important; transition: none !important; }
}

/* ссылки в сообщениях: свой стиль форума — «патина на латунной планке»:
   под словом узкая латунная планка 2px с пятнами зелёной патины разного размера (SVG data-URI, шаг 22px),
   без подчёркивания и значка; при наведении планку «начищают»: патина исчезает, латунь блестит, текст сургучный. */
:is(.post_body, .signature, [class*="-post__body"], [class*="-post__sign"]) a.mycode_url {
	color: #1d5642; font-weight: 600; text-decoration: none; padding-bottom: 4px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='5' viewBox='0 0 22 5'%3E%3Crect y='1.5' width='22' height='2' fill='%23a8823e'/%3E%3Cellipse cx='3.2' cy='2.6' rx='1.7' ry='1.1' fill='%234f9a83'/%3E%3Cellipse cx='9.6' cy='1.9' rx='1' ry='.8' fill='%232c6b58'/%3E%3Cellipse cx='14.4' cy='2.7' rx='2.2' ry='1.2' fill='%235fa58d' fill-opacity='.85'/%3E%3Cellipse cx='19.6' cy='2' rx='.9' ry='.7' fill='%234f9a83'/%3E%3Ccircle cx='12' cy='3.3' r='.5' fill='%232c6b58'/%3E%3C/svg%3E") repeat-x left bottom / 22px 5px;
	-webkit-box-decoration-break: clone; box-decoration-break: clone; transition: color .2s ease; }
:is(.post_body, .signature, [class*="-post__body"], [class*="-post__sign"]) a.mycode_url:hover {
	color: var(--ox);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='5' viewBox='0 0 22 5'%3E%3Crect y='1.2' width='22' height='2.6' fill='%23d4ad62'/%3E%3Crect y='1.4' width='22' height='.7' fill='%23f6e3b4'/%3E%3C/svg%3E"); }
:is(.post_body, .signature, [class*="-post__body"], [class*="-post__sign"]) a.mycode_url:focus-visible { outline: 2px solid var(--brass-1); outline-offset: 2px; }
:is(.post_body, .signature, [class*="-post__body"], [class*="-post__sign"]) a.mycode_url::after { content: none; }
