/* прослойка мира «Прибор» */
.rsv { --r-ink: var(--ink); --r-ink2: var(--ink-2); --r-ink3: var(--ink-3); --r-line: var(--seam-2);
       --r-line2: var(--seam-3); --r-panel: var(--panel); --r-panel2: var(--panel-2); --r-well: var(--well); }
.rsv .h1 { font-size: clamp(2.4rem, 4.6vw, 4.5rem); }
.rsv-crumbs-wrap { padding-top: clamp(20px, 3vw, 40px); }

/* ==================================================================
   Резервный контур сайта — общие стили для обоих миров.
   Цвета и шрифты берутся из прослойки --r-* (прелюдия выше).
================================================================== */
.rsv { --r-ok: #4FE3D0; --r-bad: #FF5C7A; --r-warm: #FFC46B; }
.rsv-ic { width: 1.25em; height: 1.25em; flex: none; }
:where(.rsv) h1, :where(.rsv) h2, :where(.rsv) h3 { margin: 0; }
:where(.rsv) p { margin: 0; }
.rsv [hidden] { display: none !important; }

.rsv-sec { padding-block: clamp(56px, 8vw, 112px) 0; position: relative; }
.rsv-sec .h2, .rsv-sec h2 { text-wrap: balance; }
.rsv-h { margin-bottom: clamp(24px, 3vw, 40px); max-width: 22em; }
.rsv-sub { margin-top: 14px; color: var(--r-ink2); font-size: 1.0625rem; line-height: 1.6; max-width: 34em; }
.rsv-note { margin-top: 20px; color: var(--r-ink3); font-size: .9375rem; line-height: 1.55; max-width: 60em; }
.rsv-two { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(28px, 5vw, 80px); align-items: start; }

/* ---------- первый экран ---------- */
.rsv-hero { padding-top: clamp(20px, 3vw, 44px); }
.rsv-aud {
  display: inline-flex; align-items: center; flex-wrap: wrap; gap: 6px;
  padding: 5px;
  border-radius: 999px;
  background: var(--r-well);
  box-shadow: inset 0 0 0 1px var(--r-line);
  margin-bottom: clamp(22px, 3vw, 36px);
}
.rsv-aud-l { padding: 0 8px 0 12px; font-family: var(--ff-m); font-size: .75rem; color: var(--r-ink3); letter-spacing: .02em; }
.rsv-aud-b {
  display: inline-flex; align-items: center; gap: 8px;
  min-height: 40px; padding: 0 16px;
  border: 0; border-radius: 999px;
  background: transparent;
  font-family: var(--ff-b); font-size: .9375rem; font-weight: 500;
  color: var(--r-ink2);
  cursor: pointer;
  transition: color .3s ease, background-color .3s ease, box-shadow .3s ease;
}
.rsv-aud-b::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; opacity: .3; transition: opacity .3s ease, box-shadow .3s ease; }
.rsv-aud-b:hover { color: var(--r-ink); }
.rsv-aud-b[aria-pressed="true"] { color: var(--r-ink); background: var(--r-panel2); box-shadow: inset 0 0 0 1px var(--r-line2), 0 4px 14px -6px rgba(0,0,0,.4); }
.rsv-aud-b[aria-pressed="true"]::before { opacity: 1; background: var(--c1); box-shadow: 0 0 8px var(--c1); }
.rsv-aud-b:focus-visible { outline: 2px solid var(--c1); outline-offset: 2px; }

.rsv-hero-grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(28px, 4.5vw, 72px); align-items: center; }
.rsv-hero-copy .h1, .rsv-hero-copy h1 { margin-bottom: 20px; }
.rsv-hero-copy .lede, .rsv-hero-copy .lead { max-width: 30em; }
.rsv-points { list-style: none; margin: 26px 0 0; padding: 0; display: grid; gap: 10px; }
.rsv-points li { display: flex; align-items: flex-start; gap: 12px; font-size: 1rem; line-height: 1.45; color: var(--r-ink); }
.rsv-points .rsv-ic { color: var(--c1); margin-top: 1px; }
.rsv-btns { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.rsv-btns .rsv-ic { width: 18px; height: 18px; }

/* ---------- схема «сбой → обход» ---------- */
.rsv-map {
  margin: 0;
  position: relative;
  padding: 18px;
  border-radius: 22px;
  background: radial-gradient(120% 90% at 50% 30%, #0B1117, #05080B 70%);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.07), 0 30px 60px -36px rgba(0,0,0,.75);
  color: #E3E8EC;
}
.rsv-map-top { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; margin-bottom: 16px; }
.rsv-status { display: flex; align-items: center; gap: 10px; min-height: 40px; font-size: .9375rem; line-height: 1.35; max-width: 30em; }
.rsv-status .rsv-led { flex: none; }
.rsv-modes { display: inline-flex; padding: 3px; border-radius: 10px; background: rgba(255,255,255,.04); box-shadow: inset 0 0 0 1px rgba(255,255,255,.1); }
.rsv-modes button {
  min-height: 32px; padding: 0 12px;
  border: 0; border-radius: 7px; background: transparent;
  font-family: var(--ff-m); font-size: .75rem; letter-spacing: .02em;
  color: #A0AAB4; cursor: pointer;
  transition: color .3s ease, background-color .3s ease;
}
.rsv-modes button:hover { color: #fff; }
.rsv-modes button[aria-pressed="true"] { color: #fff; background: rgba(255,255,255,.1); }
.rsv-modes button:focus-visible { outline: 2px solid var(--r-ok); outline-offset: 1px; }

.rsv-led { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--r-ok); box-shadow: 0 0 10px var(--r-ok); transition: background-color .5s ease, box-shadow .5s ease; }

.rsv-net {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-template-rows: auto auto;
  gap: 26px 44px;
  align-items: center;
  padding: 8px 2px;
}
.rsv-wires { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; z-index: 0; }
.rw { fill: none; stroke: rgba(227,232,236,.16); stroke-width: 1.6; stroke-dasharray: 4 6; transition: stroke .6s ease, opacity .6s ease; }
.rsv-pulses { display: none; }
.rsv-pulses circle { fill: var(--r-ok); filter: drop-shadow(0 0 4px var(--r-ok)); }

.rsv-node {
  position: relative; z-index: 1;
  display: grid; justify-items: start; gap: 2px;
  padding: 12px 12px 12px;
  border-radius: 14px;
  background: #0A0F14;
  box-shadow: inset 0 0 0 1px rgba(227,232,236,.12);
  transition: box-shadow .6s ease, opacity .6s ease, background-color .6s ease;
  min-width: 0;
}
.rsv-node .rsv-ic { width: 22px; height: 22px; color: #A0AAB4; margin-bottom: 6px; transition: color .6s ease; }
.rsv-node b { font-family: var(--ff-d); font-weight: 500; font-size: .9375rem; line-height: 1.2; color: #F1F4F7; }
.rsv-node span { font-size: .8125rem; line-height: 1.3; color: #A0AAB4; }
.rsv-node > .rsv-led { position: absolute; top: 12px; right: 12px; }
.n-client { grid-column: 1; grid-row: 1 / span 2; }
.n-dns { grid-column: 2; grid-row: 1 / span 2; }
.n-ru { grid-column: 3; grid-row: 1; }
.n-de { grid-column: 3; grid-row: 2; }
.n-tg { grid-column: 4; grid-row: 2; }
.rsv-x { position: absolute; top: 8px; right: 8px; display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: rgba(255,92,122,.16); opacity: 0; transition: opacity .5s ease; pointer-events: none; }
.rsv-x .rsv-ic { width: 14px; height: 14px; color: var(--r-bad); margin: 0; }
.is-fail .n-ru > .rsv-led, .is-bypass .n-ru > .rsv-led { opacity: 0; }

.rsv-map-foot { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; margin-top: 18px; padding-top: 14px; border-top: 1px solid rgba(255,255,255,.08); }
.rsv-foot-l { display: inline-flex; align-items: center; gap: 8px; font-family: var(--ff-m); font-size: .75rem; color: #A0AAB4; }
.rsv-foot-l .rsv-ic { width: 16px; height: 16px; }
.rsv-deps { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.rsv-dep { display: inline-flex; align-items: center; gap: 7px; padding: 5px 10px; border-radius: 7px; box-shadow: inset 0 0 0 1px rgba(255,255,255,.1); font-size: .8125rem; color: #E3E8EC; transition: box-shadow .5s ease; }
.rsv-dep .rsv-led { width: 6px; height: 6px; }
.rsv-timer { margin-left: auto; display: inline-flex; align-items: center; gap: 7px; font-family: var(--ff-m); font-size: .75rem; color: var(--r-ok); opacity: 0; transition: opacity .5s ease; }
.rsv-timer .rsv-ic { width: 15px; height: 15px; }

/* тексты состояний — стопкой в одной ячейке: высота схемы постоянна */
.rsv-var { display: grid; }
.rsv-var > span { grid-area: 1 / 1; visibility: hidden; }
.is-norm .rsv-var > [data-s~="norm"], .is-fail .rsv-var > [data-s~="fail"], .is-bypass .rsv-var > [data-s~="bypass"] { visibility: visible; }
.rsv-node .rsv-var > span { font-size: .8125rem; line-height: 1.3; color: #A0AAB4; }
.rsv-dep .rsv-var > span { font-size: inherit; color: inherit; }

/* состояние: всё работает */
.is-norm .rw-cd, .is-norm .rw-dr { stroke: var(--r-ok); stroke-dasharray: none; opacity: .75; }
.is-norm .pl-cd, .is-norm .pl-dr { display: inline; }
.is-norm .n-de > .rsv-led, .is-fail .n-de > .rsv-led { background: #4C5560; box-shadow: none; }
.is-norm .n-tg, .is-fail .n-tg { opacity: .45; }
/* сбой */
.is-fail .rw-cd { stroke: var(--r-ok); stroke-dasharray: none; opacity: .75; }
.is-fail .pl-cd { display: inline; }
.is-fail .rw-dr, .is-bypass .rw-dr { stroke: var(--r-bad); opacity: .55; }
.is-fail .n-ru, .is-bypass .n-ru { box-shadow: inset 0 0 0 1px rgba(255,92,122,.55); }
.is-fail .rsv-x, .is-bypass .rsv-x { opacity: 1; }
.is-fail .n-ru b, .is-fail .n-ru span:not(.rsv-led):not(.rsv-x), .is-bypass .n-ru b { opacity: .5; }
.is-fail .rsv-status .rsv-led { background: var(--r-bad); box-shadow: 0 0 10px var(--r-bad); animation: rsv-blink 1s steps(1) infinite; }
.is-fail .rsv-dep { box-shadow: inset 0 0 0 1px rgba(255,92,122,.5); }
.is-fail .rsv-dep .rsv-led { background: var(--r-bad); box-shadow: 0 0 8px var(--r-bad); }
@keyframes rsv-blink { 50% { opacity: .3; } }
/* обход */
.is-bypass .rw-cd, .is-bypass .rw-dd, .is-bypass .rw-dt { stroke: var(--r-ok); stroke-dasharray: none; opacity: .8; }
.is-bypass .pl-cd, .is-bypass .pl-dd, .is-bypass .pl-dt { display: inline; }
.is-bypass .n-de { box-shadow: inset 0 0 0 1px rgba(79,227,208,.6), 0 0 26px -8px rgba(79,227,208,.5); }
.is-bypass .n-de .rsv-ic, .is-bypass .n-tg .rsv-ic, .is-bypass .n-dns .rsv-ic { color: var(--r-ok); }
.is-bypass .n-dns { box-shadow: inset 0 0 0 1px rgba(79,227,208,.45); }
.is-bypass .n-tg { box-shadow: inset 0 0 0 1px rgba(79,227,208,.45); }
.is-bypass .rsv-dep { box-shadow: inset 0 0 0 1px rgba(79,227,208,.45); }
.is-bypass .rsv-timer { opacity: 1; }
.is-bypass .rsv-status .rsv-led { background: var(--r-ok); }

/* ---------- блоки для владельца ---------- */
.rsv-pains { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--r-line); }
.rsv-pains li { display: flex; align-items: flex-start; gap: 14px; padding: 18px 0; border-bottom: 1px solid var(--r-line); font-size: 1.0625rem; line-height: 1.5; color: var(--r-ink); }
.rsv-mark { flex: none; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: rgba(255,92,122,.12); color: var(--r-bad); }
.rsv-mark .rsv-ic { width: 14px; height: 14px; }

.rsv-flow { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; counter-reset: f; }
.rsv-flow li { position: relative; padding-top: 22px; border-top: 1px solid var(--r-line2); }
.rsv-flow li:nth-child(2) { border-top-color: var(--r-bad); }
.rsv-flow li:nth-child(3) { border-top-color: var(--c1); }
.rsv-num { display: inline-grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; margin-bottom: 14px; font-family: var(--ff-m); font-size: .8125rem; color: var(--r-ink); box-shadow: inset 0 0 0 1px var(--r-line2); }
.rsv-flow h3, .rsv-steps h3, .rsv-tsteps h3, .rsv-pkg h3 { font-family: var(--ff-d); font-weight: 500; font-size: clamp(1.1rem, 1.4vw, 1.3rem); line-height: 1.2; letter-spacing: -.01em; margin-bottom: 8px; color: var(--r-ink); }
.rsv-flow p, .rsv-steps p, .rsv-tsteps p { color: var(--r-ink2); font-size: 1rem; line-height: 1.55; }

.rsv-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 40px; }
.rsv-steps li { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 14px; padding: 22px 0; border-top: 1px solid var(--r-line); }
.rsv-steps li > .rsv-ic { width: 28px; height: 28px; color: var(--c1); margin-top: 2px; }

.rsv-pkgs { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.rsv-pkg { display: flex; flex-direction: column; gap: 10px; padding: 22px; border-radius: 18px; background: var(--r-panel); box-shadow: inset 0 0 0 1px var(--r-line); }
.rsv-pkg.is-hot { background: radial-gradient(90% 70% at 50% 0%, rgba(79,227,208,.09), transparent 70%), var(--r-panel2); box-shadow: inset 0 0 0 1px var(--r-line2); }
.rsv-pkg p { color: var(--r-ink2); font-size: .9375rem; line-height: 1.5; }
.rsv-pkg-id { display: flex; align-items: center; justify-content: space-between; gap: 8px; font-family: var(--ff-m); font-size: .75rem; letter-spacing: .04em; color: var(--r-ink3) !important; text-transform: uppercase; }
.rsv-pkg-tag { display: inline-flex; align-items: center; gap: 6px; color: var(--c1); }
.rsv-pkg-tag .rsv-led { width: 6px; height: 6px; background: var(--c1); box-shadow: 0 0 8px var(--c1); }
.rsv-pkg-term { margin-top: auto; padding-top: 8px; display: flex; align-items: center; gap: 8px; font-family: var(--ff-m); font-size: .8125rem; color: var(--r-ink) !important; }
.rsv-pkg-term .rsv-ic { width: 15px; height: 15px; color: var(--c1); }
.rsv-pkgs-tech { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.rsv-ticks { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.rsv-ticks li { display: flex; gap: 10px; font-size: .9375rem; line-height: 1.5; color: var(--r-ink); }
.rsv-ticks .rsv-ic { width: 16px; height: 16px; margin-top: 3px; color: var(--c1); }

.rsv-bounds { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--r-line); }
.rsv-bounds li { display: flex; gap: 14px; padding: 16px 0; border-bottom: 1px solid var(--r-line); font-size: 1rem; line-height: 1.55; color: var(--r-ink); }
.rsv-bounds .rsv-ic { width: 20px; height: 20px; margin-top: 2px; color: var(--r-warm); }

/* ---------- блоки для техспециалиста ---------- */
.rsv-tsteps { list-style: none; margin: 32px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 32px; }
.rsv-tsteps li { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 12px; padding: 20px 0; border-top: 1px solid var(--r-line); }
.rsv-tsteps .rsv-num { margin: 0; }

.rsv-table-wrap { border-radius: 18px; background: var(--r-panel); box-shadow: inset 0 0 0 1px var(--r-line); overflow: hidden; }
.rsv-table { width: 100%; border-collapse: collapse; font-size: .9375rem; }
.rsv-table th, .rsv-table td { padding: 14px 18px; text-align: left; vertical-align: top; border-top: 1px solid var(--r-line); line-height: 1.45; }
.rsv-table thead th { border-top: 0; font-family: var(--ff-m); font-size: .75rem; font-weight: 400; letter-spacing: .04em; text-transform: uppercase; color: var(--r-ink3); }
.rsv-table tbody th { font-weight: 500; color: var(--r-ink); width: 26%; }
.rsv-table td { color: var(--r-ink2); }
.rsv-table td:last-child { white-space: nowrap; font-family: var(--ff-m); font-size: .8125rem; color: var(--r-ink); }

.rsv-terms { margin: 28px 0 0; display: grid; gap: 14px; }
.rsv-terms dt { font-family: var(--ff-m); font-size: .8125rem; color: var(--c1); }
.rsv-terms dd { margin: 2px 0 0; font-size: .9375rem; color: var(--r-ink2); line-height: 1.5; }

/* ---------- вопросы ---------- */
.rsv-faq { border-top: 1px solid var(--r-line); }
.rsv-qa { border-bottom: 1px solid var(--r-line); }
.rsv-qa summary { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 20px 0; cursor: pointer; list-style: none; font-family: var(--ff-d); font-weight: 500; font-size: clamp(1rem, 1.25vw, 1.15rem); line-height: 1.3; color: var(--r-ink); }
.rsv-qa summary::-webkit-details-marker { display: none; }
.rsv-qa summary:hover { color: var(--c1); }
.rsv-pm { position: relative; width: 14px; height: 14px; flex: none; }
.rsv-pm::before, .rsv-pm::after { content: ""; position: absolute; left: 0; top: 6.5px; width: 14px; height: 1.5px; background: currentColor; transition: transform .4s ease; }
.rsv-pm::after { transform: rotate(90deg); }
.rsv-qa[open] .rsv-pm::after { transform: rotate(0); }
.rsv-qa .qa-body { padding: 0 0 20px; }
.rsv-qa .qa-body p { color: var(--r-ink2); line-height: 1.6; max-width: 46em; }

/* ---------- форма ---------- */
.rsv-form-grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(28px, 5vw, 80px); align-items: start; padding-bottom: clamp(56px, 8vw, 112px); }
.rsv-form-copy .h2, .rsv-form-copy h2 { margin-bottom: 18px; }
.rsv-direct { display: grid; gap: 4px; margin-top: 28px; }
.rsv-direct a { font-family: var(--ff-m); font-size: clamp(1rem, 1.4vw, 1.2rem); color: var(--r-ink); text-decoration: none; width: fit-content; }
.rsv-direct a:hover { color: var(--c1); }
.rsv-form { position: relative; display: grid; gap: 18px; padding: clamp(20px, 3vw, 36px); border-radius: 22px; background: var(--r-panel); box-shadow: inset 0 0 0 1px var(--r-line2), 0 40px 80px -60px rgba(0,0,0,.8); }
.rsv-row { display: grid; gap: 8px; border: 0; margin: 0; padding: 0; min-width: 0; }
.rsv-row > label, .rsv-row > legend { padding: 0; margin-bottom: 0; font-family: var(--ff-m); font-size: .75rem; letter-spacing: .04em; text-transform: uppercase; color: var(--r-ink3); }
fieldset.rsv-row legend { margin-bottom: 8px; }
.rsv-in {
  width: 100%; min-height: 50px; padding: 13px 16px;
  border: 0; border-radius: 10px;
  background: var(--r-well);
  box-shadow: inset 0 0 0 1px var(--r-line);
  color: var(--r-ink); font: inherit; font-size: 1rem;
  transition: box-shadow .3s ease;
}
textarea.rsv-in { min-height: 96px; resize: vertical; }
.rsv-in::placeholder { color: var(--r-ink3); opacity: 1; }
.rsv-in:hover { box-shadow: inset 0 0 0 1px var(--r-line2); }
.rsv-in:focus { outline: none; box-shadow: inset 0 0 0 1px var(--c1), 0 0 0 4px rgba(79,227,208,.14); }
.rsv-row.is-bad .rsv-in { box-shadow: inset 0 0 0 1px var(--r-bad), 0 0 0 4px rgba(255,92,122,.12); }
.rsv-err { font-size: .8125rem; color: var(--r-bad); }
.rsv-err:empty { display: none; }
.rsv-seg { display: flex; flex-wrap: wrap; gap: 6px; }
.rsv-seg label { position: relative; }
.rsv-seg input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.rsv-seg span {
  display: inline-flex; align-items: center; min-height: 40px; padding: 0 14px;
  border-radius: 9px; box-shadow: inset 0 0 0 1px var(--r-line);
  font-size: .9375rem; color: var(--r-ink2); cursor: pointer;
  transition: color .3s ease, box-shadow .3s ease, background-color .3s ease;
}
.rsv-seg span:hover { color: var(--r-ink); box-shadow: inset 0 0 0 1px var(--r-line2); }
.rsv-seg input:checked + span { color: var(--r-ink); background: var(--r-panel2); box-shadow: inset 0 0 0 1px var(--c1); }
.rsv-seg input[value="Уже не открывается"]:checked + span { box-shadow: inset 0 0 0 1px var(--r-bad); }
.rsv-seg input:focus-visible + span { outline: 2px solid var(--c1); outline-offset: 2px; }
.rsv-submit { width: 100%; }
.rsv-submit .rsv-ic { width: 18px; height: 18px; }
.rsv-fnote { font-size: .8125rem; line-height: 1.5; color: var(--r-ink3); }
.rsv-fnote.is-ok { color: var(--c1); }
.rsv-fnote.is-bad { color: var(--r-bad); }
.rsv-fnote a { color: inherit; }
.rsv .hp { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; opacity: 0 !important; }

/* ---------- адаптив ---------- */
@media (max-width: 1100px) {
  .rsv-pkgs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1024px) {
  .rsv-hero-grid, .rsv-two, .rsv-form-grid { grid-template-columns: minmax(0, 1fr); }
  .rsv-tsteps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .rsv-flow, .rsv-steps, .rsv-tsteps, .rsv-pkgs, .rsv-pkgs-tech { grid-template-columns: minmax(0, 1fr); }
  .rsv-aud { border-radius: 16px; width: 100%; }
  .rsv-aud-l { width: 100%; padding: 4px 8px 0; }
  .rsv-aud-b { flex: 1 1 auto; justify-content: center; padding: 0 10px; font-size: .875rem; }
  .rsv-map { padding: 14px; }
  .rsv-net { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: auto; gap: 22px 14px; }
  .n-client { grid-column: 1 / span 2; grid-row: 1; }
  .n-dns { grid-column: 1 / span 2; grid-row: 2; }
  .n-ru { grid-column: 1; grid-row: 3; }
  .n-de { grid-column: 2; grid-row: 3; }
  .n-tg { grid-column: 2; grid-row: 4; }
  .n-client, .n-dns { grid-template-columns: auto 1fr; justify-items: start; align-items: center; column-gap: 10px; }
  .n-client .rsv-ic, .n-dns .rsv-ic { grid-row: 1 / span 2; margin: 0; }
  .rsv-timer { margin-left: 0; }
  .rsv-table thead { display: none; }
  .rsv-table, .rsv-table tbody, .rsv-table tr, .rsv-table th, .rsv-table td { display: block; width: 100% !important; }
  .rsv-table tr { padding: 14px 16px; border-top: 1px solid var(--r-line); }
  .rsv-table tr:first-child { border-top: 0; }
  .rsv-table th, .rsv-table td { padding: 2px 0; border: 0; }
  .rsv-table td::before { content: attr(data-l) ": "; color: var(--r-ink3); font-family: var(--ff-m); font-size: .75rem; }
  .rsv-table td:last-child { white-space: normal; }
}
@media (prefers-reduced-motion: reduce) {
  .rsv-pulses { display: none !important; }
  .is-fail .rsv-status .rsv-led { animation: none; }
}
