/* NMTC Lab — тема «Штатив».
   Тёплый лабораторный пластик, графитовый штатив и пробирки с цветными крышками: цвет крышки — раздел.
   Главная — доска-штатив из четырёх гнёзд-этапов «Сдал → Жду бланк → Получил бланк → Обсудил с врачом»
   и «Переводчик бланка»; тема — шапка-бланк и сообщения-стикеры на поле бланка; навигация — вкладки полок.
   Шрифты: M PLUS Rounded 1c (заголовки, знак), Nunito Sans (текст), Roboto Mono (графы бланка, коды) — все OFL. */

@font-face { font-family: "M PLUS Rounded 1c"; src: url("fonts/m-plus-rounded-1c-cyrillic-500-normal.woff2") format("woff2"); font-weight: 500; font-display: swap; unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "M PLUS Rounded 1c"; src: url("fonts/m-plus-rounded-1c-latin-500-normal.woff2") format("woff2"); font-weight: 500; font-display: swap; unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+2000-206F, U+2212, U+FEFF, U+FFFD; }
@font-face { font-family: "M PLUS Rounded 1c"; src: url("fonts/m-plus-rounded-1c-cyrillic-800-normal.woff2") format("woff2"); font-weight: 800; font-display: swap; unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "M PLUS Rounded 1c"; src: url("fonts/m-plus-rounded-1c-latin-800-normal.woff2") format("woff2"); font-weight: 800; font-display: swap; unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+2000-206F, U+2212, U+FEFF, U+FFFD; }
@font-face { font-family: "Nunito Sans"; src: url("fonts/nunito-sans-cyrillic-400-normal.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "Nunito Sans"; src: url("fonts/nunito-sans-latin-400-normal.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+2000-206F, U+2212, U+FEFF, U+FFFD; }
@font-face { font-family: "Nunito Sans"; src: url("fonts/nunito-sans-cyrillic-400-italic.woff2") format("woff2"); font-weight: 400; font-style: italic; font-display: swap; unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "Nunito Sans"; src: url("fonts/nunito-sans-latin-400-italic.woff2") format("woff2"); font-weight: 400; font-style: italic; font-display: swap; unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+2000-206F, U+2212, U+FEFF, U+FFFD; }
@font-face { font-family: "Nunito Sans"; src: url("fonts/nunito-sans-cyrillic-600-normal.woff2") format("woff2"); font-weight: 600; font-style: normal; font-display: swap; unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "Nunito Sans"; src: url("fonts/nunito-sans-latin-600-normal.woff2") format("woff2"); font-weight: 600; font-style: normal; font-display: swap; unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+2000-206F, U+2212, U+FEFF, U+FFFD; }
@font-face { font-family: "Nunito Sans"; src: url("fonts/nunito-sans-cyrillic-700-normal.woff2") format("woff2"); font-weight: 700; font-style: normal; font-display: swap; unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "Nunito Sans"; src: url("fonts/nunito-sans-latin-700-normal.woff2") format("woff2"); font-weight: 700; font-style: normal; font-display: swap; unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+2000-206F, U+2212, U+FEFF, U+FFFD; }
@font-face { font-family: "Roboto Mono"; src: url("fonts/roboto-mono-cyrillic-400-normal.woff2") format("woff2"); font-weight: 400; font-display: swap; unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "Roboto Mono"; src: url("fonts/roboto-mono-latin-400-normal.woff2") format("woff2"); font-weight: 400; font-display: swap; unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+2000-206F, U+2212, U+FEFF, U+FFFD; }
@font-face { font-family: "Roboto Mono"; src: url("fonts/roboto-mono-cyrillic-500-normal.woff2") format("woff2"); font-weight: 500; font-display: swap; unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "Roboto Mono"; src: url("fonts/roboto-mono-latin-500-normal.woff2") format("woff2"); font-weight: 500; font-display: swap; unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+2000-206F, U+2212, U+FEFF, U+FFFD; }

:root {
	--tb-bg: #efe8da;
	--tb-bg2: #e5dccb;
	--tb-bg3: #d9cfbb;
	--tb-paper: #fffdf8;
	--tb-paper2: #f8f4ea;
	--tb-ink: #23272d;
	--tb-ink2: #464b53;
	--tb-mute: #6d685e;
	--tb-dim: #938d80;
	--tb-line: rgba(35, 39, 45, .11);
	--tb-line2: rgba(35, 39, 45, .22);
	--tb-rack: #2b3036;
	--tb-rack2: #3b414a;
	--tb-act: #5a3fae;
	--tb-act2: #432e8a;
	--tb-act-soft: rgba(90, 63, 174, .1);
	--tb-red: #d64b3c;
	--tb-ok: #2f8a58;
	--tb-head: "M PLUS Rounded 1c", "Nunito Sans", system-ui, sans-serif;
	--tb-text: "Nunito Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
	--tb-mono: "Roboto Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;
	--tb-w: 1360px;
	--tb-r: 14px;
	--cap: #8b939c; --cap-l: #e6e9ec; --cap-d: #5f666e;
}
/* крышки пробирок: цвет раздела */
.tb-c--lilac { --cap: #7b5cc4; --cap-l: #ebe3fb; --cap-d: #4f3592; }
.tb-c--yellow { --cap: #e7b416; --cap-l: #fbf0c6; --cap-d: #8a6a00; }
.tb-c--blue { --cap: #3f8fd0; --cap-l: #dceaf8; --cap-d: #1f5d92; }
.tb-c--grey { --cap: #8b939c; --cap-l: #e7eaed; --cap-d: #4f565e; }
.tb-c--red { --cap: #d64b3c; --cap-l: #f9dcd7; --cap-d: #9b2b20; }
.tb-c--orange { --cap: #ec8a2c; --cap-l: #fde4cc; --cap-d: #9c5310; }
.tb-c--amber { --cap: #c48a1e; --cap-l: #f5e5c4; --cap-d: #7d560c; }
.tb-c--olive { --cap: #7d8a3a; --cap-l: #e8ecd2; --cap-d: #4e5a1c; }
.tb-c--green { --cap: #3b9a63; --cap-l: #d7efdf; --cap-d: #1f6a3f; }
.tb-c--teal { --cap: #21958f; --cap-l: #d3efed; --cap-d: #0f6661; }
.tb-c--graphite { --cap: #4a5058; --cap-l: #e2e3e5; --cap-d: #2b3036; }
.tb-c--indigo { --cap: #4255b8; --cap-l: #dfe3f7; --cap-d: #2b3a8c; }
.tb-c--pink { --cap: #e06f95; --cap-l: #fadde7; --cap-d: #a33a60; }
.tb-c--petrol { --cap: #23697f; --cap-l: #d5e7ed; --cap-d: #134759; }
.tb-c--cream { --cap: #d4c197; --cap-l: #f4eddb; --cap-d: #7a6838; }
.tb-c--white { --cap: #ece8de; --cap-l: #faf8f3; --cap-d: #6d685e; }

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
	margin: 0; min-width: 320px; color: var(--tb-ink); font: 400 16.5px/1.6 var(--tb-text);
	background-color: var(--tb-bg);
	/* пластик лотка: мелкий литьевой рельеф и мягкий свет сверху */
	background-image:
		radial-gradient(120% 60% at 50% -10%, rgba(255, 255, 255, .55), transparent 60%),
		radial-gradient(rgba(35, 39, 45, .05) 1px, transparent 1.2px);
	background-size: auto, 14px 14px;
	background-attachment: fixed, scroll;
}
a { color: var(--tb-act); text-decoration: none; }
a:hover { color: var(--tb-act2); }
img { max-width: 100%; }
button { font: inherit; }
:focus-visible { outline: 3px solid rgba(90, 63, 174, .45); outline-offset: 2px; border-radius: 4px; }
[hidden] { display: none !important; }
.tb-skip { position: absolute; left: -999px; top: 8px; z-index: 100; background: var(--tb-rack); color: #fff; padding: 8px 14px; border-radius: 8px; }
.tb-skip:focus { left: 12px; }
.tb-h1 { margin: 0; font: 800 clamp(26px, 3vw, 38px)/1.15 var(--tb-head); letter-spacing: -.01em; color: var(--tb-ink); }
.tb-h2 { margin: 0; font: 800 clamp(20px, 2vw, 25px)/1.2 var(--tb-head); color: var(--tb-ink); }
.tb-h3 { margin: 0 0 10px; font: 800 17px/1.3 var(--tb-head); color: var(--tb-ink); }
.tb-kicker { margin: 0 0 8px; font: 500 11.5px/1.3 var(--tb-mono); letter-spacing: .14em; text-transform: uppercase; color: var(--tb-mute); }
.tb-more { font: 600 14px/1.3 var(--tb-text); color: var(--tb-act); border-bottom: 1.5px solid rgba(90, 63, 174, .3); }
.tb-more:hover { border-bottom-color: currentColor; }
.tb-empty { list-style: none; padding: 14px 16px; color: var(--tb-mute); font-size: 14.5px; border: 1.5px dashed var(--tb-line2); border-radius: 12px; background: rgba(255, 255, 255, .35); }

/* ------------------------------------------------------------------ шапка: белый пластик лотка, вкладки полок */
.tb-top { position: relative; z-index: 20; background: var(--tb-paper); box-shadow: 0 1px 0 var(--tb-line2), 0 10px 26px -20px rgba(35, 39, 45, .5); }
.tb-top__in { max-width: var(--tb-w); margin: 0 auto; padding: 14px 24px 10px; display: flex; align-items: center; gap: 22px; }
.tb-logo { display: inline-flex; align-items: center; gap: 12px; color: var(--tb-ink); flex: none; }
.tb-logo:hover { color: var(--tb-ink); }
.tb-logo__mark { flex: none; transition: transform .3s; }
.tb-logo:hover .tb-logo__mark { transform: rotate(-4deg) translateY(-1px); }
.tb-logo__txt { display: grid; line-height: 1; }
.tb-logo__name { font: 800 27px/1 var(--tb-head); letter-spacing: -.01em; }
.tb-logo__name b { font-weight: 800; color: var(--tb-act); margin-left: 4px; }
.tb-logo__sub { margin-top: 5px; font: 500 11px/1 var(--tb-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--tb-mute); }
.tb-find { flex: 1; max-width: 520px; margin-left: auto; position: relative; display: flex; align-items: center; }
.tb-find__l { position: absolute; left: -9999px; }
.tb-find input.textbox { width: 100%; height: 44px; padding: 0 48px 0 18px; border-radius: 999px; border: 1.5px solid var(--tb-line2); background: var(--tb-paper2); font: 400 15px/1 var(--tb-text); }
.tb-find input.textbox:focus { background: #fff; }
.tb-find__b { position: absolute; right: 5px; top: 5px; width: 34px; height: 34px; border: 0; border-radius: 50%; background: var(--tb-rack); color: #fff; display: grid; place-items: center; cursor: pointer; }
.tb-find__b:hover { background: var(--tb-act); }
.tb-me { position: relative; flex: none; }
.tb-me__b { display: inline-flex; align-items: center; gap: 8px; height: 44px; padding: 0 16px 0 7px; border-radius: 999px; border: 1.5px solid var(--tb-line2); background: #fff; color: var(--tb-ink); font: 700 14.5px/1 var(--tb-text); cursor: pointer; }
.tb-me__b > svg { margin-left: 6px; }
.tb-me__b:hover { border-color: var(--tb-act); color: var(--tb-act); }
.tb-me__panel { position: absolute; right: 0; top: calc(100% + 10px); width: 300px; padding: 18px; background: var(--tb-paper); border: 1px solid var(--tb-line2); border-radius: 16px; box-shadow: 0 24px 40px -18px rgba(35, 39, 45, .45); z-index: 40; }

.tb-tabs { max-width: var(--tb-w); margin: 0 auto; padding: 4px 24px 0; }
.tb-tabs__row { display: flex; gap: 4px; overflow-x: auto; scrollbar-width: none; margin-bottom: -1px; }
.tb-tabs__row::-webkit-scrollbar { display: none; }
.tb-tab { position: relative; flex: none; display: inline-flex; align-items: center; gap: 9px; padding: 10px 16px 11px; border-radius: 14px 14px 0 0; color: var(--tb-ink2); font: 800 14.5px/1 var(--tb-head); border: 1px solid transparent; border-bottom: 0; transition: background .2s, color .2s; }
.tb-tab:hover { color: var(--tb-ink); background: var(--tb-bg); }
.tb-tab.is-on { background: var(--tb-bg); color: var(--tb-ink); border-color: var(--tb-line2); }
.tb-tab.is-on::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: var(--tb-bg); }
.tb-tab__dots { display: inline-flex; gap: 2px; }
.tb-tab__dots i { width: 7px; height: 10px; border-radius: 2px 2px 1px 1px; background: var(--cap); box-shadow: inset 0 -2px rgba(0, 0, 0, .16); }
.tb-tabs__secs { position: relative; }
.tb-secs { list-style: none; margin: 0 -24px; padding: 10px 24px 12px; display: flex; flex-wrap: wrap; gap: 6px 6px; background: var(--tb-bg); border-top: 1px solid var(--tb-line2);  box-shadow: 0 0 0 100vmax var(--tb-bg); clip-path: inset(0 -100vmax); }
.tb-secs li { display: contents; }
.tb-sec { display: inline-flex; align-items: center; gap: 7px; padding: 5px 11px 5px 7px; border-radius: 999px; background: rgba(255, 255, 255, .6); border: 1px solid var(--tb-line); color: var(--tb-ink2); font: 600 13.5px/1.2 var(--tb-text); transition: background .15s, border-color .15s; }
.tb-sec b { font: 500 11.5px/1 var(--tb-mono); color: var(--tb-dim); }
.tb-sec:hover { background: var(--cap-l); border-color: var(--cap); color: var(--tb-ink); }
.tb-sec.is-on { background: var(--cap-l); border-color: var(--cap); color: var(--tb-ink); box-shadow: inset 0 0 0 1px var(--cap); }
.tb-secs__all a { white-space: nowrap; display: inline-flex; align-items: center; padding: 5px 4px; font: 600 13px/1.2 var(--tb-text); color: var(--tb-act); }
.tb-capdot { display: inline-block; flex: none; width: 14px; height: 16px; border-radius: 4px 4px 2px 2px; vertical-align: -3px;
	background: repeating-linear-gradient(90deg, rgba(0, 0, 0, .13) 0 1px, transparent 1px 3px), var(--cap);
	box-shadow: inset 0 -4px rgba(0, 0, 0, .16), inset 0 1px rgba(255, 255, 255, .45); }
.tb-c--white .tb-capdot, .tb-capdot.tb-c--white { box-shadow: inset 0 -4px rgba(0, 0, 0, .1), 0 0 0 1px var(--tb-line2); }
.tb-capdot--l { width: 18px; height: 22px; }

.tb-crumbs-row { max-width: var(--tb-w); margin: 0 auto; padding: 14px 24px 0; }
.tb-crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; font: 400 12.5px/1.4 var(--tb-mono); color: var(--tb-mute); }
.tb-crumbs a { color: var(--tb-ink2); }
.tb-crumbs a:hover { color: var(--tb-act); }
.tb-crumbs__sep { color: var(--tb-dim); }
.tb-crumbs .active { color: var(--tb-ink); max-width: 60ch; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tb-page--index .tb-crumbs-row { display: none; }
.tb-main { max-width: var(--tb-w); margin: 0 auto; padding: 18px 24px 40px; }

/* ------------------------------------------------------------------ общее: этапы, лица, звания, спасибо */
.tb-stage { display: inline-flex; align-items: center; gap: 6px; padding: 3px 10px 3px 8px; border-radius: 999px; font: 600 12.5px/1.2 var(--tb-text); white-space: nowrap; background: #fff; border: 1px solid var(--tb-line2); color: var(--tb-ink2); }
.tb-stage::before { content: ""; width: 8px; height: 8px; border-radius: 50%; border: 2px solid currentColor; flex: none; }
.tb-stage--sdal { color: #6b5b2e; background: #f6efdc; border-color: #e1d3ad; }
.tb-stage--zhdu { color: #8c5a00; background: #fdf0d0; border-color: #edd193; }
.tb-stage--zhdu::before { border-style: dotted; }
.tb-stage--poluchil { color: #3e3196; background: #ebe6fb; border-color: #cec3f1; }
.tb-stage--poluchil::before { background: currentColor; opacity: .5; }
.tb-stage--obsudil { color: #1d6b40; background: #dff2e6; border-color: #b4dec3; }
.tb-stage--obsudil::before { background: currentColor; }
.tb-stage--none { color: var(--tb-dim); background: transparent; border-style: dashed; }
.tb-face { display: inline-grid; place-items: center; flex: none; border-radius: 50%; overflow: hidden; background: var(--cap-l); color: var(--cap-d); font: 800 15px/1 var(--tb-head); box-shadow: 0 0 0 2px var(--tb-paper), 0 0 0 4px var(--cap); }
.tb-face img { width: 100%; height: 100%; object-fit: cover; display: block; }
.tb-face--xs { width: 22px; height: 22px; font-size: 9.5px; box-shadow: 0 0 0 1.5px var(--cap); }
.tb-face--s { width: 30px; height: 30px; font-size: 11.5px; box-shadow: 0 0 0 2px var(--cap); }
.tb-face--m { width: 42px; height: 42px; font-size: 15px; }
.tb-face--l { width: 56px; height: 56px; font-size: 19px; }
.tb-face--xl { width: 148px; height: 148px; font-size: 46px; box-shadow: 0 0 0 5px var(--tb-paper), 0 0 0 10px var(--cap), 0 18px 30px -18px rgba(35, 39, 45, .6); }
.tb-rank { display: inline-flex; align-items: center; gap: 6px; font: 600 12.5px/1.2 var(--tb-text); color: var(--tb-ink2); }
.tb-badge { flex: none; }
.tb-rep { display: inline-flex; align-items: center; gap: 4px; font: 500 12.5px/1 var(--tb-mono); color: var(--tb-mute); }
.tb-rep--up { color: var(--tb-ok); }
.tb-rep--down { color: var(--tb-red); }
.tb-op { display: inline-block; margin-left: 8px; padding: 2px 7px; border-radius: 6px; background: var(--tb-rack); color: #fff; font: 500 10.5px/1.3 var(--tb-mono); letter-spacing: .04em; vertical-align: 2px; }
.tb-stack { display: inline-flex; flex-wrap: wrap; gap: 4px; }
.tb-stack .tb-face { margin-right: -2px; }
.tb-chip { display: inline-flex; align-items: center; gap: 7px; padding: 6px 13px; border-radius: 999px; border: 1.5px solid var(--tb-line2); background: rgba(255, 255, 255, .7); color: var(--tb-ink2); font: 600 13.5px/1.2 var(--tb-text); cursor: pointer; transition: background .15s, border-color .15s; }
.tb-chip b { font: 500 11.5px/1 var(--tb-mono); color: var(--tb-mute); }
.tb-chip:hover { border-color: var(--tb-ink2); }
.tb-chip.is-on { background: var(--tb-rack); border-color: var(--tb-rack); color: #fff; }
.tb-chip.is-on b { color: #cfd3d9; }
.tb-chip[class*="tb-c--"].is-on { background: var(--cap-l); color: var(--tb-ink); border-color: var(--cap); box-shadow: inset 0 0 0 1px var(--cap); }

/* ------------------------------------------------------------------ главная: вводная + «Переводчик бланка» */
.tb-hero { display: grid; grid-template-columns: minmax(280px, 360px) minmax(0, 1fr); gap: 26px; align-items: start; margin-bottom: 34px; }
.tb-intro { position: sticky; top: 16px; padding: 6px 4px 0; }
.tb-intro__h { margin: 0 0 14px; font: 800 clamp(32px, 3.6vw, 46px)/1.05 var(--tb-head); letter-spacing: -.02em; }
.tb-intro__h span { display: inline; color: var(--tb-act); background: linear-gradient(180deg, transparent 62%, rgba(231, 180, 22, .45) 62%); padding: 0 2px; }
.tb-intro__lead { margin: 0 0 18px; font-size: 17px; color: var(--tb-ink2); }
.tb-intro__rules { list-style: none; margin: 0 0 18px; padding: 0; display: grid; gap: 10px; }
.tb-intro__rules li { position: relative; padding-left: 28px; font-size: 15px; line-height: 1.5; color: var(--tb-ink2); }
.tb-intro__rules .tb-capdot { position: absolute; left: 0; top: 3px; }
.tb-intro__rules b { color: var(--tb-ink); }
.tb-tr__common { margin: 0 0 16px; padding: 14px 16px; border-radius: 14px; background: var(--tb-rack); color: #e9ebee; }
.tb-tr__common h3 { margin: 0 0 8px; font: 800 14px/1.2 var(--tb-head); color: #fff; }
.tb-tr__common ul { margin: 0; padding: 0 0 0 18px; font-size: 14px; line-height: 1.5; }
.tb-tr__common li + li { margin-top: 5px; }
.tb-intro__total { margin: 0; font: 400 13px/1.4 var(--tb-mono); color: var(--tb-mute); }
.tb-intro__total b { color: var(--tb-ink); font-weight: 500; }

.tb-tr { background: var(--tb-paper); border: 1px solid var(--tb-line2); border-radius: 22px; padding: 22px 24px 24px; box-shadow: 0 22px 44px -32px rgba(35, 39, 45, .55); }
.tb-tr__head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 18px; margin-bottom: 14px; }
.tb-tr__hint { margin: 0; flex: 1 1 320px; font-size: 14px; color: var(--tb-mute); }
/* образец бланка: графы-кнопки, строки без чисел */
.tb-bl { --cols: 1.35fr .8fr .6fr 1fr .55fr 1fr .9fr 1fr; border: 1px solid var(--tb-line2); border-radius: 12px; background:
	repeating-linear-gradient(180deg, transparent 0 33px, rgba(63, 143, 208, .12) 33px 34px), #fff; overflow: hidden; }
.tb-bl__top { margin: 0; display: flex; align-items: center; gap: 12px; padding: 9px 14px; background: var(--tb-paper2); border-bottom: 1px solid var(--tb-line2); font: 500 11.5px/1 var(--tb-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--tb-mute); }
.tb-bl__bar { flex: 1; height: 14px; max-width: 160px; margin-left: auto; background: repeating-linear-gradient(90deg, var(--tb-ink) 0 1px, transparent 1px 3px, var(--tb-ink) 3px 5px, transparent 5px 6px, var(--tb-ink) 6px 7px, transparent 7px 10px); opacity: .7; }
.tb-bl__head, .tb-bl__row { display: grid; grid-template-columns: var(--cols); }
.tb-bl__col { position: relative; min-height: 42px; padding: 8px 9px; border: 0; border-right: 1px dashed var(--tb-line2); border-bottom: 1.5px solid var(--tb-ink); background: transparent; text-align: left; font: 700 12.5px/1.15 var(--tb-text); color: var(--tb-ink); cursor: pointer; transition: background .15s, color .15s; }
.tb-bl__col:last-child, .tb-bl__row span:last-child { border-right: 0; }
.tb-bl__col:hover { background: var(--tb-act-soft); color: var(--tb-act2); }
.tb-bl__col[aria-pressed="true"] { background: var(--tb-act); color: #fff; }
.tb-bl__col[aria-pressed="true"]::after { content: ""; position: absolute; left: 50%; bottom: -8px; width: 12px; height: 12px; background: var(--tb-act); transform: translateX(-50%) rotate(45deg); z-index: 1; }
.tb-bl__row span { padding: 7px 9px; height: 34px; border-right: 1px dashed var(--tb-line); font: 400 12.5px/20px var(--tb-mono); color: var(--tb-dim); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; transition: background .2s, color .2s; }
.tb-bl__row span[data-col="name"] { color: var(--tb-ink2); font-family: var(--tb-text); }
.tb-bl__row span[data-col="flag"] { color: var(--tb-red); font-weight: 500; }
.tb-bl[data-on="name"] span[data-col="name"], .tb-bl[data-on="res"] span[data-col="res"], .tb-bl[data-on="unit"] span[data-col="unit"], .tb-bl[data-on="ref"] span[data-col="ref"],
.tb-bl[data-on="flag"] span[data-col="flag"], .tb-bl[data-on="meth"] span[data-col="meth"], .tb-bl[data-on="date"] span[data-col="date"], .tb-bl[data-on="note"] span[data-col="note"] { background: rgba(90, 63, 174, .08); color: var(--tb-act2); }
.tb-bl__ex { padding: 14px 16px 15px; border-top: 1px solid var(--tb-line2); background: #fbf9ff; }
.tb-ex__k { margin: 0 0 4px; font: 500 11px/1.2 var(--tb-mono); letter-spacing: .12em; text-transform: uppercase; color: var(--tb-act); }
.tb-ex__what { margin: 0 0 6px; font-size: 15.5px; color: var(--tb-ink); }
.tb-ex__ask { margin: 0; font-size: 14.5px; color: var(--tb-ink2); }
.tb-ex__ask b { color: var(--tb-act2); }
.tb-tr__pick { margin: 18px 0 12px; }
.tb-tr__label { margin: 0 0 8px; font: 800 14.5px/1.2 var(--tb-head); }
.tb-tr__types { display: flex; flex-wrap: wrap; gap: 6px; }
.tb-ty { display: inline-flex; align-items: center; gap: 7px; padding: 6px 12px 6px 8px; border-radius: 10px; border: 1.5px solid var(--tb-line2); background: #fff; color: var(--tb-ink2); font: 600 13.5px/1.2 var(--tb-text); cursor: pointer; transition: transform .15s, background .15s, border-color .15s; }
.tb-ty:hover { border-color: var(--cap); transform: translateY(-1px); }
.tb-ty[aria-checked="true"] { background: var(--cap-l); border-color: var(--cap); color: var(--tb-ink); box-shadow: inset 0 0 0 1px var(--cap); }
.tb-tr__out { animation: tb-in .25s ease; }
@keyframes tb-in { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }
.tb-tr__mat { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; margin: 0 0 12px; font-size: 15px; }
.tb-tr__mat span { font: 400 12.5px/1.3 var(--tb-mono); color: var(--tb-mute); }
.tb-tr__cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.tb-tr__box { padding: 14px 14px 12px; border-radius: 14px; border: 1px solid var(--tb-line2); background: var(--tb-paper2); }
.tb-tr__box h3 { margin: 0 0 8px; font: 800 14px/1.2 var(--tb-head); display: flex; align-items: center; gap: 8px; }
.tb-tr__box h3::before { content: ""; width: 10px; height: 10px; border-radius: 3px; background: var(--tb-act); }
.tb-tr__box--lab h3::before { background: var(--tb-rack); border-radius: 50%; }
.tb-tr__box--re h3::before { background: #e7b416; transform: rotate(45deg); }
.tb-tr__box ol { margin: 0; padding-left: 18px; font-size: 14.5px; line-height: 1.5; color: var(--tb-ink2); }
.tb-tr__box li + li { margin-top: 6px; }
.tb-tr__fresh { margin-top: 14px; padding-top: 12px; border-top: 1px dashed var(--tb-line2); }
.tb-tr__fresh h3 { margin: 0 0 8px; font: 800 14px/1.3 var(--tb-head); }
.tb-tr__fresh h3 a { font-weight: 800; }
.tb-tr__fresh ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.tb-tr__fresh li { display: flex; justify-content: space-between; gap: 12px; font-size: 14.5px; }
.tb-tr__fresh li a { color: var(--tb-ink); font-weight: 600; }
.tb-tr__fresh li a:hover { color: var(--tb-act); }
.tb-tr__fresh li span { flex: none; font: 400 12px/1.6 var(--tb-mono); color: var(--tb-mute); }

/* ------------------------------------------------------------------ главная: штатив-доска */
.tb-board { margin-bottom: 34px; }
.tb-board__head, .tb-tray__head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 18px; margin-bottom: 12px; }
.tb-board__hint { margin: 0; flex: 1 1 320px; font-size: 14px; color: var(--tb-mute); }
.tb-legend { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; }
.tb-legend .tb-chip { padding: 5px 12px 5px 8px; font-size: 13px; }
.tb-rack { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; padding: 0 0 18px; border-radius: 20px; background: var(--tb-bg2); border: 1px solid var(--tb-line2); box-shadow: inset 0 2px 0 rgba(255, 255, 255, .5); }
/* перекладина штатива с гнёздами */
.tb-rack::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 84px; border-radius: 20px 20px 0 0; background:
	radial-gradient(circle at 50% 72px, #1a1d21 6px, transparent 6.5px) 0 0 / 40px 84px repeat-x,
	linear-gradient(180deg, var(--tb-rack2), var(--tb-rack)); pointer-events: none; }
.tb-col { position: relative; padding: 0 12px; display: flex; flex-direction: column; min-width: 0; }
.tb-col + .tb-col { border-left: 1px dashed rgba(35, 39, 45, .18); }
.tb-col__head { position: relative; z-index: 1; height: 84px; padding-bottom: 22px !important; display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto; align-content: center; column-gap: 10px; color: #fff; padding: 0 4px; }
.tb-col__no { grid-row: 1 / 3; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: #fff; color: var(--tb-rack); font: 800 16px/1 var(--tb-head); }
.tb-col__t { margin: 0; font: 800 17px/1.1 var(--tb-head); color: #fff; }
.tb-col__sub { margin: 2px 0 0; font: 400 11.5px/1.2 var(--tb-mono); color: #bfc5cc; }
.tb-col__sub b { color: #fff; font-weight: 500; }
.tb-col--sdal .tb-col__no { box-shadow: 0 0 0 3px #d7c69a; }
.tb-col--zhdu .tb-col__no { box-shadow: 0 0 0 3px #e7b416; }
.tb-col--poluchil .tb-col__no { box-shadow: 0 0 0 3px #8f78db; }
.tb-col--obsudil .tb-col__no { box-shadow: 0 0 0 3px #4fbf7f; }
.tb-col + .tb-col .tb-col__head::before { content: ""; position: absolute; left: -21px; top: 22px; width: 16px; height: 16px; border-top: 2.5px solid #9aa1aa; border-right: 2.5px solid #9aa1aa; transform: rotate(45deg); }
.tb-col__hint { margin: 12px 4px 12px; font-size: 13px; line-height: 1.45; color: var(--tb-mute); }
.tb-col__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 16px; }
.tb-col__more { margin: 14px 4px 0; font-size: 13.5px; }
.tb-board__none { margin: 14px 0 0; color: var(--tb-mute); }
.tb-tube.is-dim { opacity: .2; filter: grayscale(1); }
.tb-tube { transition: opacity .25s, filter .25s; }

/* пробирка стоя: крышка с рёбрами, стекло с бликом, проба на дне */
.tb-tube { position: relative; list-style: none; }
.tb-tube--stand { padding-top: 16px; }
.tb-tube__cap { position: absolute; z-index: 2; left: 14px; right: 14px; top: 0; height: 24px; border-radius: 8px 8px 3px 3px;
	background: repeating-linear-gradient(90deg, rgba(0, 0, 0, .12) 0 1px, transparent 1px 4px), var(--cap);
	box-shadow: inset 0 -5px rgba(0, 0, 0, .16), inset 0 2px rgba(255, 255, 255, .4), 0 2px 0 rgba(35, 39, 45, .2); }
.tb-c--white .tb-tube__cap, .tb-c--cream .tb-tube__cap { box-shadow: inset 0 -5px rgba(0, 0, 0, .1), inset 0 2px rgba(255, 255, 255, .6), 0 0 0 1px var(--tb-line2); }
.tb-tube__glass { position: relative; overflow: hidden; margin: 0 6px; padding: 18px 14px calc(30px + var(--tb-lvl, 20) * .45px); border: 1.5px solid rgba(35, 39, 45, .26); border-top: 0; border-radius: 4px 4px 30px 30px;
	background: linear-gradient(90deg, rgba(255, 255, 255, .78), #fff 22%, #fff 78%, rgba(236, 240, 244, .9)); box-shadow: 0 14px 22px -18px rgba(35, 39, 45, .55); transition: transform .25s, box-shadow .25s; }
.tb-tube__glass::before { content: ""; position: absolute; left: 7px; top: 10px; bottom: 26px; width: 4px; border-radius: 4px; background: linear-gradient(180deg, rgba(255, 255, 255, .95), rgba(255, 255, 255, 0)); box-shadow: 0 0 0 1px rgba(35, 39, 45, .04); }
.tb-tube:hover .tb-tube__glass { transform: translateY(-2px) rotate(-.6deg); box-shadow: 0 20px 26px -18px rgba(35, 39, 45, .6); }
.tb-tube__liquid { position: absolute; left: 0; right: 0; bottom: 0; height: calc(12px + var(--tb-lvl, 20) * .45px); background: linear-gradient(180deg, color-mix(in srgb, var(--cap) 30%, #fff), color-mix(in srgb, var(--cap) 46%, #fff)); z-index: 0; }
.tb-tube__liquid::before { content: ""; position: absolute; left: 0; right: 0; top: -5px; height: 10px; border-radius: 50%; background: color-mix(in srgb, var(--cap) 22%, #fff); }
.tb-tube__code { position: relative; z-index: 1; display: flex; gap: 8px; align-items: baseline; justify-content: space-between; margin: 0 0 6px; font: 500 11px/1.3 var(--tb-mono); color: var(--tb-mute); }
.tb-tube__code span { color: var(--cap-d); letter-spacing: .04em; }
.tb-tube__code a { color: var(--tb-mute); text-align: right; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tb-tube__code a:hover { color: var(--tb-act); }
.tb-tube__t { position: relative; z-index: 1; margin: 0 0 8px; font: 700 15px/1.35 var(--tb-text); }
.tb-tube__t a { color: var(--tb-ink); }
.tb-tube__t a:hover { color: var(--tb-act); }
.tb-tube__m { position: relative; z-index: 1; display: flex; align-items: center; gap: 7px; margin: 0; font-size: 13px; color: var(--tb-ink2); min-width: 0; }
.tb-tube__m span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tb-tube__lvl { position: absolute; z-index: 1; left: 14px; right: 14px; bottom: 9px; margin: 0; text-align: center; font: 400 11.5px/1.3 var(--tb-mono); }
.tb-tube__lvl a { color: var(--cap-d); }
.tb-tube__lvl b { font-weight: 500; }

/* пробирка лёжа: на лотке, в профиле */
.tb-tube--lie { display: flex; align-items: stretch; min-height: 96px; }
.tb-tube--lie .tb-tube__cap { position: relative; left: auto; right: auto; top: auto; width: 26px; height: auto; flex: none; border-radius: 8px 3px 3px 8px;
	background: repeating-linear-gradient(180deg, rgba(0, 0, 0, .12) 0 1px, transparent 1px 4px), var(--cap); box-shadow: inset 5px 0 rgba(0, 0, 0, .14), inset -2px 0 rgba(255, 255, 255, .35); }
.tb-tube--lie .tb-tube__glass { flex: 1; min-width: 0; margin: 4px 0; padding: 12px calc(30px + var(--tb-lvl, 20) * .5px) 12px 14px; border: 1.5px solid rgba(35, 39, 45, .26); border-left: 0; border-radius: 3px 40px 40px 3px;
	background: linear-gradient(180deg, rgba(255, 255, 255, .8), #fff 25%, #fff 75%, rgba(236, 240, 244, .9)); }
.tb-tube--lie .tb-tube__glass::before { left: 10px; right: 26px; top: 6px; bottom: auto; width: auto; height: 3px; background: linear-gradient(90deg, rgba(255, 255, 255, .95), rgba(255, 255, 255, 0)); }
.tb-tube--lie .tb-tube__liquid { left: auto; top: 0; bottom: 0; right: 0; width: calc(16px + var(--tb-lvl, 20) * .5px); height: auto; }
.tb-tube--lie .tb-tube__liquid::before { top: 0; bottom: 0; left: -5px; right: auto; width: 10px; height: auto; }
.tb-tube--lie .tb-tube__lvl { position: relative; left: auto; right: auto; bottom: auto; margin-top: 6px; text-align: left; }
.tb-tube--lie:hover .tb-tube__glass { transform: translateX(2px); }
.tb-tray { margin-bottom: 10px; }
.tb-tray__list { list-style: none; margin: 0; padding: 18px; display: grid; grid-template-columns: repeat(auto-fill, minmax(330px, 1fr)); gap: 14px 18px; border-radius: 20px; background: var(--tb-bg2); border: 1px solid var(--tb-line2); box-shadow: inset 0 3px 8px -4px rgba(35, 39, 45, .25); }

/* ------------------------------------------------------------------ раздел: крышка-шапка, фильтр этапов, пробирки лёжа */
.tb-fhead { position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 20px; align-items: center; padding: 22px 24px; margin-bottom: 14px; border-radius: 22px; background: var(--tb-paper); border: 1px solid var(--tb-line2); overflow: hidden; }
.tb-fhead::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 8px; background: var(--cap); }
.tb-fhead__capbig { display: grid; place-items: center; min-width: 88px; height: 96px; padding: 0 10px; border-radius: 16px 16px 6px 6px; color: #fff; font: 800 26px/1 var(--tb-head); letter-spacing: .02em;
	background: repeating-linear-gradient(90deg, rgba(0, 0, 0, .12) 0 2px, transparent 2px 7px), var(--cap); box-shadow: inset 0 -12px rgba(0, 0, 0, .16), inset 0 3px rgba(255, 255, 255, .35); text-shadow: 0 1px 0 rgba(0, 0, 0, .25); }
.tb-c--white .tb-fhead__capbig, .tb-c--cream .tb-fhead__capbig, .tb-c--yellow .tb-fhead__capbig { color: var(--cap-d); text-shadow: none; }
.tb-fhead__caps { display: flex; gap: 5px; }
.tb-c--white .tb-fhead__capbig:has(.tb-fhead__caps) { background: var(--tb-bg2); box-shadow: inset 0 -12px rgba(0, 0, 0, .06); }
.tb-fhead__d { margin: 8px 0 6px; max-width: 76ch; color: var(--tb-ink2); font-size: 16px; }
.tb-fhead__n { margin: 0; font: 400 12.5px/1.4 var(--tb-mono); color: var(--tb-mute); }
.tb-fhead__n b { color: var(--tb-ink); font-weight: 500; }
.tb-filter { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 16px; }
.tb-filter:empty { display: none; }
.tb-list__head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 18px; margin: 6px 0 12px; }
.tb-sort { margin: 0; display: flex; flex-wrap: wrap; gap: 4px 14px; font: 400 12.5px/1.4 var(--tb-mono); color: var(--tb-mute); }
.tb-sort a { color: var(--tb-ink2); border-bottom: 1px dotted var(--tb-line2); }
.tb-list__rows { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.tb-list__none { color: var(--tb-mute); }
.tb-sep { list-style: none; margin: 8px 0 0; font: 500 11px/1.2 var(--tb-mono); letter-spacing: .14em; text-transform: uppercase; color: var(--tb-mute); }
.tb-row { display: flex; align-items: stretch; min-height: 84px; }
.tb-row__cap { flex: none; width: 30px; border-radius: 10px 3px 3px 10px; background: repeating-linear-gradient(180deg, rgba(0, 0, 0, .12) 0 1px, transparent 1px 4px), var(--cap); box-shadow: inset 6px 0 rgba(0, 0, 0, .14), inset -2px 0 rgba(255, 255, 255, .35); }
.tb-c--white .tb-row__cap { box-shadow: inset 6px 0 rgba(0, 0, 0, .08), 0 0 0 1px var(--tb-line2); }
.tb-row__glass { position: relative; flex: 1; min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr) auto 92px; gap: 16px; align-items: center; margin: 4px 0; padding: 10px 18px; border: 1.5px solid rgba(35, 39, 45, .24); border-left: 0; border-radius: 3px 44px 44px 3px; overflow: hidden;
	background: linear-gradient(180deg, rgba(255, 255, 255, .82), #fff 22%, #fff 78%, rgba(236, 240, 244, .92)); transition: transform .2s, box-shadow .2s; }
.tb-row:hover .tb-row__glass { transform: translateX(2px); box-shadow: 0 12px 20px -16px rgba(35, 39, 45, .55); }
.tb-row__liquid { position: absolute; top: 0; bottom: 0; right: 0; width: calc(40px + var(--tb-lvl, 20) * .9px); background: linear-gradient(90deg, color-mix(in srgb, var(--cap) 20%, #fff), color-mix(in srgb, var(--cap) 40%, #fff)); z-index: 0; }
.tb-row__liquid::before { content: ""; position: absolute; top: 0; bottom: 0; left: -6px; width: 12px; border-radius: 50%; background: color-mix(in srgb, var(--cap) 16%, #fff); }
.tb-row__main, .tb-row__st, .tb-row__n { position: relative; z-index: 1; }
.tb-row__code { margin: 0 0 3px; font: 500 11px/1.3 var(--tb-mono); color: var(--cap-d); letter-spacing: .03em; }
.tb-row__h { margin: 0 0 5px; font: 700 16.5px/1.35 var(--tb-text); }
.tb-row__t { color: var(--tb-ink); }
.tb-row__t:hover { color: var(--tb-act); }
.tb-row__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; margin: 0; font-size: 13px; color: var(--tb-mute); }
.tb-row__by a { color: var(--tb-ink2); font-weight: 600; }
.tb-row__st { margin: 0; }
.tb-row__n { display: grid; justify-items: center; text-align: center; color: var(--cap-d); }
.tb-row__n b { font: 800 22px/1 var(--tb-head); }
.tb-row__n span { font: 400 11px/1.3 var(--tb-mono); }
.tb-row__mod { align-self: center; padding-left: 8px; }
.tb-pages { font: 400 12px/1 var(--tb-mono); color: var(--tb-mute); margin-left: 8px; }
.tb-pages a { color: var(--tb-act); margin: 0 2px; }
.tb-shelfsecs, .tb-shelfgrp { margin: 0 0 22px; }
.tb-shelfgrp__t { margin: 0 0 10px; font: 800 18px/1.2 var(--tb-head); }
.tb-shelfsecs__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 14px; }
.tb-shelfsec { position: relative; padding: 46px 16px 14px; border-radius: 6px 6px 26px 26px; background: #fff; border: 1.5px solid rgba(35, 39, 45, .22); }
.tb-shelfsec__cap { position: absolute; left: -1.5px; right: -1.5px; top: -1.5px; height: 32px; display: flex; align-items: center; padding: 0 14px; border-radius: 8px 8px 3px 3px; color: #fff; font: 800 13px/1 var(--tb-head); letter-spacing: .04em;
	background: repeating-linear-gradient(90deg, rgba(0, 0, 0, .12) 0 1px, transparent 1px 4px), var(--cap); box-shadow: inset 0 -5px rgba(0, 0, 0, .16); }
.tb-c--white .tb-shelfsec__cap, .tb-c--cream .tb-shelfsec__cap, .tb-c--yellow .tb-shelfsec__cap { color: var(--cap-d); }
.tb-shelfsec__t { margin: 0 0 4px; font: 800 16px/1.25 var(--tb-head); }
.tb-shelfsec__t a { color: var(--tb-ink); }
.tb-shelfsec__d { margin: 0 0 8px; font-size: 14px; color: var(--tb-ink2); }
.tb-shelfsec__lp { margin: 0 0 6px; font-size: 13.5px; }
.tb-shelfsec__lt span { color: var(--tb-mute); }
.tb-shelfsec__n { margin: 0; font: 400 12px/1.3 var(--tb-mono); color: var(--tb-mute); }
.tb-new { display: none; }
.tb-bar { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px 16px; margin: 16px 0; }
.tb-bar__r { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; }
.tb-modtools:empty { display: none; }

/* ------------------------------------------------------------------ тема: шапка-бланк */
.tb-form { position: relative; padding: 0 0 18px; margin-bottom: 18px; border-radius: 18px; background: #fff; border: 1px solid var(--tb-line2); box-shadow: 0 24px 40px -32px rgba(35, 39, 45, .6); overflow: hidden; }
.tb-form::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 8px; background: repeating-linear-gradient(180deg, rgba(0, 0, 0, .1) 0 1px, transparent 1px 4px), var(--cap); }
.tb-form__top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px 16px; padding: 10px 22px 10px 30px; background: var(--tb-paper2); border-bottom: 1.5px solid var(--tb-ink); }
.tb-form__kind { margin: 0; display: flex; align-items: center; gap: 8px; font: 500 12px/1.3 var(--tb-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--tb-mute); }
.tb-form__kind a { color: var(--tb-ink2); }
.tb-form__no { margin: 0; display: flex; align-items: center; gap: 10px; font: 500 13px/1 var(--tb-mono); color: var(--tb-ink); letter-spacing: .06em; }
.tb-form__bars { width: 92px; height: 18px; background: repeating-linear-gradient(90deg, var(--tb-ink) 0 2px, transparent 2px 3px, var(--tb-ink) 3px 4px, transparent 4px 7px, var(--tb-ink) 7px 8px, transparent 8px 9px, var(--tb-ink) 9px 12px, transparent 12px 14px); }
.tb-form__h1 { padding: 18px 22px 14px 30px; max-width: 32ch; }
.tb-form__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0 22px 0 30px; border-top: 1px solid var(--tb-line2); border-left: 1px solid var(--tb-line2); }
.tb-form__f { display: grid; align-content: start; gap: 5px; padding: 9px 12px 11px; border-right: 1px solid var(--tb-line2); border-bottom: 1px solid var(--tb-line2); min-width: 0; }
.tb-form__f--ask { grid-column: span 2; background: #fbf9ff; }
.tb-form__f--stage { grid-column: span 2; }
.tb-form__f:last-child { grid-column: 1 / -1; grid-template-columns: auto 1fr; align-items: center; gap: 12px; }
.tb-form__l { font: 500 10.5px/1.2 var(--tb-mono); letter-spacing: .12em; text-transform: uppercase; color: var(--tb-mute); }
.tb-form__v { font-size: 15px; color: var(--tb-ink); min-width: 0; }
.tb-form__v a { color: var(--tb-ink); font-weight: 700; }
.tb-form__v--ref { font-family: var(--tb-mono); font-size: 13px; color: var(--tb-ink2); }
.tb-form__hand { font-style: italic; font-size: 16px; color: var(--tb-act2); }
.tb-form__hand.is-empty { color: var(--tb-dim); }
.tb-form__by { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; font-weight: 700; }
.tb-form__by small { flex-basis: 100%; font: 400 12.5px/1.3 var(--tb-text); color: var(--tb-mute); }
.tb-form__fine { margin: 12px 22px 0 30px; font-size: 13px; color: var(--tb-mute); }
.tb-prog { list-style: none; margin: 2px 0 0; padding: 6px 10px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; border-radius: 10px; background: var(--tb-rack); }
.tb-prog__s { display: flex; align-items: center; gap: 7px; min-width: 0; color: #9aa1aa; font: 600 12.5px/1.15 var(--tb-text); }
.tb-prog__hole { flex: none; width: 16px; height: 16px; border-radius: 50%; background: #1d2126; box-shadow: inset 0 2px 3px rgba(0, 0, 0, .6); }
.tb-prog__s.is-done { color: #dfe2e6; }
.tb-prog__s.is-done .tb-prog__hole { background: #8f78db; box-shadow: inset 0 -3px rgba(0, 0, 0, .25); }
.tb-prog__s.is-now { color: #fff; }
.tb-prog__s.is-now .tb-prog__hole { background: #e7b416; box-shadow: 0 0 0 3px rgba(231, 180, 22, .35), inset 0 -3px rgba(0, 0, 0, .2); }

/* ------------------------------------------------------------------ тема: стикеры на поле бланка */
.tb-field-board { padding: 30px 26px 26px; border-radius: 18px; border: 1px solid var(--tb-line2);
	background:
		linear-gradient(90deg, transparent calc(30% - 1px), rgba(63, 143, 208, .1) calc(30% - 1px) 30%, transparent 30%, transparent calc(62% - 1px), rgba(63, 143, 208, .1) calc(62% - 1px) 62%, transparent 62%),
		repeating-linear-gradient(180deg, transparent 0 35px, rgba(63, 143, 208, .13) 35px 36px),
		#fdfcf8; }
.tb-notes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 26px; align-items: start; }
.tb-note { position: relative; padding: 22px 22px 14px; border-radius: 3px 3px 14px 3px; background: var(--note); box-shadow: 0 1px 0 rgba(35, 39, 45, .08), 0 14px 22px -16px rgba(35, 39, 45, .55); transform: rotate(var(--tb-tilt, 0deg)); transition: transform .25s, box-shadow .25s; }
.tb-note:hover { transform: rotate(0deg) translateY(-2px); box-shadow: 0 1px 0 rgba(35, 39, 45, .08), 0 20px 28px -18px rgba(35, 39, 45, .6); }
.tb-note::after { content: ""; position: absolute; right: 0; bottom: 0; width: 22px; height: 22px; border-radius: 0 0 14px 0; background: linear-gradient(315deg, rgba(35, 39, 45, .1) 0 45%, rgba(255, 255, 255, .6) 46%); }
.tb-note--wide, .tb-note--first { grid-column: 1 / -1; }
.tb-note--lemon { --note: #fff4b8; --note-d: #8a6a00; }
.tb-note--mint { --note: #dcf3e4; --note-d: #1f6a3f; }
.tb-note--rose { --note: #fde2e4; --note-d: #9b2b38; }
.tb-note--sky { --note: #dcecfa; --note-d: #1f5d92; }
.tb-note--lilac { --note: #ece5fb; --note-d: #4f3592; }
.tb-note--peach { --note: #fde6d2; --note-d: #9c5310; }
.tb-note__tape { position: absolute; top: -11px; left: 50%; width: 92px; height: 22px; transform: translateX(-50%) rotate(-2deg); background: rgba(238, 230, 208, .82); box-shadow: 0 1px 2px rgba(35, 39, 45, .12);
	clip-path: polygon(0 12%, 4% 0, 9% 14%, 14% 2%, 20% 12%, 100% 6%, 96% 50%, 100% 90%, 92% 100%, 86% 88%, 80% 100%, 0 92%, 4% 50%); }
.tb-note--first .tb-note__tape { background: rgba(214, 75, 60, .28); width: 120px; }
.tb-note__head { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 12px; align-items: center; margin-bottom: 12px; padding-bottom: 10px; border-bottom: 1px dashed rgba(35, 39, 45, .2); }
.tb-note__id { min-width: 0; }
.tb-note__nick { margin: 0; font: 800 15.5px/1.2 var(--tb-head); }
.tb-note__nick a { color: var(--tb-ink); }
.tb-note__nick a:hover { color: var(--note-d); }
.tb-note__rank { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; margin: 4px 0 0; }
.tb-note__line { display: flex; flex-wrap: wrap; gap: 2px 12px; margin: 3px 0 0; font: 400 12px/1.4 var(--tb-mono); color: var(--tb-mute); }
.tb-note__no { align-self: start; padding: 3px 8px; border-radius: 6px; background: rgba(255, 255, 255, .6); font: 500 12px/1.2 var(--tb-mono); color: var(--note-d); }
.tb-note__re { display: inline-block; margin: 0 0 8px; font: 400 12.5px/1.3 var(--tb-mono); color: var(--note-d); }
.tb-note__body { font-size: 16.5px; line-height: 1.62; color: var(--tb-ink); overflow-wrap: anywhere; }
.tb-note--first .tb-note__body { font-size: 17.5px; }
.tb-note__foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 14px; margin-top: 12px; padding-top: 8px; border-top: 1px dashed rgba(35, 39, 45, .16); }
.tb-note__when { margin: 0; font: 400 12px/1.3 var(--tb-mono); color: var(--tb-mute); }
.tb-note__when span { text-transform: uppercase; letter-spacing: .1em; font-size: 10.5px; }
.tb-note.is-hl { box-shadow: 0 0 0 3px var(--tb-act), 0 20px 28px -18px rgba(35, 39, 45, .6); }
.tb-guest { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 20px; margin: 18px 0; padding: 16px 20px; border-radius: 16px; background: var(--tb-paper); border: 1.5px dashed var(--tb-line2); }
.tb-guest p { margin: 0; color: var(--tb-ink2); }
.tb-tfoot { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px 20px; margin: 22px 0 10px; }
.tb-tfoot__note { margin: 0; font-size: 14px; color: var(--tb-mute); }
.tb-nextprev { display: flex; gap: 18px; font: 600 14px/1.3 var(--tb-text); }
.tb-tools { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px; }
.thread_tools { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px 16px; font-size: 13.5px; }
.thread_tools li { background: none !important; padding: 0 !important; }

/* ------------------------------------------------------------------ профиль: этикетка участника */
.tb-label { position: relative; padding: 0 0 22px; border-radius: 22px; background: #fff; border: 1px solid var(--tb-line2); box-shadow: 0 24px 40px -32px rgba(35, 39, 45, .6); overflow: hidden; }
.tb-label__head { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 26px; align-items: center; padding: 28px 28px 24px; background: linear-gradient(180deg, var(--tb-paper2), #fff); border-bottom: 1.5px solid var(--tb-ink); }
.tb-label__photo { padding: 10px; }
.tb-label__form { margin: 0 0 6px; font: 500 11.5px/1.3 var(--tb-mono); letter-spacing: .12em; text-transform: uppercase; color: var(--tb-mute); }
.tb-label__name { overflow-wrap: anywhere; }
.tb-label__rank { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; margin: 10px 0 0; font: 700 15px/1.2 var(--tb-text); color: var(--tb-ink2); }
.tb-label__code { display: grid; justify-items: center; gap: 4px; font: 500 12px/1 var(--tb-mono); letter-spacing: .3em; color: var(--tb-ink); }
.tb-label__bars { width: 150px; height: 46px; fill: var(--tb-ink); }
.tb-label__grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 26px; padding: 22px 28px 6px; }
.tb-fields__dl { margin: 0; display: grid; border-top: 1px solid var(--tb-line2); }
.tb-fields__dl > div { display: grid; grid-template-columns: 170px minmax(0, 1fr); gap: 12px; padding: 9px 0; border-bottom: 1px solid var(--tb-line2); }
.tb-fields__dl dt { font: 500 11px/1.6 var(--tb-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--tb-mute); }
.tb-fields__dl dd { margin: 0; font-size: 15.5px; }
.tb-fields__links { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 14px 0 0; }
.tb-ladder__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.tb-ladder__list li { display: grid; grid-template-columns: 40px minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 7px 10px; border-radius: 10px; color: var(--tb-dim); }
.tb-ladder__list li.is-past { color: var(--tb-ink2); }
.tb-ladder__list li.is-now { color: var(--tb-ink); background: var(--tb-act-soft); font-weight: 700; }
.tb-ladder__list li:not(.is-past):not(.is-now) .tb-badge { opacity: .35; }
.tb-ladder__n { font: 400 12px/1 var(--tb-mono); }
.tb-plist { padding: 12px 28px 0; }
.tb-plist .tb-h2 { margin-bottom: 12px; }
.tb-label__extra:empty { display: none; }
.tb-label__extra { margin-top: 16px; }

/* ------------------------------------------------------------------ ошибки и переходы */
.tb-msg { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 26px; align-items: start; max-width: 820px; margin: 20px 0; padding: 28px; border-radius: 22px; background: var(--tb-paper); border: 1px solid var(--tb-line2); }
.tb-msg--go { margin: 80px auto; grid-template-columns: 1fr; max-width: 560px; }
.tb-msg__tube { transform: rotate(-12deg); }
.tb-msg__body { font-size: 16.5px; color: var(--tb-ink2); }
.tb-msg__body ol, .tb-msg__body ul { padding-left: 1.3em; }
.tb-msg__foot { margin: 14px 0 0; }

/* ------------------------------------------------------------------ подвал: основание штатива */
.tb-foot { margin-top: 30px; background: var(--tb-rack); color: #c9ced5; }
.tb-foot__rack { height: 22px; background: radial-gradient(circle at 50% 50%, #1d2126 6px, transparent 6.5px) 0 0 / 40px 22px repeat-x, var(--tb-rack2); box-shadow: inset 0 -2px rgba(0, 0, 0, .25); }
.tb-foot__in { max-width: var(--tb-w); margin: 0 auto; padding: 26px 24px 30px; display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 16px 40px; }
.tb-foot__brand { margin: 0; font-size: 15px; }
.tb-foot__brand b { color: #fff; font-family: var(--tb-head); }
.tb-foot__links { display: flex; flex-wrap: wrap; gap: 8px 18px; align-content: start; font: 600 14px/1.4 var(--tb-text); }
.tb-foot__links a { color: #fff; border-bottom: 1px solid rgba(255, 255, 255, .25); }
.tb-foot__links a:hover { border-bottom-color: #e7b416; color: #fff; }
.tb-foot__note { grid-column: 1 / -1; margin: 0; padding-top: 14px; border-top: 1px solid rgba(255, 255, 255, .12); font-size: 13px; line-height: 1.55; color: #a7aeb7; }

/* ------------------------------------------------------------------ вход и меню участника */
.tb-login__p { margin: 0 0 12px; font-size: 14px; color: var(--tb-mute); }
.tb-field { margin: 0 0 12px; display: grid; gap: 4px; }
.tb-field label { font: 500 11px/1 var(--tb-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--tb-mute); }
.tb-field--row { display: flex; justify-content: space-between; align-items: center; gap: 10px; font-size: 13px; }
.tb-field--row label { text-transform: none; letter-spacing: 0; font: 400 13px/1.2 var(--tb-text); color: var(--tb-ink2); }
.tb-field input.textbox { width: 100%; }
.tb-field .button { width: 100%; }
.tb-mine__who { display: flex; align-items: center; gap: 10px; margin: 0 0 12px; }
.tb-mine__who span { display: grid; }
.tb-mine__who a { font-size: 12.5px; }
.tb-mine__links { list-style: none; margin: 0; padding: 0; display: grid; gap: 1px; }
.tb-mine__links a { display: block; padding: 7px 8px; border-radius: 8px; color: var(--tb-ink2); font-size: 15px; }
.tb-mine__links a:hover { background: var(--tb-act-soft); color: var(--tb-act); }
.tb-pm[data-n="0"] { display: none; }
.tb-pm { background: var(--tb-red); color: #fff; border-radius: 999px; padding: 1px 6px; font: 500 11px/1.3 var(--tb-mono); }

/* ------------------------------------------------------------------ стандартные элементы MyBB в айдентике штатива */
.tborder { width: 100%; border-collapse: separate; border-spacing: 0; background: var(--tb-paper); border: 1px solid var(--tb-line2); border-radius: 14px; overflow: hidden; margin: 0 0 18px; color: var(--tb-ink); }
.tborder td, .tborder th { padding: 10px 14px; border-bottom: 1px solid var(--tb-line); vertical-align: top; text-align: left; }
.thead { background: var(--tb-rack); color: #fff; font: 800 16px/1.3 var(--tb-head); border-bottom: 0 !important; }
.thead a, .thead strong { color: #fff; }
.thead .expcolimage { float: right; }
.tcat { background: var(--tb-bg2); font: 500 11px/1.3 var(--tb-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--tb-mute); }
.tcat a { color: var(--tb-act); }
.trow1, .trow2 { background: transparent; }
.trow2 { background: rgba(90, 63, 174, .03); }
.trow_shaded { background: rgba(214, 75, 60, .06); }
.trow_selected td, .trow_selected { background: rgba(231, 180, 22, .18); }
.tfoot { background: var(--tb-paper2); }
.tborder a, .trow1 a, .trow2 a, .tfoot a { color: var(--tb-act); }
.smalltext { font-size: 13px; color: var(--tb-mute); }
.largetext { font: 800 19px/1.3 var(--tb-head); }
.float_left { float: left; } .float_right { float: right; } .clear { clear: both; }
input.textbox, textarea, select, input[type="text"], input[type="password"], input[type="email"], input[type="search"], input[type="number"], input[type="url"] {
	font: 400 16px/1.4 var(--tb-text); color: var(--tb-ink); background: #fff; border: 1.5px solid var(--tb-line2); border-radius: 10px; padding: 9px 12px; max-width: 100%; }
textarea { width: 100%; min-height: 170px; line-height: 1.6; background: repeating-linear-gradient(180deg, #fff 0 27px, rgba(63, 143, 208, .1) 27px 28px); background-attachment: local; }
input.textbox:focus, textarea:focus, select:focus, input[type="text"]:focus, input[type="password"]:focus, input[type="search"]:focus { outline: none; border-color: var(--tb-act); box-shadow: 0 0 0 3px var(--tb-act-soft); }
.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; font: 800 14px/1 var(--tb-head); color: #fff; background: var(--tb-act); border: 0; border-radius: 999px; padding: 12px 20px; cursor: pointer; text-decoration: none; box-shadow: inset 0 -3px rgba(0, 0, 0, .2); transition: background .2s, transform .15s; }
.button:hover, input.button:hover, input[type="submit"]:hover, button[type="submit"]:hover, a.button:hover { background: var(--tb-act2); color: #fff; }
.button:active, input[type="submit"]:active { transform: translateY(1px); }
.tb-find__b[type="submit"] { padding: 0; box-shadow: none; }
.closed_button { background: var(--tb-bg2); color: var(--tb-mute); box-shadow: none; }
.pagination { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; font: 400 13px/1 var(--tb-mono); }
.pagination .pages { color: var(--tb-mute); margin-right: 6px; }
.pagination a, .pagination .pagination_current { display: inline-grid; place-items: center; min-width: 34px; height: 34px; padding: 0 8px; border: 1.5px solid var(--tb-line2); border-radius: 50%; color: var(--tb-ink2); background: #fff; }
.pagination a:hover { border-color: var(--tb-act); color: var(--tb-act); }
.pagination .pagination_current { background: var(--tb-rack); border-color: var(--tb-rack); color: #fff; }
.postbit_buttons { display: flex; flex-wrap: wrap; gap: 4px 12px; }
.postbit_buttons > a, .postbit_buttons a { display: inline-flex; align-items: center; padding: 3px 0; font-size: 12.5px; color: var(--tb-mute); border-bottom: 1px dotted transparent; }
.postbit_buttons a:hover { color: var(--tb-act); border-bottom-color: currentColor; }
.postbit_buttons a span { background: none !important; padding: 0 !important; }
.post_meta:empty, .post_meta:has(> span:empty:only-child) { display: none; }
.popup_menu { background: var(--tb-paper); border: 1px solid var(--tb-line2); border-radius: 12px; padding: 6px; box-shadow: 0 18px 30px -14px rgba(35, 39, 45, .5); z-index: 50; }
.popup_menu .popup_item { display: block; padding: 6px 10px; border-radius: 8px; color: var(--tb-ink2); font-size: 15px; }
.popup_menu .popup_item:hover { background: var(--tb-act-soft); }
.blocker { background: rgba(35, 39, 45, .55) !important; }
.modal { background: var(--tb-paper) !important; color: var(--tb-ink); border: 1px solid var(--tb-line2); border-radius: 18px !important; box-shadow: 0 30px 60px -20px rgba(35, 39, 45, .6) !important; padding: 18px !important; }
.modal .tborder { margin: 0; }
.error, div.error { background: rgba(214, 75, 60, .07); border: 1.5px solid rgba(214, 75, 60, .4); border-radius: 12px; padding: 12px 16px; color: var(--tb-ink); margin-bottom: 14px; }
.red_alert, .pm_alert { background: rgba(231, 180, 22, .2); border: 1px solid rgba(166, 125, 20, .4); border-radius: 12px; padding: 10px 14px; margin-bottom: 14px; }
fieldset { border: 1px solid var(--tb-line2); border-radius: 12px; padding: 12px 14px; margin: 0 0 14px; }
legend { font: 500 11px/1 var(--tb-mono); letter-spacing: .12em; text-transform: uppercase; color: var(--tb-mute); padding: 0 6px; }
.usercp_nav_item, .modcp_nav_item { display: block; padding: 6px 4px; color: var(--tb-ink2); }
.sceditor-container { border-radius: 12px; overflow: hidden; max-width: 100%; }
.ignored_post, .deleted_post_hidden { padding: 12px 16px; border: 1px dashed var(--tb-line2); border-radius: 12px; color: var(--tb-mute); margin-bottom: 12px; grid-column: 1 / -1; }
.scaleimages img { max-width: 100%; height: auto; }
#posts > a[id^="pid"] { display: none; }
/* BB-коды */
blockquote.mycode_quote { margin: 10px 0 12px; padding: 10px 14px; border-radius: 10px; border-left: 4px solid var(--note-d, var(--tb-act)); background: rgba(255, 255, 255, .55); color: var(--tb-ink2); font-size: 15.5px; font-style: italic; }
blockquote.mycode_quote cite { display: block; font: 600 13px/1.3 var(--tb-text); font-style: normal; color: var(--tb-ink); margin-bottom: 4px; }
blockquote.mycode_quote cite > span { color: var(--tb-dim); margin-left: 6px; font: 400 11px/1 var(--tb-mono); }
.codeblock { margin: 12px 0; background: var(--tb-rack); color: #e9ebee; border-radius: 10px; overflow: hidden; }
.codeblock .title { font: 500 11px/1 var(--tb-mono); letter-spacing: .12em; text-transform: uppercase; color: #a7aeb7; padding: 8px 12px; border-bottom: 1px solid rgba(255, 255, 255, .1); }
.codeblock code { display: block; padding: 12px; overflow-x: auto; font: 13.5px/1.5 var(--tb-mono); color: #e9ebee; }
.mycode_list, ul.mycode_list, ol.mycode_list { padding-left: 1.3em; }
.post_body hr, .mycode_hr { border: 0; height: 2px; margin: 14px 0; background: repeating-linear-gradient(90deg, rgba(35, 39, 45, .25) 0 6px, transparent 6px 11px); }
.signature { margin-top: 12px; padding-top: 8px; border-top: 1px dashed rgba(35, 39, 45, .2); font-size: 14px; color: var(--tb-mute); }
.video_embed iframe, .post_body iframe { max-width: 100%; }
#quick_reply_form .tborder { background: var(--tb-paper); }
.post_body .mycode_s { text-decoration-color: var(--tb-red); text-decoration-thickness: 1.5px; }
.post_body .mycode_u { text-decoration-color: var(--tb-act); text-underline-offset: 3px; }
.post_body img.mycode_img { border-radius: 8px; }

/* ------------------------------------------------------------------ ноутбук и планшет */
@media (max-width: 1240px) {
	.tb-hero { grid-template-columns: minmax(260px, 320px) minmax(0, 1fr); }
	.tb-tr__cols { grid-template-columns: 1fr 1fr; }
	.tb-tr__box--re { grid-column: 1 / -1; }
	.tb-form__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1080px) {
	.tb-rack { grid-template-columns: repeat(2, minmax(0, 1fr)); padding-top: 0; }
	.tb-rack::before { display: none; }
	.tb-col { padding-bottom: 18px; }
	.tb-col + .tb-col { border-left: 0; }
	.tb-col:nth-child(even) { border-left: 1px dashed rgba(35, 39, 45, .18); }
	.tb-col__head { height: 64px; padding-bottom: 0 !important; }
	.tb-col__head { margin: 0 -12px; padding: 0 16px; background: linear-gradient(180deg, var(--tb-rack2), var(--tb-rack)); }
	.tb-col:nth-child(1) .tb-col__head { border-radius: 20px 0 0 0; }
	.tb-col:nth-child(2) .tb-col__head { border-radius: 0 20px 0 0; }
	.tb-col + .tb-col .tb-col__head::before { display: none; }
}
@media (max-width: 980px) {
	.tb-hero { grid-template-columns: 1fr; }
	.tb-intro { position: static; }
	.tb-intro__rules { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.tb-intro__rules li { padding: 26px 0 0; }
	.tb-top__in { flex-wrap: wrap; gap: 12px 16px; }
	.tb-find { order: 3; flex-basis: 100%; max-width: none; }
	.tb-me { margin-left: auto; }
	.tb-notes { grid-template-columns: 1fr; }
	.tb-note { transform: none; }
	.tb-label__grid { grid-template-columns: 1fr; }
	.tb-foot__in { grid-template-columns: 1fr; }
}
/* ------------------------------------------------------------------ телефон */
@media (max-width: 720px) {
	body { font-size: 16px; }
	.tb-top__in { padding: 10px 16px 8px; }
	.tb-logo__mark { width: 42px; height: 36px; }
	.tb-logo__name { font-size: 23px; }
	.tb-me__b span { position: absolute; left: -9999px; }
	.tb-me__b { padding: 0 6px; width: 44px; justify-content: center; }
	.tb-me__b > svg { margin: 0; }
	.tb-me__panel { width: min(300px, calc(100vw - 32px)); }
	.tb-tabs { padding: 2px 16px 0; }
	.tb-tab { padding: 9px 12px 10px; font-size: 13.5px; }
	.tb-secs { margin: 0 -16px; padding: 8px 16px 10px; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
	.tb-secs::-webkit-scrollbar { display: none; }
	.tb-sec { flex: none; }
	.tb-crumbs-row { padding: 12px 16px 0; }
	.tb-main { padding: 14px 16px 30px; }
	.tb-intro__rules { grid-template-columns: 1fr; }
	.tb-intro__rules li { padding: 0 0 0 28px; }
	.tb-tr { padding: 16px 14px 18px; border-radius: 18px; }
	.tb-bl__head { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.tb-bl__col { border-bottom: 1px solid var(--tb-line2); min-height: 40px; font-size: 12px; padding: 8px 6px; }
	.tb-bl__col:nth-child(4n) { border-right: 0; }
	.tb-bl__col[aria-pressed="true"]::after { display: none; }
	.tb-bl__rows { display: none; }
	.tb-tr__cols { grid-template-columns: 1fr; }
	.tb-ty { font-size: 13px; }
	.tb-rack { grid-template-columns: 1fr; }
	.tb-col:nth-child(even) { border-left: 0; }
	.tb-col__head { border-radius: 0 !important; }
	.tb-col:first-child .tb-col__head { border-radius: 20px 20px 0 0 !important; }
	.tb-tray__list { grid-template-columns: 1fr; padding: 12px; }
	.tb-fhead { grid-template-columns: auto minmax(0, 1fr); padding: 18px 16px 18px 22px; gap: 14px; }
	.tb-fhead__capbig { min-width: 58px; height: 64px; font-size: 18px; }
	.tb-fhead__act { grid-column: 1 / -1; }
	.tb-row__glass { grid-template-columns: minmax(0, 1fr) 56px; gap: 10px; padding: 10px 12px; border-radius: 3px 32px 32px 3px; }
	.tb-row__st { grid-column: 1; grid-row: 2; }
	.tb-row__n { grid-row: 1 / 3; grid-column: 2; }
	.tb-row__cap { width: 20px; }
	.tb-row__h { font-size: 15.5px; }
	.tb-form__top { padding: 10px 14px 10px 20px; }
	.tb-form__h1 { padding: 14px 14px 12px 20px; }
	.tb-form__grid { grid-template-columns: 1fr; margin: 0 14px 0 20px; }
	.tb-form__f--ask, .tb-form__f--stage { grid-column: auto; }
	.tb-prog { grid-template-columns: 1fr 1fr; }
	.tb-form__fine { margin: 10px 14px 0 20px; }
	.tb-field-board { padding: 22px 10px 14px; background: repeating-linear-gradient(180deg, transparent 0 35px, rgba(63, 143, 208, .13) 35px 36px), #fdfcf8; }
	.tb-note { padding: 20px 14px 12px; }
	.tb-note__head { grid-template-columns: auto minmax(0, 1fr); }
	.tb-note__no { position: absolute; right: 10px; top: 10px; }
	.tb-note__nick { padding-right: 52px; }
	.tb-label__head { grid-template-columns: 1fr; justify-items: start; gap: 12px; padding: 20px 16px; }
	.tb-face--xl { width: 112px; height: 112px; font-size: 36px; }
	.tb-label__grid { padding: 16px 16px 4px; }
	.tb-fields__dl > div { grid-template-columns: 1fr; gap: 2px; }
	.tb-plist { padding: 10px 16px 0; }
	.tb-msg { grid-template-columns: 1fr; padding: 20px; }
	.tb-foot__in { padding: 22px 16px 26px; }
}
@media (max-width: 400px) {
	.tb-logo__sub { display: none; }
	.tb-tube--lie .tb-tube__glass { padding-right: 24px; }
	.tb-bl__col { font-size: 11px; padding: 7px 4px; }
}
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition: none !important; animation: none !important; }
	.tb-note { transform: none; }
}

/* ------------------------------------------------------------------ ссылки в сообщениях: свой стиль форума («мениск»)
   Под ссылкой — вогнутая линия мениска, как край жидкости в пробирке (тонкая дуга, растянутая на ширину слова,
   SVG data-URI, preserveAspectRatio=none, non-scaling-stroke) и бледная проба под ней. При наведении проба
   поднимается выше, мениск становится глубже и меняет цвет с лавандового на коралловый. Без значка внешней ссылки. */
:is(.post_body, .signature, [class*="-post__body"], [class*="-post__sign"]) a.mycode_url {
	color: #4a2f9e;
	font-weight: 600;
	text-decoration: none;
	padding: 0 1px 4px;
	background:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 8' preserveAspectRatio='none'%3E%3Cpath d='M0 4h100v4H0z' fill='%237b5cc4' fill-opacity='.12'/%3E%3Cpath d='M0 1.2C10 5.4 30 6.6 50 6.6S90 5.4 100 1.2V8H0z' fill='%237b5cc4' fill-opacity='.14'/%3E%3Cpath d='M0 1.2C10 5.4 30 6.6 50 6.6S90 5.4 100 1.2' fill='none' stroke='%235a3fae' stroke-width='1.4' stroke-linecap='round' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E") no-repeat 0 100% / 100% 7px;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
	transition: color .2s, background-size .25s;
}
:is(.post_body, .signature, [class*="-post__body"], [class*="-post__sign"]) a.mycode_url:hover,
:is(.post_body, .signature, [class*="-post__body"], [class*="-post__sign"]) a.mycode_url:focus-visible {
	color: #9b2b20;
	background:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 12' preserveAspectRatio='none'%3E%3Cpath d='M0 1C10 7 30 9.4 50 9.4S90 7 100 1V12H0z' fill='%23d64b3c' fill-opacity='.16'/%3E%3Cpath d='M0 1C10 7 30 9.4 50 9.4S90 7 100 1' fill='none' stroke='%23d64b3c' stroke-width='1.6' stroke-linecap='round' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E") no-repeat 0 100% / 100% 11px;
}
:is(.post_body, .signature, [class*="-post__body"], [class*="-post__sign"]) a.mycode_url::after { content: none; }
