/* Вода на участке 47 — тема «Разрез скважины».
   Бумага бурового журнала и разрез участка: почва, суглинок, песок, глина, известняк, ниже — вода.
   Главная — лонгрид сверху вниз по слоям, по центру колонна обсадной трубы с буром (идёт вниз вместе с прокруткой).
   Слева на всех страницах рейка-глубиномер: жёлтая лента уровнемера с зондом и геологическая колонка слоёв-разделов.
   Тема — журнал бурения строками «дата · автор · запись · метки».
   Шрифты: Podkova (заголовки, знак), Cuprum (текст и интерфейс), Jura (глубины, даты, графы) — все OFL. */

@font-face { font-family: "Podkova"; src: url("fonts/podkova-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: "Podkova"; src: url("fonts/podkova-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: "Podkova"; src: url("fonts/podkova-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: "Podkova"; src: url("fonts/podkova-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: "Podkova"; src: url("fonts/podkova-cyrillic-800-normal.woff2") format("woff2"); font-weight: 800; 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: "Podkova"; src: url("fonts/podkova-latin-800-normal.woff2") format("woff2"); font-weight: 800; 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: "Cuprum"; src: url("fonts/cuprum-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: "Cuprum"; src: url("fonts/cuprum-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: "Cuprum"; src: url("fonts/cuprum-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: "Cuprum"; src: url("fonts/cuprum-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: "Cuprum"; src: url("fonts/cuprum-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: "Cuprum"; src: url("fonts/cuprum-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: "Jura"; src: url("fonts/jura-cyrillic-500-normal.woff2") format("woff2"); font-weight: 500; 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: "Jura"; src: url("fonts/jura-latin-500-normal.woff2") format("woff2"); font-weight: 500; 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: "Jura"; src: url("fonts/jura-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: "Jura"; src: url("fonts/jura-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; }

:root {
	--pt-paper: #f1ebde;
	--pt-paper2: #e7dec9;
	--pt-card: #fbf8f1;
	--pt-ink: #221a13;
	--pt-ink2: #45372b;
	--pt-mute: #6f6152;
	--pt-dim: #948573;
	--pt-line: rgba(34, 26, 19, .13);
	--pt-line2: rgba(34, 26, 19, .26);
	--pt-rail: #2b211a;
	--pt-rail2: #3a2d23;
	--pt-grass: #6f9a4f;
	--pt-soil: #4a3424;
	--pt-loam: #8a5c32;
	--pt-sand: #d8bd83;
	--pt-clay: #65788a;
	--pt-lime: #d3cdbf;
	--pt-water: #2a85b5;
	--pt-water2: #1b5f80;
	--pt-water-l: #cfe8f2;
	--pt-steel: #9aa4ab;
	--pt-steel2: #5d676f;
	--pt-steel-l: #dfe5e9;
	--pt-tape: #e7c344;
	--pt-red: #c23a1d;
	--pt-red2: #9a2c14;
	--pt-head: "Podkova", "Rockwell", "Georgia", serif;
	--pt-text: "Cuprum", "Arial Narrow", "Trebuchet MS", sans-serif;
	--pt-num: "Jura", "Consolas", ui-monospace, monospace;
	--pt-rail-w: 252px;
	--pt-tx-soil: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='110'%3E%3Cg fill='none' stroke='%23f3e2c8' stroke-opacity='.09' stroke-width='1.2' stroke-linecap='round'%3E%3Cpath d='M12 4c3 14-6 22 2 36s-4 22 4 30'/%3E%3Cpath d='M14 40c8 4 12 12 22 12'/%3E%3Cpath d='M96 0c-4 12 6 20 0 34s4 18-2 30'/%3E%3Cpath d='M94 34c-10 2-14 10-24 12'/%3E%3Cpath d='M140 60c2 10-4 18 2 28'/%3E%3C/g%3E%3Cg fill='%23120a05' fill-opacity='.28'%3E%3Cellipse cx='50' cy='80' rx='5' ry='3.4'/%3E%3Cellipse cx='126' cy='22' rx='3.6' ry='2.4'/%3E%3Cellipse cx='70' cy='18' rx='2.4' ry='1.8'/%3E%3Cellipse cx='150' cy='96' rx='4' ry='2.6'/%3E%3C/g%3E%3Cg fill='%23f3e2c8' fill-opacity='.08'%3E%3Ccircle cx='30' cy='96' r='1.4'/%3E%3Ccircle cx='110' cy='70' r='1.6'/%3E%3Ccircle cx='80' cy='52' r='1.1'/%3E%3C/g%3E%3C/svg%3E");
	--pt-tx-loam: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='72' height='48'%3E%3Cg stroke='%23f7e3c6' stroke-opacity='.13' stroke-width='1.1'%3E%3Cpath d='M4 20l12-12M40 44l12-12'/%3E%3C/g%3E%3Cg fill='%23f7e3c6' fill-opacity='.16'%3E%3Ccircle cx='28' cy='12' r='1.3'/%3E%3Ccircle cx='60' cy='18' r='1.3'/%3E%3Ccircle cx='14' cy='38' r='1.3'/%3E%3C/g%3E%3Cg fill='%23281608' fill-opacity='.2'%3E%3Cellipse cx='50' cy='6' rx='4' ry='2.6'/%3E%3C/g%3E%3C/svg%3E");
	--pt-tx-sand: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='16'%3E%3Cg fill='%23735a2c' fill-opacity='.32'%3E%3Ccircle cx='3' cy='3' r='1.1'/%3E%3Ccircle cx='15' cy='3' r='1.1'/%3E%3Ccircle cx='9' cy='11' r='1.1'/%3E%3Ccircle cx='21' cy='11' r='1.1'/%3E%3C/g%3E%3C/svg%3E");
	--pt-tx-clay: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='16'%3E%3Cg stroke='%23ffffff' stroke-opacity='.14' stroke-width='1.3' stroke-linecap='round'%3E%3Cpath d='M3 4h14M27 4h14M15 12h14M39 12h6M0 12h3'/%3E%3C/g%3E%3C/svg%3E");
	--pt-tx-lime: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='28'%3E%3Cg fill='none' stroke='%237d7462' stroke-opacity='.3' stroke-width='1'%3E%3Cpath d='M0 .5h56M0 14.5h56M14.5 0v14M42.5 0v14M.5 14v14M28.5 14v14'/%3E%3C/g%3E%3C/svg%3E");
	--pt-tx-water: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='26'%3E%3Cpath d='M0 13c10-6 20-6 30 0s20 6 30 0 14-5 20-2' fill='none' stroke='%23ffffff' stroke-opacity='.18' stroke-width='1.4'/%3E%3C/svg%3E");
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
	margin: 0; min-height: 100vh; overflow-x: hidden;
	font: 400 17.5px/1.55 var(--pt-text); color: var(--pt-ink);
	background: var(--pt-paper)
		radial-gradient(circle at 20% 10%, rgba(255, 255, 255, .5), transparent 40%),
		radial-gradient(circle at 80% 70%, rgba(176, 124, 70, .06), transparent 45%);
	background-attachment: fixed;
}
a { color: var(--pt-water2); text-decoration: none; transition: color .2s; }
a:hover { color: var(--pt-red); }
img { max-width: 100%; }
h1, h2, h3, h4 { font-family: var(--pt-head); font-weight: 700; line-height: 1.15; margin: 0 0 .4em; color: var(--pt-ink); }
p { margin: 0 0 .8em; }
:focus-visible { outline: 2px solid var(--pt-red); outline-offset: 2px; }
.pt-skip { position: absolute; left: -9999px; top: 0; z-index: 100; background: var(--pt-ink); color: #fff; padding: 8px 14px; }
.pt-skip:focus { left: 12px; top: 12px; }
.pt-h1 { font: 800 clamp(30px, 3.4vw, 46px)/1.08 var(--pt-head); letter-spacing: -.01em; }
.pt-h2 { font: 700 26px/1.2 var(--pt-head); }
.pt-h3 { font: 700 20px/1.25 var(--pt-head); }
.pt-kicker { margin: 0 0 8px; font: 700 12px/1.3 var(--pt-num); letter-spacing: .12em; text-transform: uppercase; color: var(--pt-red2); }
.pt-kicker a { color: inherit; border-bottom: 1px solid currentColor; }
.pt-more { font: 700 12.5px/1.2 var(--pt-num); letter-spacing: .06em; text-transform: uppercase; color: var(--pt-water2); border-bottom: 1.5px solid rgba(27, 95, 128, .35); padding-bottom: 1px; }
.pt-more:hover { border-bottom-color: currentColor; }
.pt-empty { list-style: none; color: var(--pt-mute); font-style: italic; }

/* ------------------------------------------------------------------ каркас: рейка-глубиномер слева + основная колонка */
.pt-app { display: grid; grid-template-columns: var(--pt-rail-w) minmax(0, 1fr); min-height: 100vh; }
.pt-rail {
	position: sticky; top: 0; height: 100vh; z-index: 30;
	background: var(--pt-rail) var(--pt-tx-soil); color: #efe4d2;
	box-shadow: inset -1px 0 0 rgba(0, 0, 0, .4), 6px 0 18px -10px rgba(20, 10, 4, .55);
}
.pt-rail__in { height: 100%; overflow-y: auto; overflow-x: hidden; display: flex; flex-direction: column; padding: 16px 0 0; scrollbar-width: thin; scrollbar-color: #5a4636 transparent; }
.pt-rail__x { display: none; }
.pt-logo { display: flex; align-items: center; gap: 11px; padding: 0 16px 14px; color: #fff4e2; }
.pt-logo:hover { color: #fff; }
.pt-logo__mark { flex: none; border-radius: 9px; box-shadow: 0 0 0 1.5px rgba(231, 195, 68, .55); }
.pt-logo__txt { display: grid; gap: 3px; }
.pt-logo__name { font: 800 19px/1.02 var(--pt-head); }
.pt-logo__name b { color: var(--pt-tape); }
.pt-logo__sub { font: 500 11px/1.25 var(--pt-num); color: #c8b49b; letter-spacing: .02em; }
.pt-gauge__cap { display: flex; align-items: baseline; justify-content: space-between; margin: 0; padding: 10px 16px 8px; border-top: 1px solid rgba(255, 255, 255, .08); font: 700 10.5px/1 var(--pt-num); letter-spacing: .16em; text-transform: uppercase; color: #b9a58b; }
.pt-gauge__read { font: 700 13px/1 var(--pt-num); letter-spacing: 0; text-transform: none; color: #fff2d6; }
.pt-gauge__read b { font-size: 24px; color: var(--pt-tape); font-variant-numeric: tabular-nums; }
.pt-gauge { position: relative; display: grid; grid-template-columns: 30px minmax(0, 1fr); margin: 0 12px 0 10px; }
/* лента уровнемера: жёлтая, деления через 6 px, метр — через 30 px */
.pt-tape {
	position: relative; border-radius: 3px 0 0 3px;
	background:
		repeating-linear-gradient(180deg, transparent 0 29px, #1d1611 29px 31px),
		repeating-linear-gradient(180deg, transparent 0 5px, rgba(29, 22, 17, .55) 5px 6px) no-repeat 0 0 / 11px 100%,
		repeating-linear-gradient(180deg, transparent 0 5px, rgba(29, 22, 17, .55) 5px 6px) no-repeat 100% 0 / 7px 100%,
		linear-gradient(90deg, #d5ad2c, var(--pt-tape) 40%, #f2d673 70%, #d1a92a);
	box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .25);
}
.pt-probe {
	position: absolute; left: -6px; right: -6px; top: 0; height: 0; z-index: 3;
	transform: translateY(var(--pt-y, 0px)); transition: transform .25s cubic-bezier(.2, .7, .2, 1);
}
.pt-probe::before { content: ""; position: absolute; left: 0; top: -7px; border: 7px solid transparent; border-left: 9px solid var(--pt-red); border-right: 0; filter: drop-shadow(0 1px 1px rgba(0, 0, 0, .4)); }
.pt-probe i { position: absolute; left: 8px; top: -1px; width: calc(var(--pt-rail-w) - 38px); height: 2px; background: linear-gradient(90deg, var(--pt-red), rgba(194, 58, 29, .7) 60%, rgba(194, 58, 29, 0)); pointer-events: none; }
.pt-column { position: relative; display: grid; border-radius: 0 3px 3px 0; overflow: hidden; box-shadow: 0 0 0 1px rgba(0, 0, 0, .35); }
.pt-layer { position: relative; padding: 7px 0 8px 10px; transition: filter .3s, box-shadow .3s; }
.pt-layer::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: transparent; transition: background .3s; }
.pt-layer--pochva { background: var(--pt-soil) var(--pt-tx-soil); color: #f3e9d8; }
.pt-layer--suglinok { background: var(--pt-loam) var(--pt-tx-loam); color: #fff6e8; }
.pt-layer--pesok { background: var(--pt-sand) var(--pt-tx-sand); color: #2b211a; }
.pt-layer--glina { background: var(--pt-clay) var(--pt-tx-clay); color: #fff; }
.pt-layer--izvestnyak { background: var(--pt-lime) var(--pt-tx-lime); color: #2b211a; }
.pt-layer + .pt-layer { border-top: 1px solid rgba(0, 0, 0, .25); }
.pt-layer__h { display: flex; justify-content: space-between; align-items: baseline; gap: 6px; padding-right: 10px; color: inherit; }
.pt-layer__h:hover { color: inherit; }
.pt-layer__n { font: 800 16px/1.15 var(--pt-head); }
.pt-layer__m { font: 700 11px/1 var(--pt-num); opacity: .78; white-space: nowrap; }
.pt-layer__secs { list-style: none; margin: 4px 0 0; padding: 0; display: grid; }
.pt-layer__secs a { display: block; padding: 2px 10px 2px 0; font: 400 14px/1.22 var(--pt-text); color: inherit; opacity: .86; }
.pt-layer__secs a:hover { opacity: 1; text-decoration: underline; text-underline-offset: 2px; }
.pt-layer__secs a.is-on { opacity: 1; font-weight: 700; }
.pt-layer__secs a.is-on::before { content: ""; display: inline-block; width: 6px; height: 6px; margin: 0 6px 1px 0; border-radius: 50%; background: currentColor; }
.pt-layer.is-live { filter: saturate(1.15) brightness(1.06); box-shadow: inset 0 0 0 2px rgba(231, 195, 68, .85); }
.pt-layer.is-live::before, .pt-layer.is-on::before { background: var(--pt-tape); }
.pt-rail__aq { margin: 0 12px 0 40px; padding: 8px 10px; border-radius: 0 0 4px 4px; background: var(--pt-water) var(--pt-tx-water); font: 700 10.5px/1.1 var(--pt-num); letter-spacing: .12em; text-transform: uppercase; color: #e9f6fb; }
.pt-rail__in::after { content: ""; flex: 1 0 14px; }

.pt-main { min-width: 0; display: flex; flex-direction: column; }
.pt-top { position: relative; z-index: 20; display: flex; align-items: center; gap: 14px; padding: 12px clamp(16px, 3vw, 40px); border-bottom: 1px solid var(--pt-line); background: rgba(241, 235, 222, .92); }
.pt-rail-b, .pt-top__logo { display: none; }
.pt-top__crumbs { flex: 1 1 auto; min-width: 0; }
.pt-crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 7px; font: 500 13px/1.3 var(--pt-num); color: var(--pt-mute); }
.pt-crumbs a { color: var(--pt-ink2); }
.pt-crumbs a:hover { color: var(--pt-red); }
.pt-crumbs .active { color: var(--pt-ink); max-width: 46ch; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pt-crumbs__sep { color: var(--pt-dim); }
.pt-find { position: relative; display: flex; align-items: center; flex: 0 1 300px; }
.pt-find__l { position: absolute; left: -9999px; }
.pt-find input.textbox { width: 100%; padding: 8px 40px 8px 12px; border-radius: 999px; font-size: 15px; background: #fffdf8; }
.pt-find__b { position: absolute; right: 4px; top: 50%; transform: translateY(-50%); width: 32px; height: 32px; border: 0; border-radius: 50%; display: grid; place-items: center; background: var(--pt-rail); color: var(--pt-tape); cursor: pointer; }
.pt-find__b:hover { background: var(--pt-red); color: #fff; }
.pt-me { position: relative; }
.pt-me__b { display: inline-flex; align-items: center; gap: 8px; padding: 5px 13px 5px 5px; border: 1px solid var(--pt-line2); border-radius: 999px; background: var(--pt-card); color: var(--pt-ink); font: 700 14px/1 var(--pt-text); cursor: pointer; }
.pt-me__b .pt-ico { width: 30px; height: 30px; padding: 6px; border-radius: 50%; background: var(--pt-rail); color: var(--pt-tape); }
.pt-me__b:hover { border-color: var(--pt-ink); }
.pt-me__panel { position: absolute; right: 0; top: calc(100% + 8px); width: 300px; max-width: calc(100vw - 24px); padding: 16px; background: var(--pt-card); border: 1px solid var(--pt-line2); border-radius: 8px; box-shadow: 0 24px 40px -18px rgba(34, 26, 19, .55); z-index: 40; }
.pt-content { flex: 1 0 auto; width: 100%; max-width: 1320px; margin: 0 auto; padding: 22px clamp(16px, 3vw, 40px) 40px; }
.pt-page--index .pt-content { max-width: none; padding: 0; }
.pt-scrim { position: fixed; inset: 0; z-index: 25; background: rgba(20, 12, 6, .5); }

/* ------------------------------------------------------------------ общее: отметки, лица, звания, дебит */
.pt-mark { display: inline-flex; align-items: center; gap: 5px; padding: 3px 9px 3px 7px; border-radius: 3px; font: 700 11.5px/1.15 var(--pt-num); letter-spacing: .03em; white-space: nowrap; color: var(--pt-ink); background: var(--pt-paper2); box-shadow: inset 3px 0 0 var(--pt-mk, var(--pt-dim)); }
.pt-mark--vopros { --pt-mk: #8a8270; background: #ebe6da; }
.pt-mark--smety { --pt-mk: #b8953f; background: #f2e5bd; }
.pt-mark--burenie { --pt-mk: var(--pt-loam); background: #ecd6bc; }
.pt-mark--obustroystvo { --pt-mk: var(--pt-steel2); background: #dde3e7; }
.pt-mark--voda-est { --pt-mk: var(--pt-water); background: #d3eaf3; color: #10465f; }
.pt-mark--nepoladka { --pt-mk: var(--pt-red); background: #f4d7cc; color: #6f1f0e; }
.pt-mark--none { --pt-mk: transparent; background: transparent; color: var(--pt-dim); font-weight: 500; }
.pt-mark--xs { padding: 1px 6px 1px 6px; font-size: 10.5px; }
.pt-depth { display: inline-flex; align-items: center; gap: 4px; font: 700 12px/1 var(--pt-num); color: var(--pt-water2); white-space: nowrap; }
.pt-depth::before, .pt-row__depth::before { content: ""; width: 0; height: 0; border: 4.5px solid transparent; border-top: 6px solid currentColor; border-bottom: 0; }
.pt-face { position: relative; display: inline-grid; place-items: center; flex: none; border-radius: 50%; overflow: hidden; vertical-align: middle; font: 800 15px/1 var(--pt-head); color: #fff; box-shadow: 0 0 0 2px var(--pt-card), 0 0 0 3px rgba(34, 26, 19, .3); }
.pt-face img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pt-face--xs { width: 22px; height: 22px; font-size: 9.5px; box-shadow: 0 0 0 1.5px var(--pt-card); }
.pt-face--s { width: 30px; height: 30px; font-size: 12px; }
.pt-face--m { width: 46px; height: 46px; font-size: 16px; }
.pt-face--l { width: 60px; height: 60px; font-size: 20px; }
.pt-face--xl { width: 150px; height: 150px; font-size: 46px; box-shadow: 0 0 0 5px var(--pt-card), 0 0 0 7px rgba(34, 26, 19, .35); }
/* монограммы: срез керна одной из пяти пород */
.pt-tone-0 { background: var(--pt-soil) var(--pt-tx-soil); }
.pt-tone-1 { background: var(--pt-loam) var(--pt-tx-loam); }
.pt-tone-2 { background: #c9a660 var(--pt-tx-sand); color: #2b211a; }
.pt-tone-3 { background: var(--pt-clay) var(--pt-tx-clay); }
.pt-tone-4 { background: #b7af9d var(--pt-tx-lime); color: #2b211a; }
.pt-badge { flex: none; vertical-align: middle; }
.pt-badge__case { fill: #fffdf8; stroke: rgba(34, 26, 19, .45); stroke-width: 1; }
.pt-badge__s { fill: rgba(34, 26, 19, .08); }
.pt-badge__s--0.is-on { fill: var(--pt-grass); }
.pt-badge__s--1.is-on { fill: var(--pt-soil); }
.pt-badge__s--2.is-on { fill: var(--pt-loam); }
.pt-badge__s--3.is-on { fill: #c9a660; }
.pt-badge__s--4.is-on { fill: var(--pt-clay); }
.pt-badge__s--5.is-on { fill: #a59c88; }
.pt-rank { display: inline-flex; align-items: center; gap: 6px; font: 700 13px/1.15 var(--pt-text); color: var(--pt-ink2); }
.pt-rep { display: inline-flex; align-items: center; gap: 4px; font: 500 12px/1 var(--pt-num); color: var(--pt-water2); white-space: nowrap; }
.pt-rep b { font-weight: 700; font-size: 13px; }
.pt-rep--down { color: var(--pt-red2); }
.pt-rep--zero { color: var(--pt-dim); }
.pt-rep__l { text-transform: lowercase; }
.pt-stack { display: flex; flex-wrap: wrap; }
.pt-stack .pt-face { margin-right: -7px; }

/* ------------------------------------------------------------------ главная: устье */
.pt-mouth {
	position: relative; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 26px 44px; align-items: start;
	padding: 36px clamp(16px, 3vw, 44px) 188px;
	background:
		linear-gradient(180deg, rgba(207, 232, 242, .55), rgba(207, 232, 242, 0) 62%),
		repeating-linear-gradient(0deg, transparent 0 27px, rgba(42, 133, 181, .06) 27px 28px);
}
.pt-mouth__txt { max-width: 640px; padding-top: 6px; }
.pt-mouth__h { font-size: clamp(40px, 5.2vw, 76px); margin-bottom: 16px; }
.pt-mouth__h b { color: var(--pt-water); }
.pt-lead { font-size: 19.5px; line-height: 1.5; color: var(--pt-ink2); max-width: 56ch; }
.pt-mouth__how { list-style: none; margin: 20px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.pt-mouth__how li { padding: 10px 12px 11px; border-top: 3px solid var(--pt-ink); background: rgba(251, 248, 241, .7); font-size: 14.5px; line-height: 1.35; color: var(--pt-ink2); }
.pt-mouth__how b { display: block; margin-bottom: 3px; font: 700 12px/1 var(--pt-num); letter-spacing: .12em; text-transform: uppercase; color: var(--pt-red2); }
.pt-log { position: relative; z-index: 2; background: var(--pt-card); border: 1px solid var(--pt-line2); border-radius: 6px; box-shadow: 0 22px 40px -26px rgba(34, 26, 19, .6); }
.pt-log::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 5px; border-radius: 6px 6px 0 0; background: linear-gradient(90deg, var(--pt-soil) 0 20%, var(--pt-loam) 20% 40%, #c9a660 40% 60%, var(--pt-clay) 60% 80%, #b7af9d 80%); }
.pt-log__head { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; padding: 16px 18px 10px; border-bottom: 1.5px solid var(--pt-ink); }
.pt-log__head .pt-h3 { margin: 0; }
.pt-log__list { list-style: none; margin: 0; padding: 0; }
.pt-logrow { display: grid; grid-template-columns: 58px minmax(0, 1fr) auto; gap: 12px; align-items: start; padding: 10px 18px; border-bottom: 1px dashed var(--pt-line2); }
.pt-logrow:last-child { border-bottom: 0; }
.pt-logrow__d, .pt-jrow__d, .pt-plist__d { margin: 0; font: 500 11px/1.15 var(--pt-num); color: var(--pt-mute); display: grid; align-content: start; gap: 2px; }
.pt-logrow__d b, .pt-jrow__d b, .pt-plist__d b { font: 700 16px/1.1 var(--pt-num); color: var(--pt-ink); }
.pt-logrow__d i, .pt-jrow__d i, .pt-plist__d i { font-style: normal; }
.pt-logrow__t { display: block; font: 700 16.5px/1.25 var(--pt-text); color: var(--pt-ink); }
.pt-logrow__t:hover { color: var(--pt-red); }
.pt-logrow__m { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 10px; margin: 4px 0 0; font-size: 13px; color: var(--pt-mute); }
.pt-logrow__m span + span::before { content: "·"; margin-right: 10px; color: var(--pt-dim); }
.pt-logrow__m .pt-face + span::before { content: none; }
.pt-logrow__k { display: grid; justify-items: end; gap: 5px; margin: 2px 0 0; }
/* поверхность участка: трава, забор, дом и буровая над колонной */
.pt-surface { position: absolute; left: 0; right: 0; bottom: 0; height: 170px; pointer-events: none; }
.pt-surface__svg { display: block; width: 100%; height: 100%; }
.pt-surface__hill { fill: var(--pt-soil); }
.pt-surface__grass { fill: none; stroke: var(--pt-grass); stroke-width: 7; stroke-linecap: round; }
.pt-surface__fence path { fill: none; stroke: #8a7457; stroke-width: 4; stroke-linecap: round; }
.pt-surface__house .w { fill: #efe2c9; stroke: #3a2d23; stroke-width: 2; }
.pt-surface__house .r { fill: #7c3b24; stroke: #3a2d23; stroke-width: 2; stroke-linejoin: round; }
.pt-surface__house .d { fill: #8a6a45; }
.pt-surface__house .g { fill: var(--pt-water-l); stroke: #3a2d23; stroke-width: 1.5; }
.pt-surface__house .c { fill: none; stroke: #3a2d23; stroke-width: 2.4; }
.pt-surface__tree circle { fill: #4f7a3a; }
.pt-surface__tree .t { stroke: #5a4030; stroke-width: 4; }
.pt-surface__rig .mast { fill: #d6dde2; stroke: #2b211a; stroke-width: 2; stroke-linejoin: round; }
.pt-surface__rig .lat { fill: none; stroke: #2b211a; stroke-width: 1.4; }
.pt-surface__rig .cab { fill: var(--pt-red); stroke: #2b211a; stroke-width: 2; stroke-linejoin: round; }
.pt-surface__rig .body { fill: var(--pt-tape); stroke: #2b211a; stroke-width: 2; }
.pt-surface__rig .wh { fill: #2b211a; stroke: #6b6b6b; stroke-width: 3; }
.pt-surface__rig .top { stroke: #2b211a; stroke-width: 5; stroke-linecap: round; }

/* ------------------------------------------------------------------ главная: разрез (колонна трубы и главы-слои) */
.pt-bore { position: relative; }
.pt-pipe { position: absolute; left: 50%; top: 0; bottom: 0; width: 46px; margin-left: -23px; z-index: 4; pointer-events: none; }
.pt-pipe__plan { position: absolute; inset: 0 7px; border-left: 2px dashed rgba(255, 255, 255, .35); border-right: 2px dashed rgba(255, 255, 255, .35); }
.pt-pipe__done {
	position: absolute; left: 0; right: 0; top: 0; height: var(--pt-drill, 120px);
	background:
		repeating-linear-gradient(180deg, transparent 0 170px, rgba(30, 36, 40, .55) 170px 172px, #b9c2c8 172px 182px, rgba(30, 36, 40, .55) 182px 184px),
		linear-gradient(90deg, #4f585f 0%, #8f9aa2 18%, #e4eaee 38%, #b4bec5 56%, #6e7880 82%, #3f474d 100%);
	border-left: 1px solid #262d32; border-right: 1px solid #262d32;
	box-shadow: 0 0 0 4px rgba(34, 26, 19, .35), 0 0 22px rgba(0, 0, 0, .35);
	transition: height .12s linear;
}
.pt-pipe__done::before { content: ""; position: absolute; left: 50%; top: 0; bottom: 0; width: 10px; margin-left: -5px; background: rgba(20, 24, 28, .55); box-shadow: inset 0 0 4px rgba(0, 0, 0, .6); }
.pt-pipe__bit { position: absolute; left: 50%; bottom: -44px; width: 40px; height: 46px; margin-left: -20px; transform-origin: 50% 30%; }
.pt-pipe__bit svg { display: block; }
.pt-pipe__bit .b1 { fill: #6e7880; stroke: #262d32; stroke-width: 1.4; }
.pt-pipe__bit .b2 { fill: var(--pt-tape); stroke: #3a2d23; stroke-width: 1.4; stroke-linejoin: round; }
.pt-pipe__bit .b3 { fill: #c9d0d5; stroke: #262d32; stroke-width: 1.4; stroke-linejoin: round; }
.pt-pipe__bit .b4 { stroke: #3a2d23; stroke-width: 1.4; }
.pt-bore.is-drilling .pt-pipe__bit svg { animation: pt-spin .35s linear infinite; }
@keyframes pt-spin { 0% { transform: scaleX(1); } 50% { transform: scaleX(-1); } 100% { transform: scaleX(1); } }
.pt-pipe__water { position: absolute; left: 8px; right: 8px; bottom: 0; height: 0; background: linear-gradient(180deg, #6fc0e3, var(--pt-water)); border-radius: 0 0 3px 3px; transition: height 1.2s ease-out; }
.pt-bore.is-water .pt-pipe__water { height: 46%; }
.pt-bore.is-water .pt-pipe__bit { opacity: 0; transition: opacity .6s; }

.pt-ch { position: relative; padding: 78px clamp(16px, 3vw, 44px) 86px; }
.pt-ch::before { content: ""; position: absolute; left: 0; right: 0; top: -22px; height: 24px; background: inherit; z-index: 1;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 24' preserveAspectRatio='none'%3E%3Cpath d='M0 14C60 6 110 18 170 12S290 2 350 10 470 20 530 11 590 8 600 9V24H0z'/%3E%3C/svg%3E") 0 0 / 100% 100%;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 24' preserveAspectRatio='none'%3E%3Cpath d='M0 14C60 6 110 18 170 12S290 2 350 10 470 20 530 11 590 8 600 9V24H0z'/%3E%3C/svg%3E") 0 0 / 100% 100%; }
.pt-ch--pochva { background: var(--pt-soil) var(--pt-tx-soil); color: #f3e9d8; padding-top: 40px; }
.pt-ch--pochva::before { content: none; }
.pt-ch--suglinok { background: var(--pt-loam) var(--pt-tx-loam); color: #fff6e8; }
.pt-ch--pesok { background: var(--pt-sand) var(--pt-tx-sand); color: #2b211a; }
.pt-ch--glina { background: var(--pt-clay) var(--pt-tx-clay); color: #fff; }
.pt-ch--izvestnyak { background: var(--pt-lime) var(--pt-tx-lime); color: #2b211a; }
.pt-ch__grid { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0, 1fr) 70px minmax(0, 1fr); gap: 0 26px; max-width: 1280px; margin: 0 auto; align-items: start; }
.pt-ch--flip .pt-ch__side--secs { order: 3; }
.pt-ch--flip .pt-ch__axis { order: 2; }
.pt-ch--flip .pt-ch__side--card { order: 1; }
.pt-ch__side { min-width: 0; }
.pt-ch__head { margin-bottom: 20px; }
.pt-ch__m { display: flex; align-items: baseline; gap: 12px; margin: 0 0 6px; font: 700 15px/1 var(--pt-num); letter-spacing: .04em; }
.pt-ch__m span { padding: 4px 7px; border: 1.5px solid currentColor; border-radius: 3px; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; }
.pt-ch__h { margin: 0; font: 800 clamp(48px, 6vw, 86px)/.95 var(--pt-head); color: inherit; letter-spacing: -.015em; }
.pt-ch__rock { margin: 6px 0 12px; font: 400 italic 18px/1.3 var(--pt-text); opacity: .85; }
.pt-ch__d { max-width: 50ch; font-size: 18px; line-height: 1.45; }
.pt-ch.is-live .pt-ch__h { text-shadow: 0 0 0 transparent; }
.pt-ch__h::after { content: ""; display: block; width: 0; height: 4px; margin-top: 10px; background: var(--pt-tape); transition: width .7s cubic-bezier(.2, .7, .2, 1); }
.pt-ch.is-live .pt-ch__h::after { width: 92px; }

.pt-secs { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.pt-sec { display: grid; grid-template-columns: 38px minmax(0, 1fr); gap: 0 12px; padding: 15px 18px 14px 14px; background: var(--pt-card); color: var(--pt-ink); border-radius: 5px; box-shadow: 0 1px 0 rgba(0, 0, 0, .1), 0 12px 24px -18px rgba(20, 12, 6, .8); transition: transform .25s, box-shadow .25s; }
.pt-sec:hover { transform: translateY(-2px); box-shadow: 0 1px 0 rgba(0, 0, 0, .1), 0 18px 30px -18px rgba(20, 12, 6, .9); }
.pt-secs--grid { grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); }
.pt-secs--grid .pt-sec { grid-template-columns: minmax(0, 1fr); }
.pt-sec__no { margin: 2px 0 0; font: 700 15px/1 var(--pt-num); color: var(--pt-red2); border-top: 2px solid currentColor; padding-top: 6px; }
.pt-sec__t { margin: 0 0 4px; font: 700 21px/1.18 var(--pt-head); }
.pt-sec__t a { color: var(--pt-ink); }
.pt-sec__t a:hover { color: var(--pt-red); }
.pt-sec__d { margin: 0 0 8px; font-size: 15px; line-height: 1.4; color: var(--pt-mute); }
.pt-sec__last { list-style: none; margin: 0; padding: 8px 0 0; border-top: 1px dashed var(--pt-line2); display: grid; gap: 6px; }
.pt-sec__last li { display: grid; gap: 2px; font-size: 15px; line-height: 1.3; }
.pt-sec__last a { color: var(--pt-water2); font-weight: 700; }
.pt-sec__last a:hover { color: var(--pt-red); }
.pt-sec__last span { display: flex; align-items: center; gap: 8px; font: 500 12px/1.2 var(--pt-num); color: var(--pt-dim); }
.pt-sec__lp, .pt-sec__n { margin: 4px 0 0; font: 500 12.5px/1.3 var(--pt-num); color: var(--pt-mute); }
.pt-sec__lt span { color: var(--pt-dim); }
.pt-new { display: none; }

/* карточки-памятки внутри глав */
.pt-card { position: relative; padding: 22px 22px 20px; background: var(--pt-card); color: var(--pt-ink); border-radius: 6px; box-shadow: 0 1px 0 rgba(0, 0, 0, .12), 0 26px 44px -26px rgba(20, 12, 6, .85); }
.pt-card::after { content: ""; position: absolute; right: 18px; top: -9px; width: 54px; height: 18px; background: rgba(231, 195, 68, .82); transform: rotate(3deg); box-shadow: 0 1px 2px rgba(0, 0, 0, .2); }
.pt-card__k { margin: 0 0 6px; font: 700 11px/1.2 var(--pt-num); letter-spacing: .14em; text-transform: uppercase; color: var(--pt-red2); }
.pt-card__h { margin: 0 0 8px; font: 800 26px/1.12 var(--pt-head); }
.pt-card__p { margin: 0 0 14px; font-size: 15.5px; line-height: 1.42; color: var(--pt-mute); }
.pt-card__warn { margin: 14px 0 0; padding-top: 10px; border-top: 1px dashed var(--pt-line2); font-size: 14px; line-height: 1.4; color: var(--pt-mute); }

/* «Пройдёт ли буровая» */
.pt-rig__f { display: grid; gap: 10px; }
.pt-rig__f fieldset { margin: 0; padding: 0; border: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.pt-rig__f legend { width: 100%; padding: 0; margin: 0 0 6px; font: 700 11px/1.2 var(--pt-num); letter-spacing: .1em; text-transform: uppercase; color: var(--pt-mute); }
.pt-opt { position: relative; cursor: pointer; }
.pt-opt input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.pt-opt span { display: inline-block; padding: 6px 12px; border: 1.5px solid var(--pt-line2); border-radius: 999px; font: 700 14px/1.1 var(--pt-text); color: var(--pt-ink2); background: #fffdf8; transition: background .2s, border-color .2s, color .2s; }
.pt-opt:hover span { border-color: var(--pt-ink); }
.pt-opt input:checked + span { background: var(--pt-rail); border-color: var(--pt-rail); color: var(--pt-tape); }
.pt-opt input:focus-visible + span { outline: 2px solid var(--pt-red); outline-offset: 2px; }
.pt-rig__out { display: grid; grid-template-columns: 160px minmax(0, 1fr); gap: 4px 16px; margin-top: 16px; padding: 14px; border-radius: 5px; background: linear-gradient(180deg, #eef6f9, #f6f1e6); border: 1px solid var(--pt-line); }
.pt-rig__pic { grid-row: span 2; align-self: center; }
.pt-rig__pic .gr { stroke: var(--pt-soil); stroke-width: 4; }
.pt-rig__pic g { opacity: 0; transition: opacity .35s, transform .35s; transform: translateY(6px); }
.pt-rig__out[data-rig="truck"] .r-truck, .pt-rig__out[data-rig="mini"] .r-mini, .pt-rig__out[data-rig="hand"] .r-hand { opacity: 1; transform: none; }
.pt-rig__pic .m { fill: #d6dde2; stroke: #2b211a; stroke-width: 1.6; }
.pt-rig__pic .c { fill: var(--pt-red); stroke: #2b211a; stroke-width: 1.6; }
.pt-rig__pic .b { fill: var(--pt-tape); stroke: #2b211a; stroke-width: 1.6; }
.pt-rig__pic circle { fill: #2b211a; }
.pt-rig__pic .tr { fill: #3a2d23; }
.pt-rig__pic .tp { fill: none; stroke: #2b211a; stroke-width: 2; }
.pt-rig__pic .r-hand .m { fill: none; stroke: var(--pt-steel2); stroke-width: 3; }
.pt-rig__v { margin: 0; font: 700 17px/1.32 var(--pt-text); }
.pt-rig__notes { list-style: none; margin: 0; padding: 0; display: grid; gap: 5px; font-size: 14.5px; line-height: 1.38; color: var(--pt-ink2); }
.pt-rig__notes li { position: relative; padding-left: 18px; }
.pt-rig__notes li::before { content: ""; position: absolute; left: 0; top: .42em; width: 9px; height: 9px; border-radius: 50%; background: var(--pt-grass); }
.pt-rig__notes li.warn::before { background: #d9a429; }
.pt-rig__notes li.stop::before { background: var(--pt-red); border-radius: 1px; }

/* календарь */
.pt-cal__m { list-style: none; margin: 0 0 12px; padding: 0; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 5px; }
.pt-cal__b { width: 100%; height: 50px; border: 0; border-radius: 4px; font: 700 14px/1 var(--pt-num); text-transform: uppercase; color: var(--pt-ink); cursor: pointer; transition: transform .2s, box-shadow .2s; }
.pt-cal__b:hover { transform: translateY(-2px); }
.pt-cal__b--zimnik, .pt-cal__lg--zimnik::before { background: #d6e8f0; }
.pt-cal__b--rasputica, .pt-cal__lg--rasputica::before { background: #8a6a45; color: #fff4e2; }
.pt-cal__b--suho, .pt-cal__lg--suho::before { background: #e7cf8c; }
.pt-cal__b--dozhdi, .pt-cal__lg--dozhdi::before { background: #9fb2bf; }
.pt-cal__b--predzime, .pt-cal__lg--predzime::before { background: #c7cfd4; }
.pt-cal__b.is-now { box-shadow: 0 0 0 2.5px var(--pt-ink); }
.pt-cal__b.is-now::after { content: "сейчас"; display: block; margin-top: 4px; font-size: 8.5px; letter-spacing: .1em; }
.pt-cal__b[aria-pressed="true"] { box-shadow: 0 0 0 2.5px var(--pt-red); transform: translateY(-2px); }
.pt-cal__legend { list-style: none; margin: 0 0 12px; padding: 0; display: flex; flex-wrap: wrap; gap: 4px 14px; font: 500 12px/1.2 var(--pt-num); color: var(--pt-mute); }
.pt-cal__legend li::before { content: ""; display: inline-block; width: 11px; height: 11px; margin: 0 5px -1px 0; border-radius: 2px; }
.pt-cal__note { margin: 0; padding: 12px 14px; min-height: 76px; border-left: 4px solid var(--pt-tape); background: #f6f0e2; font-size: 16px; line-height: 1.42; }
.pt-cal__note b { font-family: var(--pt-num); text-transform: uppercase; font-size: 13px; letter-spacing: .06em; margin-right: 6px; }

/* вопросы бригаде */
.pt-ask__bar { height: 10px; border-radius: 999px; background: #e6dcc6; overflow: hidden; box-shadow: inset 0 1px 2px rgba(0, 0, 0, .15); }
.pt-ask__bar span { display: block; height: 100%; width: var(--pt-ask, 0%); background: repeating-linear-gradient(90deg, var(--pt-water) 0 14px, #3b98c7 14px 16px); transition: width .4s cubic-bezier(.2, .7, .2, 1); }
.pt-ask__n { margin: 6px 0 10px; font: 700 12.5px/1 var(--pt-num); color: var(--pt-water2); }
.pt-ask__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; counter-reset: ask; }
.pt-ask__list label { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 10px; padding: 8px 6px; border-bottom: 1px dashed var(--pt-line); cursor: pointer; font-size: 15.5px; line-height: 1.38; }
.pt-ask__list label:hover { background: rgba(231, 195, 68, .12); }
.pt-ask__list input { appearance: none; -webkit-appearance: none; width: 20px; height: 20px; margin: 1px 0 0; border: 1.8px solid var(--pt-ink2); border-radius: 3px; background: #fffdf8; display: grid; place-items: center; cursor: pointer; }
.pt-ask__list input::after { content: ""; width: 10px; height: 6px; border-left: 2.4px solid var(--pt-red); border-bottom: 2.4px solid var(--pt-red); transform: rotate(-45deg) scale(0); transition: transform .2s; margin-top: -3px; }
.pt-ask__list input:checked::after { transform: rotate(-45deg) scale(1); }
.pt-ask__list input:checked + span { color: var(--pt-mute); text-decoration: line-through; text-decoration-color: rgba(194, 58, 29, .5); }

/* кессон или адаптер */
.pt-seg { display: inline-flex; padding: 3px; margin: 0 0 12px; border-radius: 999px; background: #e9e0cd; }
.pt-seg__b { padding: 7px 16px; border: 0; border-radius: 999px; background: transparent; font: 700 14px/1 var(--pt-text); color: var(--pt-ink2); cursor: pointer; }
.pt-seg__b.is-on { background: var(--pt-rail); color: var(--pt-tape); }
.pt-head__fig { margin: 0; }
.pt-head__fig svg { display: block; width: 100%; height: auto; border-radius: 4px; background: linear-gradient(180deg, #e6f2f7 0 20%, transparent 20%); }
.pt-head__fig .soil { fill: #b4875a; }
.pt-head__fig .grass { stroke: var(--pt-grass); stroke-width: 6; }
.pt-head__fig .frost { stroke: #eaf6fb; stroke-width: 2; stroke-dasharray: 8 6; }
.pt-head__fig .house .w { fill: #efe2c9; stroke: #3a2d23; stroke-width: 2; }
.pt-head__fig .house .r { fill: none; stroke: #7c3b24; stroke-width: 5; stroke-linejoin: round; }
.pt-head__fig .house .f { fill: #8b8478; }
.pt-head__fig .ks { fill: #dfe5e9; stroke: #3a2d23; stroke-width: 2; }
.pt-head__fig .ks-lid, .pt-head__fig .ks-neck { fill: #9aa4ab; stroke: #3a2d23; stroke-width: 2; }
.pt-head__fig .pipe-h { fill: none; stroke: var(--pt-water2); stroke-width: 5; stroke-linejoin: round; }
.pt-head__fig .casing { fill: #c9d0d5; stroke: #3a2d23; stroke-width: 1.6; }
.pt-head__fig .water { fill: var(--pt-water); }
.pt-head__fig .pump { fill: var(--pt-tape); stroke: #3a2d23; stroke-width: 1.2; }
.pt-head__fig .hose { stroke: var(--pt-water2); stroke-width: 2.2; }
.pt-head__fig .cap { fill: #5d676f; stroke: #262d32; stroke-width: 1.2; }
.pt-head__fig .ad { fill: var(--pt-red); stroke: #262d32; stroke-width: 1.2; }
.pt-head__fig .lbl { font: 700 11.5px var(--pt-num); fill: #2b211a; paint-order: stroke; stroke: rgba(255, 250, 238, .85); stroke-width: 3px; }
.pt-head__fig .v-kesson, .pt-head__fig .v-adapter { transition: opacity .4s; }
.pt-head__fig[data-head="kesson"] .v-adapter, .pt-head__fig[data-head="adapter"] .v-kesson { opacity: 0; }
.pt-head__cap { margin-top: 10px; font-size: 15.5px; line-height: 1.42; color: var(--pt-ink2); min-height: 66px; }

/* районы */
.pt-dist__l { display: block; margin-bottom: 6px; font: 700 11px/1 var(--pt-num); letter-spacing: .1em; text-transform: uppercase; color: var(--pt-mute); }
.pt-dist__s { width: 100%; margin-bottom: 14px; font-weight: 700; }
.pt-dist__out { display: grid; grid-template-columns: 54px minmax(0, 1fr); gap: 16px; }
.pt-dist__col { position: relative; height: 190px; border-radius: 4px; overflow: hidden; background: linear-gradient(180deg, var(--pt-soil) 0 5%, var(--pt-loam) 5% 20%, #c9a660 20% 45%, var(--pt-clay) 45% 70%, #b7af9d 70%); box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .3); }
.pt-dist__win { position: absolute; left: 0; right: 0; top: var(--pt-from, 20%); height: var(--pt-len, 30%); background: rgba(42, 133, 181, .78) var(--pt-tx-water); box-shadow: 0 0 0 2px var(--pt-tape); transition: top .45s cubic-bezier(.2, .7, .2, 1), height .45s cubic-bezier(.2, .7, .2, 1); }
.pt-dist__col i { position: absolute; right: 3px; font: 700 9.5px/1 var(--pt-num); font-style: normal; color: #fff; text-shadow: 0 1px 1px rgba(0, 0, 0, .6); }
.pt-dist__col i:nth-of-type(1) { top: 3px; } .pt-dist__col i:nth-of-type(2) { top: calc(50% - 5px); } .pt-dist__col i:nth-of-type(3) { bottom: 3px; }
.pt-dist__aim { margin: 0 0 2px; font: 800 22px/1.15 var(--pt-head); }
.pt-dist__range { margin: 0 0 8px; font: 700 14px/1.2 var(--pt-num); color: var(--pt-water2); }
.pt-dist__note { margin: 0; font-size: 15.5px; line-height: 1.42; color: var(--pt-ink2); }

/* забой: водоносный горизонт */
.pt-aq { position: relative; padding: 70px clamp(16px, 3vw, 44px) 80px; background: var(--pt-water) var(--pt-tx-water); color: #fff; text-align: center; }
.pt-aq::before { content: ""; position: absolute; left: 0; right: 0; top: -22px; height: 24px; background: var(--pt-water);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 24' preserveAspectRatio='none'%3E%3Cpath d='M0 12C50 4 100 20 150 12S250 4 300 12 400 20 450 12 550 4 600 12V24H0z'/%3E%3C/svg%3E") 0 0 / 100% 100%;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 24' preserveAspectRatio='none'%3E%3Cpath d='M0 12C50 4 100 20 150 12S250 4 300 12 400 20 450 12 550 4 600 12V24H0z'/%3E%3C/svg%3E") 0 0 / 100% 100%; }
.pt-aq__in { position: relative; z-index: 5; max-width: 640px; margin: 0 auto; padding: 26px 26px 24px; border-radius: 8px; background: rgba(16, 70, 95, .55); backdrop-filter: blur(2px); }
.pt-aq .pt-ch__m { justify-content: center; color: #cfe8f2; text-transform: uppercase; letter-spacing: .2em; font-size: 12px; }
.pt-aq__h { margin: 4px 0 10px; font: 800 clamp(44px, 5vw, 70px)/1 var(--pt-head); color: #fff; }
.pt-aq__p { font-size: 18px; color: #e3f2f8; }
.pt-aq__links { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: 14px 0 0; }
.pt-aq__links a { padding: 9px 16px; border-radius: 999px; background: #fff; color: var(--pt-water2); font: 700 15px/1 var(--pt-text); }
.pt-aq__links a:hover { background: var(--pt-tape); color: var(--pt-ink); }
.pt-page--index .pt-foot { margin-top: 0; }

/* ------------------------------------------------------------------ раздел: шапка-керн, фильтр отметок, буровой журнал */
.pt-fhead { display: grid; grid-template-columns: 30px minmax(0, 1fr) auto; gap: 0 20px; align-items: start; margin: 4px 0 16px; padding: 0 0 18px; border-bottom: 2px solid var(--pt-ink); }
.pt-fhead__core { align-self: stretch; min-height: 120px; border-radius: 15px; overflow: hidden; box-shadow: inset 0 0 0 1.5px rgba(0, 0, 0, .35), inset 6px 0 8px -4px rgba(255, 255, 255, .35), inset -6px 0 8px -4px rgba(0, 0, 0, .3); }
.pt-fhead__core span { display: block; height: 100%; }
.pt-fhead--pochva .pt-fhead__core span { background: var(--pt-soil) var(--pt-tx-soil); }
.pt-fhead--suglinok .pt-fhead__core span { background: var(--pt-loam) var(--pt-tx-loam); }
.pt-fhead--pesok .pt-fhead__core span { background: var(--pt-sand) var(--pt-tx-sand); }
.pt-fhead--glina .pt-fhead__core span { background: var(--pt-clay) var(--pt-tx-clay); }
.pt-fhead--izvestnyak .pt-fhead__core span { background: var(--pt-lime) var(--pt-tx-lime); }
.pt-fhead--none .pt-fhead__core span { background: linear-gradient(180deg, var(--pt-soil) 0 20%, var(--pt-loam) 20% 40%, var(--pt-sand) 40% 60%, var(--pt-clay) 60% 80%, var(--pt-lime) 80%); }
.pt-fhead__d { max-width: 70ch; color: var(--pt-ink2); font-size: 17.5px; }
.pt-fhead__n { margin: 0; font: 500 13px/1.2 var(--pt-num); color: var(--pt-mute); }
.pt-fhead__n b { color: var(--pt-ink); }
.pt-fhead__act { padding-top: 26px; }
.pt-filter { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 14px; }
.pt-filter:empty { display: none; }
.pt-chip { display: inline-flex; align-items: center; gap: 7px; padding: 6px 12px; border: 1.5px solid var(--pt-line2); border-radius: 999px; background: var(--pt-card); font: 700 14px/1 var(--pt-text); color: var(--pt-ink2); cursor: pointer; }
.pt-chip b { font: 700 11.5px/1 var(--pt-num); color: var(--pt-mute); }
.pt-chip:hover { border-color: var(--pt-ink); }
.pt-chip.is-on { background: var(--pt-rail); border-color: var(--pt-rail); color: var(--pt-tape); }
.pt-chip.is-on b { color: #e9d9b5; }
.pt-jour { background: var(--pt-card); border: 1px solid var(--pt-line2); border-radius: 6px; overflow: hidden; }
.pt-jour__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 6px 16px; padding: 16px 18px 10px; }
.pt-jour__head .pt-h2 { margin: 0; }
.pt-sort { display: flex; flex-wrap: wrap; gap: 4px 12px; margin: 0; font: 500 12.5px/1.2 var(--pt-num); color: var(--pt-mute); }
.pt-sort a { color: var(--pt-ink2); border-bottom: 1px dotted currentColor; }
.pt-jour__cols, .pt-jrow { display: grid; grid-template-columns: 76px minmax(0, 1fr) 132px 74px 74px; gap: 0 14px; align-items: center; }
.pt-jour__cols { padding: 8px 18px; background: var(--pt-rail); color: #e9d9b5; font: 700 10.5px/1 var(--pt-num); letter-spacing: .12em; text-transform: uppercase; }
.pt-jour__list { list-style: none; margin: 0; padding: 0; }
.pt-jrow { position: relative; padding: 12px 18px; border-bottom: 1px solid var(--pt-line); }
.pt-jrow:nth-child(even) { background: rgba(231, 222, 201, .28); }
.pt-jrow:hover { background: rgba(231, 195, 68, .12); }
.pt-jrow__h { margin: 0; font: 700 17.5px/1.25 var(--pt-text); }
.pt-jrow__t { color: var(--pt-ink); }
.pt-jrow__t:hover { color: var(--pt-red); }
.pt-jrow__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 3px 10px; margin: 5px 0 0; font-size: 13.5px; color: var(--pt-mute); }
.pt-jrow__meta a { color: var(--pt-ink2); font-weight: 700; }
.pt-jrow__k, .pt-jrow__dep { margin: 0; }
.pt-jrow__dep { font: 700 14px/1 var(--pt-num); color: var(--pt-water2); }
.pt-jrow__n { display: grid; justify-items: center; color: var(--pt-ink); }
.pt-jrow__n b { font: 700 20px/1 var(--pt-num); }
.pt-jrow__n span { font: 500 10.5px/1.2 var(--pt-num); color: var(--pt-mute); }
.pt-jrow__mod { position: absolute; right: 6px; top: 6px; }
.pt-pages { margin-left: 8px; font: 500 12px/1 var(--pt-num); color: var(--pt-mute); }
.pt-pages a { margin: 0 2px; }
.pt-sep { list-style: none; padding: 7px 18px; background: var(--pt-paper2); font: 700 11px/1 var(--pt-num); letter-spacing: .14em; text-transform: uppercase; color: var(--pt-mute); }
.pt-jrow.sticky .pt-jrow__t::before { content: "закреплено"; margin-right: 8px; padding: 2px 6px; border-radius: 3px; background: var(--pt-tape); font: 700 10px/1 var(--pt-num); text-transform: uppercase; vertical-align: 2px; color: var(--pt-ink); }
.pt-jour__none { padding: 16px 18px; color: var(--pt-mute); }
.pt-bar { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px 20px; margin: 14px 0; }
.pt-bar__r { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; }
.pt-subs, .pt-subcat { margin: 0 0 18px; }
.pt-subcat__t { font: 700 22px/1.2 var(--pt-head); }

/* ------------------------------------------------------------------ тема: паспорт и журнал бурения */
.pt-pass { position: relative; display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; gap: 0 24px; margin: 4px 0 16px; padding: 20px 22px 20px 18px; background: var(--pt-card); border: 1px solid var(--pt-line2); border-radius: 6px; box-shadow: 0 20px 34px -26px rgba(34, 26, 19, .7); }
.pt-pass::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 8px; border-radius: 6px 6px 0 0; }
.pt-pass--pochva::before { background: var(--pt-soil) var(--pt-tx-soil); }
.pt-pass--suglinok::before { background: var(--pt-loam) var(--pt-tx-loam); }
.pt-pass--pesok::before { background: var(--pt-sand) var(--pt-tx-sand); }
.pt-pass--glina::before { background: var(--pt-clay) var(--pt-tx-clay); }
.pt-pass--izvestnyak::before { background: var(--pt-lime) var(--pt-tx-lime); }
.pt-pass__col { display: grid; grid-template-columns: 22px auto; gap: 6px; padding-top: 6px; }
.pt-pass__pipe { position: relative; height: 150px; border-radius: 3px; background: linear-gradient(180deg, var(--pt-soil) 0 3%, var(--pt-loam) 3% 9%, var(--pt-sand) 9% 33%, var(--pt-clay) 33% 58%, var(--pt-lime) 58%); box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .3); overflow: hidden; }
.pt-pass__pipe i { position: absolute; left: 6px; right: 6px; top: 0; background: linear-gradient(90deg, #6e7880, #e4eaee 45%, #7c868e); box-shadow: 0 0 0 1px #262d32; }
.pt-pass__pipe i::after { content: ""; position: absolute; left: -4px; right: -4px; bottom: -3px; height: 6px; border-radius: 0 0 4px 4px; background: var(--pt-tape); box-shadow: 0 0 0 1px #3a2d23; }
.pt-pass__ticks { display: grid; align-content: space-between; height: 150px; font: 700 9.5px/1 var(--pt-num); color: var(--pt-mute); }
.pt-pass__ticks b { font-weight: 700; white-space: nowrap; }
.pt-pass__h1 { margin: 0 0 14px; font-size: clamp(26px, 3vw, 38px); }
.pt-pass__dl { display: flex; flex-wrap: wrap; gap: 10px 26px; margin: 0; }
.pt-pass__dl div { min-width: 0; }
.pt-pass__dl dt { margin: 0 0 4px; font: 700 10.5px/1 var(--pt-num); letter-spacing: .12em; text-transform: uppercase; color: var(--pt-mute); }
.pt-pass__dl dd { margin: 0; display: flex; align-items: center; gap: 8px; font-size: 15.5px; }
.pt-pass__by span { color: var(--pt-mute); }
.pt-pass__depth { font: 700 20px/1 var(--pt-num) !important; color: var(--pt-water2); }
.pt-pass__no { margin: 0; text-align: right; font: 500 11px/1.2 var(--pt-num); letter-spacing: .12em; text-transform: uppercase; color: var(--pt-mute); }
.pt-pass__no b { font: 700 22px/1.1 var(--pt-num); letter-spacing: 0; color: var(--pt-ink); }
.pt-log2 { background: var(--pt-card); border: 1px solid var(--pt-line2); border-radius: 6px; overflow: hidden; }
.pt-log2__head, .pt-row { display: grid; grid-template-columns: 96px 200px minmax(0, 1fr) 118px; }
.pt-log2__head { background: var(--pt-rail); color: #e9d9b5; font: 700 10.5px/1 var(--pt-num); letter-spacing: .12em; text-transform: uppercase; }
.pt-log2__head span { padding: 10px 14px; }
.pt-log2__head span + span { border-left: 1px solid rgba(255, 255, 255, .12); }
.pt-row { position: relative; border-bottom: 1px solid var(--pt-line2); }
.pt-row > div { padding: 14px; min-width: 0; }
.pt-row > div + div { border-left: 1px dashed var(--pt-line2); }
.pt-row--first { background: linear-gradient(90deg, rgba(231, 195, 68, .14), rgba(231, 195, 68, 0) 60%); }
.pt-row--first::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: var(--pt-tape); }
.pt-row--op::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: rgba(231, 195, 68, .55); }
.pt-row.is-hl { box-shadow: inset 0 0 0 2px var(--pt-red); }
.pt-row__when { display: grid; align-content: start; gap: 3px; }
.pt-row__no { font: 700 12px/1 var(--pt-num); color: var(--pt-red2); }
.pt-row__date { font: 700 14px/1.1 var(--pt-num); color: var(--pt-ink); }
.pt-row__time { font: 500 12.5px/1 var(--pt-num); color: var(--pt-mute); }
.pt-row__who { display: grid; grid-template-columns: 46px minmax(0, 1fr); gap: 10px; align-content: start; }
.pt-row__id { min-width: 0; display: grid; gap: 4px; }
.pt-row__nick { margin: 0; font: 700 16px/1.15 var(--pt-text); overflow-wrap: anywhere; }
.pt-row__nick a { color: var(--pt-ink); }
.pt-row__nick a:hover { color: var(--pt-red); }
.pt-op { justify-self: start; padding: 1px 6px; border-radius: 3px; background: var(--pt-tape); font: 700 10px/1.3 var(--pt-num); text-transform: uppercase; letter-spacing: .06em; color: var(--pt-ink); }
.pt-op--start { background: var(--pt-rail); color: var(--pt-tape); }
.pt-row__rank { margin: 0; display: flex; flex-wrap: wrap; gap: 4px 10px; align-items: center; }
.pt-row__rank .pt-rank { font-size: 12.5px; }
.pt-row__line { margin: 0; display: grid; gap: 1px; font-size: 12.5px; line-height: 1.3; color: var(--pt-mute); }
.pt-row__src { color: var(--pt-water2); }
.pt-row__text { font-size: 17.5px; }
.pt-row__re { display: inline-block; margin: 0 0 6px; font: 500 12px/1 var(--pt-num); color: var(--pt-mute); border-bottom: 1px dotted currentColor; }
.pt-row__body { overflow-wrap: anywhere; }
.pt-row__body > :last-child { margin-bottom: 0; }
.pt-row__foot { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 16px; margin-top: 10px; }
.pt-row__foot:not(:has(a)) { display: none; }
.pt-row__marks { display: grid; align-content: start; justify-items: start; gap: 6px; }
.pt-row__depth { display: inline-flex; align-items: center; gap: 4px; padding: 3px 8px 3px 6px; border-radius: 3px; background: var(--pt-water-l); font: 700 13px/1 var(--pt-num); color: #10465f; }
.pt-row__tags { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px; }
.pt-tag { padding: 2px 7px; border: 1px solid var(--pt-line2); border-radius: 3px; font: 500 11.5px/1.25 var(--pt-num); color: var(--pt-ink2); background: #fffdf8; }
.pt-tag--itog { border-color: var(--pt-grass); color: #3d5f27; }
.pt-tag--cena { border-color: #b8953f; color: #6d5414; }
.pt-tag--tehnika { border-color: var(--pt-red); color: var(--pt-red2); }
.pt-tag--voda { border-color: var(--pt-water); color: var(--pt-water2); }
.pt-tag--zima { border-color: var(--pt-clay); color: #3f4f5c; }
.pt-guest { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 20px; margin: 16px 0; padding: 14px 18px; border: 1.5px dashed var(--pt-line2); border-radius: 6px; background: rgba(251, 248, 241, .7); }
.pt-guest p { margin: 0; color: var(--pt-ink2); }
.pt-tfoot { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px 20px; margin: 22px 0 10px; }
.pt-tfoot__note { margin: 0; font: 400 italic 15.5px/1.35 var(--pt-text); color: var(--pt-mute); }
.pt-nextprev { display: flex; gap: 18px; font: 700 13px/1.2 var(--pt-num); }
.pt-nextprev a { color: var(--pt-ink2); }
.pt-tools { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px; font-size: 14px; }
.pt-tools .thread_tools { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px 16px; }
.pt-tools .thread_tools li { background: none !important; padding: 0 !important; }
.pt-tools .thread_tools a { color: var(--pt-mute); }

/* ------------------------------------------------------------------ профиль: паспорт участка */
.pt-card2 { position: relative; margin: 4px 0 18px; padding: 26px; background: var(--pt-card); border: 1px solid var(--pt-line2); border-radius: 6px; box-shadow: 0 24px 40px -28px rgba(34, 26, 19, .7); }
.pt-card2__head { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 18px 26px; align-items: center; padding-bottom: 22px; border-bottom: 2px solid var(--pt-ink); }
.pt-card2__name { margin: 0 0 10px; overflow-wrap: anywhere; }
.pt-card2__rank { margin: 0; display: flex; flex-wrap: wrap; gap: 8px 18px; align-items: center; }
.pt-card2__rank .pt-rank { font-size: 16px; }
.pt-card2__no { margin: 0; text-align: center; padding: 12px 18px; border-radius: 6px; background: var(--pt-rail); color: #e9d9b5; display: grid; }
.pt-card2__no b { font: 700 34px/1 var(--pt-num); color: var(--pt-tape); }
.pt-card2__no span { font: 500 12px/1.3 var(--pt-num); }
.pt-card2__grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 24px 34px; padding: 22px 0; }
.pt-fields__dl { margin: 0; display: grid; }
.pt-fields__dl div { display: grid; grid-template-columns: 140px minmax(0, 1fr); gap: 12px; padding: 8px 0; border-bottom: 1px dashed var(--pt-line2); }
.pt-fields__dl dt { font: 700 11px/1.5 var(--pt-num); letter-spacing: .1em; text-transform: uppercase; color: var(--pt-mute); }
.pt-fields__dl dd { margin: 0; font-size: 16.5px; }
.pt-fields__links { display: flex; flex-wrap: wrap; gap: 8px 16px; margin: 14px 0 0; }
.pt-ladder__list { list-style: none; margin: 0; padding: 0; display: grid; border-radius: 5px; overflow: hidden; box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .25); }
.pt-ladder__i { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 2px 12px; padding: 10px 14px; font-size: 15.5px; }
.pt-ladder__i--0 { background: #b9d39b; color: #22351a; }
.pt-ladder__i--1 { background: var(--pt-soil) var(--pt-tx-soil); color: #f3e9d8; }
.pt-ladder__i--2 { background: var(--pt-loam) var(--pt-tx-loam); color: #fff6e8; }
.pt-ladder__i--3 { background: var(--pt-sand) var(--pt-tx-sand); color: #2b211a; }
.pt-ladder__i--4 { background: var(--pt-clay) var(--pt-tx-clay); color: #fff; }
.pt-ladder__i--5 { background: var(--pt-lime) var(--pt-tx-lime); color: #2b211a; }
.pt-ladder__t { font-weight: 700; }
.pt-ladder__n { font: 500 12px/1 var(--pt-num); opacity: .85; }
.pt-ladder__i:not(.is-past):not(.is-now) { filter: grayscale(.75) opacity(.55); }
.pt-ladder__i.is-now { box-shadow: inset 0 0 0 3px var(--pt-tape); }
.pt-ladder__here { grid-column: 1 / -1; justify-self: start; padding: 2px 7px; border-radius: 3px; background: var(--pt-red); color: #fff; font: 700 10px/1.3 var(--pt-num); letter-spacing: .08em; text-transform: uppercase; }
.pt-plist__list { list-style: none; margin: 0; padding: 0; display: grid; }
.pt-plist__i { display: grid; grid-template-columns: 70px minmax(0, 1fr); gap: 14px; padding: 10px 0; border-bottom: 1px dashed var(--pt-line2); }
.pt-plist__t { font: 700 17px/1.25 var(--pt-text); color: var(--pt-ink); }
.pt-plist__t:hover { color: var(--pt-red); }
.pt-plist__m { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; margin: 4px 0 0; font-size: 13.5px; color: var(--pt-mute); }
.pt-card2__extra:empty { display: none; }

/* ------------------------------------------------------------------ ошибки и переходы */
.pt-msg { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 20px 30px; align-items: start; max-width: 860px; margin: 20px 0; padding: 26px; background: var(--pt-card); border: 1px solid var(--pt-line2); border-radius: 6px; }
.pt-msg__pic .s1 { fill: var(--pt-soil); } .pt-msg__pic .s2 { fill: var(--pt-loam); } .pt-msg__pic .s3 { fill: var(--pt-sand); }
.pt-msg__pic .g { fill: none; stroke: var(--pt-grass); stroke-width: 4; }
.pt-msg__pic .p { fill: #c9d0d5; stroke: #262d32; stroke-width: 2; }
.pt-msg__pic .x { stroke: var(--pt-red); stroke-width: 5; stroke-linecap: round; }
.pt-msg--go { display: block; max-width: 620px; margin: 70px auto; }
.pt-msg__body { font-size: 17px; }
.pt-msg__body ol, .pt-msg__body ul { padding-left: 1.3em; }

/* ------------------------------------------------------------------ подвал */
.pt-foot { margin-top: 30px; background: var(--pt-rail) var(--pt-tx-soil); color: #d9c8ad; }
.pt-foot__in { max-width: 1320px; margin: 0 auto; padding: 26px clamp(16px, 3vw, 40px) 30px; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 16px 40px; }
.pt-foot__brand { margin: 0; font-size: 16px; }
.pt-foot__brand b { color: #fff4e2; font-family: var(--pt-head); }
.pt-foot__links { display: flex; flex-wrap: wrap; gap: 6px 18px; align-content: start; font: 700 13px/1.5 var(--pt-num); }
.pt-foot__links a { color: var(--pt-tape); }
.pt-foot__links a:hover { color: #fff; }
.pt-foot__note { grid-column: 1 / -1; margin: 0; padding-top: 12px; border-top: 1px solid rgba(255, 255, 255, .1); font-size: 14px; color: #b9a58b; }

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

/* ------------------------------------------------------------------ стандартные элементы MyBB в айдентике журнала */
.tborder { width: 100%; border-collapse: collapse; background: var(--pt-card); border: 1px solid var(--pt-line2); margin: 0 0 18px; color: var(--pt-ink); border-radius: 6px; overflow: hidden; }
.tborder td, .tborder th { padding: 9px 12px; border-bottom: 1px solid var(--pt-line); vertical-align: top; text-align: left; }
.thead { background: var(--pt-rail) !important; color: #f3e6cf !important; font: 700 18px/1.3 var(--pt-head); }
.thead a, .thead strong { color: var(--pt-tape); }
.thead .expcolimage { float: right; }
.tcat { background: var(--pt-paper2); font: 700 11px/1.3 var(--pt-num); letter-spacing: .1em; text-transform: uppercase; color: var(--pt-mute); }
.tcat a { color: var(--pt-water2); }
.trow1, .trow2 { background: transparent; }
.trow2 { background: rgba(231, 222, 201, .3); }
.trow_shaded { background: rgba(194, 58, 29, .06); }
.trow_selected td, .trow_selected { background: rgba(231, 195, 68, .25); }
.trow_sep { background: var(--pt-paper2); font: 700 11px/1 var(--pt-num); letter-spacing: .12em; text-transform: uppercase; color: var(--pt-mute); }
.tfoot { background: var(--pt-paper2); }
.tborder a, .trow1 a, .trow2 a, .tfoot a { color: var(--pt-water2); }
.smalltext { font: 500 12.5px/1.4 var(--pt-num); color: var(--pt-mute); }
.largetext { font: 700 20px/1.3 var(--pt-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(--pt-text); color: var(--pt-ink); background: #fffdf8; border: 1.5px solid var(--pt-line2); border-radius: 4px; padding: 8px 11px; max-width: 100%; }
select { padding-right: 30px; }
textarea { width: 100%; min-height: 170px; line-height: 26px; background-image: repeating-linear-gradient(180deg, transparent 0 25px, rgba(42, 133, 181, .12) 25px 26px); background-attachment: local; background-position: 0 7px; }
input.textbox:focus, textarea:focus, select:focus, input[type="text"]:focus, input[type="password"]:focus, input[type="search"]:focus { outline: none; border-color: var(--pt-water); box-shadow: 0 0 0 3px rgba(42, 133, 181, .16); }
.button, input.button, button.button, a.button, input[type="submit"], input[type="button"], button[type="submit"]:not(.pt-find__b) {
	display: inline-flex; align-items: center; justify-content: center; gap: 6px; font: 700 14.5px/1 var(--pt-text); letter-spacing: .02em; color: var(--pt-tape); background: var(--pt-rail); border: 0; border-radius: 4px; padding: 11px 18px; cursor: pointer; text-decoration: none; box-shadow: inset 0 -3px 0 rgba(0, 0, 0, .35); transition: background .2s, color .2s, transform .15s; }
.button:hover, input.button:hover, input[type="submit"]:hover, button[type="submit"]:not(.pt-find__b):hover, a.button:hover { background: var(--pt-red); color: #fff; }
.button:active, input[type="submit"]:active { transform: translateY(1px); }
.closed_button { background: var(--pt-paper2); color: var(--pt-mute); box-shadow: none; }
.pagination { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; font: 500 13px/1 var(--pt-num); }
.pagination .pages { color: var(--pt-mute); margin-right: 6px; }
.pagination a, .pagination .pagination_current { display: inline-grid; place-items: center; min-width: 32px; height: 32px; padding: 0 8px; border: 1px solid var(--pt-line2); border-radius: 4px; color: var(--pt-ink2); background: var(--pt-card); }
.pagination a:hover { border-color: var(--pt-ink); color: var(--pt-red); }
.pagination .pagination_current { background: var(--pt-rail); border-color: var(--pt-rail); color: var(--pt-tape); font-weight: 700; }
.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: 500 12px/1.2 var(--pt-num); color: var(--pt-mute); border-bottom: 1px dotted transparent; }
.postbit_buttons a:hover { color: var(--pt-red); border-bottom-color: currentColor; }
.postbit_buttons a span { background: none !important; padding: 0 !important; }
.popup_menu { background: var(--pt-card); border: 1px solid var(--pt-line2); border-radius: 6px; padding: 6px; box-shadow: 0 18px 30px -14px rgba(34, 26, 19, .5); z-index: 50; }
.popup_menu .popup_item { display: block; padding: 6px 10px; color: var(--pt-ink2); font-size: 15px; }
.popup_menu .popup_item:hover { background: rgba(231, 195, 68, .18); }
.blocker { background: rgba(20, 12, 6, .55) !important; }
.modal { background: var(--pt-card) !important; color: var(--pt-ink); border: 1px solid var(--pt-line2); border-radius: 8px !important; box-shadow: 0 30px 60px -20px rgba(20, 12, 6, .6) !important; padding: 18px !important; }
.modal .tborder { margin: 0; }
.error, div.error { background: rgba(194, 58, 29, .07); border: 1.5px solid rgba(194, 58, 29, .45); border-radius: 6px; padding: 12px 16px; color: var(--pt-ink); margin-bottom: 14px; }
.red_alert, .pm_alert { background: rgba(231, 195, 68, .28); border: 1px solid rgba(166, 125, 20, .4); border-radius: 6px; padding: 10px 14px; margin-bottom: 14px; }
fieldset { border: 1px solid var(--pt-line2); border-radius: 6px; padding: 12px 14px; margin: 0 0 14px; }
legend { font: 700 11px/1 var(--pt-num); letter-spacing: .12em; text-transform: uppercase; color: var(--pt-mute); padding: 0 6px; }
.usercp_nav_item, .modcp_nav_item { display: block; padding: 6px 4px; color: var(--pt-ink2); }
.sceditor-container { border-radius: 4px; overflow: hidden; max-width: 100%; }
.ignored_post, .deleted_post_hidden { padding: 12px 16px; border: 1px dashed var(--pt-line2); color: var(--pt-mute); margin-bottom: 12px; }
.scaleimages img { max-width: 100%; height: auto; }
/* BB-коды */
blockquote.mycode_quote { margin: 10px 0 12px; padding: 10px 14px 10px 16px; border-left: 4px solid var(--pt-sand); background: rgba(216, 189, 131, .16); color: var(--pt-ink2); font-size: 16.5px; }
blockquote.mycode_quote cite { display: block; font: 700 12.5px/1.2 var(--pt-num); font-style: normal; color: #6d5414; margin-bottom: 5px; }
blockquote.mycode_quote cite > span { color: var(--pt-dim); margin-left: 6px; font-weight: 500; font-size: 11px; }
.codeblock { margin: 12px 0; background: #2b211a; color: #f3e6cf; border-radius: 5px; overflow: hidden; }
.codeblock .title { font: 700 11px/1 var(--pt-num); letter-spacing: .12em; text-transform: uppercase; color: var(--pt-tape); padding: 8px 12px; border-bottom: 1px solid rgba(255, 255, 255, .1); }
.codeblock code { display: block; padding: 12px; overflow-x: auto; font: 500 13.5px/1.5 var(--pt-num); color: inherit; }
.mycode_list, ul.mycode_list, ol.mycode_list { padding-left: 1.3em; }
.post_body hr, .mycode_hr { border: 0; height: 6px; margin: 14px 0; background: linear-gradient(90deg, var(--pt-soil) 0 20%, var(--pt-loam) 20% 40%, #c9a660 40% 60%, var(--pt-clay) 60% 80%, #b7af9d 80%); border-radius: 3px; opacity: .7; }
.signature { margin-top: 12px; padding-top: 8px; border-top: 1px dashed var(--pt-line2); font-size: 14.5px; color: var(--pt-mute); }
.video_embed iframe, .post_body iframe { max-width: 100%; }
#quick_reply_form .tborder { background: var(--pt-card); }
.post_body .mycode_s { text-decoration-color: var(--pt-red); text-decoration-thickness: 1.5px; }
.post_body .mycode_u { text-decoration-color: var(--pt-water); text-underline-offset: 3px; }
.post_body img.mycode_img { border-radius: 4px; }

/* ------------------------------------------------------------------ ноутбук: колонна трубы уходит к левому краю глав */
@media (max-width: 1240px) {
	.pt-log2__head, .pt-row { grid-template-columns: 90px 180px minmax(0, 1fr); }
	.pt-log2__head span:last-child { display: none; }
	.pt-row__marks { grid-column: 3; padding-top: 0 !important; border-left: 1px dashed var(--pt-line2); display: flex !important; flex-wrap: wrap; }
	.pt-row__marks:empty { display: none !important; }
	.pt-jour__cols, .pt-jrow { grid-template-columns: 70px minmax(0, 1fr) 118px 62px 62px; }
}
@media (max-width: 1100px) {
	.pt-mouth { grid-template-columns: minmax(0, 1fr); padding-bottom: 180px; }
	.pt-mouth__txt { max-width: none; }
	.pt-pipe { left: 26px; margin-left: 0; width: 22px; }
	.pt-pipe__plan { inset: 0 3px; }
	.pt-pipe__done::before { width: 6px; margin-left: -3px; }
	.pt-pipe__bit { transform: scale(.6); transform-origin: 50% 0; }
	.pt-ch, .pt-aq { padding-left: 66px; }
	.pt-ch__grid { grid-template-columns: minmax(0, 1fr); gap: 26px 0; }
	.pt-ch__axis { display: none; }
	.pt-ch--flip .pt-ch__side--secs { order: 1; }
	.pt-ch--flip .pt-ch__side--card { order: 3; }
	.pt-card2__grid { grid-template-columns: minmax(0, 1fr); }
}

/* ------------------------------------------------------------------ планшет и телефон: рейка сжимается в ленту у левого края, разрез выезжает */
@media (max-width: 900px) {
	:root { --pt-rail-w: 300px; }
	.pt-app { grid-template-columns: 34px minmax(0, 1fr); }
	.pt-main { grid-column: 2; }
	.pt-rail { position: fixed; left: 0; top: 0; bottom: 0; height: auto; width: 34px; overflow: hidden; transition: width .3s cubic-bezier(.2, .7, .2, 1); cursor: pointer; }
	.pt-rail .pt-rail__in { width: var(--pt-rail-w); }
	.pt-rail:not(.is-open) .pt-logo, .pt-rail:not(.is-open) .pt-gauge__cap, .pt-rail:not(.is-open) .pt-rail__aq { visibility: hidden; }
	.pt-rail:not(.is-open) .pt-rail__in { padding-top: 64px; overflow: hidden; }
	.pt-rail:not(.is-open) .pt-gauge { margin-left: 2px; }
	.pt-rail:not(.is-open) .pt-probe i { width: 24px; }
	.pt-rail.is-open { width: min(var(--pt-rail-w), calc(100vw - 30px)); cursor: auto; box-shadow: 10px 0 40px rgba(0, 0, 0, .5); }
	.pt-rail.is-open .pt-rail__in { width: min(var(--pt-rail-w), calc(100vw - 30px)); }
	.pt-rail.is-open .pt-rail__x { display: grid; place-items: center; position: absolute; right: 8px; top: 10px; width: 34px; height: 34px; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .12); color: #fff; font-size: 22px; cursor: pointer; }
	.pt-rail.is-open .pt-logo { padding-right: 46px; }
	.pt-rail-b { display: inline-grid; justify-items: start; gap: 2px; padding: 6px 10px; border: 0; border-radius: 4px; background: var(--pt-rail); color: #e9d9b5; cursor: pointer; font: 700 10px/1 var(--pt-num); letter-spacing: .1em; text-transform: uppercase; }
	.pt-rail-b__d { font-size: 14px; color: var(--pt-tape); letter-spacing: 0; }
	.pt-top { flex-wrap: wrap; gap: 10px; padding: 10px 14px; }
	.pt-top__logo { display: block; flex: 1 1 auto; font: 800 18px/1.05 var(--pt-head); color: var(--pt-ink); }
	.pt-top__logo b { color: var(--pt-water); }
	.pt-top__crumbs { order: 5; flex-basis: 100%; }
	.pt-find { order: 4; flex: 1 1 100%; }
	.pt-content { padding: 16px 14px 30px; }
	.pt-mouth { padding: 24px 14px 170px; }
	.pt-mouth__how { grid-template-columns: minmax(0, 1fr); }
	.pt-ch, .pt-aq { padding-right: 14px; }
	.pt-jour__cols { display: none; }
	.pt-jrow { grid-template-columns: 62px minmax(0, 1fr) auto; grid-template-areas: "d main n" "d k dep"; gap: 6px 12px; }
	.pt-jrow__d { grid-area: d; } .pt-jrow__main { grid-area: main; } .pt-jrow__n { grid-area: n; } .pt-jrow__k { grid-area: k; } .pt-jrow__dep { grid-area: dep; text-align: right; }
	.pt-fhead { grid-template-columns: 22px minmax(0, 1fr); }
	.pt-fhead__act { grid-column: 2; padding-top: 8px; }
}
@media (max-width: 760px) {
	body { font-size: 17px; }
	.pt-log2__head { display: none; }
	.pt-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "who when" "text text" "marks marks"; }
	.pt-row > div + div { border-left: 0; }
	.pt-row__who { grid-area: who; padding-bottom: 6px !important; grid-template-columns: 40px minmax(0, 1fr); }
	.pt-row__who .pt-face--m { width: 40px; height: 40px; }
	.pt-row__when { grid-area: when; justify-items: end; text-align: right; padding-bottom: 6px !important; }
	.pt-row__text { grid-area: text; padding-top: 4px !important; }
	.pt-row__marks { grid-area: marks; grid-column: auto; border-left: 0 !important; padding-top: 0 !important; }
	.pt-pass { grid-template-columns: 46px minmax(0, 1fr); padding: 18px 14px 16px 12px; gap: 0 14px; }
	.pt-pass__col { grid-template-columns: 16px; }
	.pt-pass__ticks { display: none; }
	.pt-pass__no { display: none; }
	.pt-card2 { padding: 18px 14px; }
	.pt-card2__head { grid-template-columns: auto minmax(0, 1fr); }
	.pt-card2__no { grid-column: 1 / -1; justify-self: start; display: flex; gap: 8px; align-items: baseline; padding: 8px 14px; }
	.pt-face--xl { width: 96px; height: 96px; font-size: 32px; }
	.pt-card2__name { font-size: 26px; overflow-wrap: anywhere; }
	.pt-fields__dl div { grid-template-columns: 110px minmax(0, 1fr); }
	.pt-msg { grid-template-columns: minmax(0, 1fr); }
	.pt-foot__in { grid-template-columns: minmax(0, 1fr); }
	.pt-rig__out { grid-template-columns: minmax(0, 1fr); }
	.pt-rig__pic { grid-row: auto; }
	.pt-cal__m { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.pt-card { padding: 18px 16px; }
	.pt-ch { padding-top: 58px; padding-bottom: 62px; }
	.pt-ch, .pt-aq { padding-left: 48px; padding-right: 12px; }
	.pt-pipe { left: 16px; width: 18px; }
	.pt-sec { grid-template-columns: minmax(0, 1fr); padding: 13px 14px; }
	.pt-sec__no { display: none; }
	.pt-me__b span { display: none; }
	.pt-me__b { padding: 4px; }
}
@media (max-width: 420px) {
	.pt-surface { height: 130px; }
	.pt-mouth { padding-bottom: 130px; }
	.pt-logrow { grid-template-columns: 50px minmax(0, 1fr); padding: 10px 12px; }
	.pt-logrow__k { grid-column: 2; justify-items: start; display: flex; gap: 8px; }
	.pt-log__head { padding: 14px 12px 10px; }
	.pt-dist__out { grid-template-columns: 40px minmax(0, 1fr); gap: 12px; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { transition: none !important; animation: none !important; }
	.pt-pipe__done { height: 100% !important; }
}

/* ------------------------------------------------------------------ ссылки в сообщениях: свой стиль форума («литологический знак песка»)
   Под словом узкая полоса 5 px в рамке из двух волосяных линий, внутри россыпь точек в шахматном порядке —
   условный знак песка в геологическом разрезе. При наведении знак меняется на «глину»: короткие горизонтальные
   штрихи сизого цвета. Без подчёркивания и без значка внешней ссылки. */
:is(.post_body, .signature, [class*="-post__body"], [class*="-post__sign"]) a.mycode_url {
	color: #7a3f12;
	font-weight: 600;
	text-decoration: none;
	padding-bottom: 7px;
	background:
		linear-gradient(rgba(138, 106, 69, .55), rgba(138, 106, 69, .55)) no-repeat 0 calc(100% - 6px) / 100% 1px,
		linear-gradient(rgba(138, 106, 69, .55), rgba(138, 106, 69, .55)) no-repeat 0 100% / 100% 1px,
		radial-gradient(circle at 50% 50%, #b07a3c 0 .75px, transparent 1.15px) repeat-x 0 calc(100% - 3.4px) / 6px 2.4px,
		radial-gradient(circle at 50% 50%, #b07a3c 0 .75px, transparent 1.15px) repeat-x 3px calc(100% - 1.2px) / 6px 2.4px;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
	transition: color .2s;
}
: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: #1b5f80;
	background:
		linear-gradient(rgba(95, 118, 132, .7), rgba(95, 118, 132, .7)) no-repeat 0 calc(100% - 6px) / 100% 1px,
		linear-gradient(rgba(95, 118, 132, .7), rgba(95, 118, 132, .7)) no-repeat 0 100% / 100% 1px,
		linear-gradient(90deg, #5f7684 0 3px, transparent 3px 6px) repeat-x 0 calc(100% - 3.6px) / 6px 1px,
		linear-gradient(90deg, #5f7684 0 3px, transparent 3px 6px) repeat-x 3px calc(100% - 1.8px) / 6px 1px;
}
:is(.post_body, .signature, [class*="-post__body"], [class*="-post__sign"]) a.mycode_url::after { content: none; }
