@charset "UTF-8";
:root {
  --c-bg-primary:#FFFFFF;
  --c-bg-secondary:#F8FAFC;
  --c-bg-tertiary:#F1F5F9;
  --c-bg-inverse:#0F172A;
  --c-bg-brand:#4F46E5;
  --c-bg-accent:#0D9488;
  --c-surface:#FFFFFF;
  --c-surface-sunken:#F1F5F9;
  --c-text-primary:#0F172A;
  --c-text-secondary:#475569;
  --c-text-tertiary:#94A3B8;
  --c-text-inverse:#FFFFFF;
  --c-text-brand:#4F46E5;
  --c-text-accent:#0F766E;
  --c-text-link:#4F46E5;
  --c-border:#E2E8F0;
  --c-border-strong:#CBD5E1;
  --c-border-subtle:#F1F5F9;
  --c-border-brand:#4F46E5;
  --c-border-focus:#6366F1;
  --c-ok:#16A34A;
  --c-ok-bg:#F0FDF4;
  --c-partial:#D97706;
  --c-partial-bg:#FFFBEB;
  --c-problem:#DC2626;
  --c-problem-bg:#FEF2F2;
  --c-unchecked:#94A3B8;
  --c-unchecked-bg:#F1F5F9;
  --c-tip:#2563EB;
  --c-tip-bg:#EEF2FF;
  --c-grade-a:#16A34A;
  --c-grade-a-bg:#F0FDF4;
  --c-grade-b:#65A30D;
  --c-grade-b-bg:#F7FEE7;
  --c-grade-c:#D97706;
  --c-grade-c-bg:#FFFBEB;
  --c-grade-d:#EA580C;
  --c-grade-d-bg:#FFF7ED;
  --c-grade-e:#DC2626;
  --c-grade-e-bg:#FEF2F2;
  --c-action:#4F46E5;
  --c-action-hover:#4338CA;
  --c-action-active:#3730A3;
  --c-action-disabled:#CBD5E1;
  --c-brand-soft:#EEF2FF;
  --c-brand-soft-2:#E0E7FF;
  --c-accent-soft:#CCFBF1;
  --s-1:4px;
  --s-2:8px;
  --s-3:12px;
  --s-4:16px;
  --s-5:20px;
  --s-6:24px;
  --s-8:32px;
  --s-10:40px;
  --s-12:48px;
  --s-16:64px;
  --s-20:80px;
  --s-24:96px;
  --r-sm:4px;
  --r-md:8px;
  --r-lg:12px;
  --r-xl:16px;
  --r-2xl:24px;
  --r-full:9999px;
  --shadow-field:0 1px 4px rgba(0,0,0,.04), 0 4px 24px rgba(79,77,143,.10);
  --shadow-card:0 10px 12px rgba(15,23,42,.04);
  --shadow-brand:0 12px 12px rgba(79,70,229,.10);
  --Font:"Inter", -apple-system, BlinkMacSystemFont, system-ui, "Segoe UI", sans-serif;
  --FontHead:var(--Font);
  --FontMono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  --Ink:var(--c-text-primary);
  --InkSoft:var(--c-text-secondary);
  --Muted:#64748B;
  --Line:var(--c-border);
  --LineSoft:var(--c-border-subtle);
  --Bg:var(--c-bg-primary);
  --BgSoft:var(--c-bg-secondary);
  --BgCard:var(--c-surface);
  --BgDeep:var(--c-bg-inverse);
  --BgDeepSoft:#1E293B;
  --Accent:var(--c-action);
  --AccentDark:var(--c-action-hover);
  --AccentSoft:var(--c-brand-soft);
  --AccentInk:var(--c-text-link);
  --Ok:var(--c-ok);
  --OkSoft:var(--c-ok-bg);
  --Warn:var(--c-partial);
  --WarnSoft:var(--c-partial-bg);
  --Bad:var(--c-problem);
  --BadSoft:var(--c-problem-bg);
  --Radius:var(--r-lg);
  --RadiusLg:var(--r-xl);
  --RadiusXl:var(--r-2xl);
  --Shadow:0 1px 2px rgba(15,23,42,.05), 0 2px 8px rgba(15,23,42,.05);
  --ShadowLg:0 12px 32px rgba(15,23,42,.10);
  --ShadowXl:0 28px 64px rgba(15,23,42,.16);
  --Gap:16px;
  --Max:1280px;
}

*, *::before, *::after {
  box-sizing: border-box;
}

html, body {
  margin: 0;
  padding: 0;
}

html {
  -webkit-text-size-adjust: 100%;
}

body {
  font-family: var(--Font), sans-serif;
  font-size: 16px;
  line-height: 1.6;
  color: var(--Ink);
  background: var(--c-bg-primary);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-feature-settings: "kern" 1, "liga" 1;
}

body[class] {
  max-width: none;
  min-width: 0;
  width: auto;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  float: none;
  position: static;
}

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

a:hover {
  text-decoration: underline;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

h1, h2, h3, h4 {
  font-family: var(--FontHead), sans-serif;
  margin: 0 0 12px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: -0.01em;
  color: var(--Ink);
  text-wrap: balance;
}

h3, h4 {
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.35;
}

code, pre, kbd, samp {
  font-family: var(--FontMono), monospace;
}

small {
  font-size: 13px;
  color: var(--Muted);
}

::selection {
  background: var(--AccentSoft);
  color: var(--AccentDark);
}

:focus-visible {
  outline: 2px solid var(--Accent);
  outline-offset: 2px;
  border-radius: 4px;
}

.app__btn,
.pub__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 11px 20px;
  border: 1px solid var(--Line);
  border-radius: var(--r-md);
  background: var(--Bg);
  color: var(--Ink);
  font-family: var(--Font), sans-serif;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.2;
  cursor: pointer;
  transition: background 0.16s ease, border-color 0.16s ease, color 0.16s ease, transform 0.16s ease;
}

.app__btn:hover,
.pub__btn:hover {
  background: var(--BgSoft);
  border-color: var(--c-border-strong);
  text-decoration: none;
}

.app__btn:active,
.pub__btn:active {
  transform: translateY(1px);
}

.app__btn--main,
.pub__btn--main {
  background: var(--Accent);
  border-color: var(--Accent);
  color: #FFF;
  box-shadow: none;
}

.app__btn--main:hover,
.pub__btn--main:hover {
  background: var(--AccentDark);
  border-color: var(--AccentDark);
  color: #FFF;
}

.app__btn--ink,
.pub__btn--ink {
  background: var(--Ink);
  border-color: var(--Ink);
  color: #FFF;
}

.app__btn--ink:hover,
.pub__btn--ink:hover {
  background: #000;
  border-color: #000;
  color: #FFF;
}

.app__btn--danger {
  border-color: rgba(194, 43, 43, 0.4);
  color: var(--Bad);
}

.app__btn--danger:hover {
  background: var(--BadSoft);
  border-color: var(--Bad);
}

.app__link {
  background: none;
  border: 0;
  padding: 0;
  font: inherit;
  color: var(--AccentInk);
  cursor: pointer;
}

.app__field {
  display: block;
  margin: 0 0 16px;
}

.app__field > span {
  display: block;
  margin-bottom: 7px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.01em;
  color: var(--InkSoft);
}

.app__field input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]):not([type=reset]):not([type=file]):not([type=range]):not([type=color]),
.app__field textarea,
.app__field select {
  width: 100%;
  min-height: 46px;
  padding: 12px 14px;
  border: 1px solid var(--Line);
  border-radius: var(--Radius);
  background: var(--Bg);
  font-family: var(--Font), sans-serif;
  font-size: 15px;
  color: var(--Ink);
  transition: border-color 0.16s ease, box-shadow 0.16s ease;
}

.app__field input:focus,
.app__field textarea:focus,
.app__field select:focus {
  outline: 0;
  border-color: var(--Accent);
  box-shadow: 0 0 0 3px var(--AccentSoft);
}

.app__field input:disabled {
  background: var(--BgSoft);
  color: var(--Muted);
}

.app__field input[type=date]::-webkit-calendar-picker-indicator {
  margin-left: auto;
  cursor: pointer;
  opacity: 0.55;
}

.app__field input[type=date]:hover::-webkit-calendar-picker-indicator {
  opacity: 1;
}

.app__field {
  min-width: 0;
}

.app__field input[type=date],
.app__field input[type=datetime-local],
.app__field input[type=month],
.app__field input[type=time] {
  -webkit-appearance: none;
  appearance: none;
  display: block;
  min-width: 0;
  max-width: 100%;
  text-align: left;
}

.app__field input[type=date]::-webkit-date-and-time-value,
.app__field input[type=datetime-local]::-webkit-date-and-time-value,
.app__field input[type=month]::-webkit-date-and-time-value,
.app__field input[type=time]::-webkit-date-and-time-value {
  text-align: left;
  margin: 0;
}

.app__check {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 12px;
}

.app__check label {
  cursor: pointer;
}

input[type=checkbox],
input[type=radio] {
  appearance: none;
  -webkit-appearance: none;
  flex: none;
  width: 18px;
  height: 18px;
  margin: 0;
  padding: 0;
  border: 1px solid var(--Line);
  border-radius: 5px;
  background: var(--Bg) center center/100% 100% no-repeat;
  vertical-align: middle;
  cursor: pointer;
  transition: border-color 0.16s ease, background-color 0.16s ease, box-shadow 0.16s ease;
}

input[type=radio] {
  border-radius: 50%;
}

input[type=checkbox]:hover,
input[type=radio]:hover {
  border-color: var(--Accent);
}

input[type=checkbox]:checked,
input[type=radio]:checked {
  border-color: var(--Accent);
  background-color: var(--Accent);
}

input[type=checkbox]:checked {
  background-image: url("/images/ico/box-check.svg");
}

input[type=checkbox]:indeterminate {
  border-color: var(--Accent);
  background-color: var(--Accent);
  background-image: url("/images/ico/box-dash.svg");
}

input[type=radio]:checked {
  background-image: radial-gradient(circle at center, #FFF 0 3.4px, transparent 3.9px);
}

input[type=checkbox]:focus-visible,
input[type=radio]:focus-visible {
  outline: 0;
  border-color: var(--Accent);
  box-shadow: 0 0 0 3px var(--AccentSoft);
}

input[type=checkbox]:disabled,
input[type=radio]:disabled {
  background-color: var(--BgSoft);
  border-color: var(--Line);
  cursor: default;
  opacity: 0.55;
}

input[type=checkbox]:disabled + label,
input[type=radio]:disabled + label {
  color: var(--Muted);
  cursor: default;
}

.app__hint {
  margin: 7px 0 14px;
  font-size: 13px;
  color: var(--Muted);
}

.app__badge {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.01em;
  background: var(--LineSoft);
  color: var(--InkSoft);
}

.app__badge--ok {
  background: var(--OkSoft);
  color: var(--Ok);
}

.app__badge--bad {
  background: var(--BadSoft);
  color: var(--Bad);
}

.app__badge--wait {
  background: var(--WarnSoft);
  color: var(--Warn);
}

.app__badge--muted {
  background: var(--LineSoft);
  color: var(--Muted);
}

.app__notice {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin: 0 0 20px;
  padding: 15px 18px;
  border: 1px solid var(--Line);
  border-radius: var(--Radius);
  background: var(--Bg);
}

.app__notice p {
  margin: 4px 0;
}

.app__notice ul {
  margin: 6px 0 0;
  padding-left: 18px;
  width: 100%;
}

.app__notice--ok {
  background: var(--OkSoft);
  border-color: rgba(11, 113, 86, 0.22);
}

.app__notice--warn {
  background: var(--WarnSoft);
  border-color: rgba(180, 83, 9, 0.22);
}

.app__notice--info {
  background: var(--AccentSoft);
  border-color: rgba(11, 113, 86, 0.18);
}

#mb {
  display: block;
}

body:has(> #mb) {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}
@supports (min-height: 100dvh) {
  body:has(> #mb) {
    min-height: 100dvh;
  }
}

body:has(> #mb) > #mb {
  flex: 1 0 auto;
}

body:has(> #mb) > .site-footer {
  flex: 0 0 auto;
}

.band__in,
.site-header__in,
.site-footer__in {
  width: 100%;
  max-width: calc(var(--Max) + 2 * var(--s-20));
  margin: 0 auto;
  padding-left: var(--s-20);
  padding-right: var(--s-20);
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--s-2);
  padding: 12px 24px;
  border: 1px solid transparent;
  border-radius: var(--r-md);
  font-family: var(--Font), sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 24px;
  white-space: nowrap;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.btn:hover {
  text-decoration: none;
}

.btn--primary {
  background: var(--c-action);
  color: var(--c-text-inverse);
}

.btn--primary:hover {
  background: var(--c-action-hover);
  color: var(--c-text-inverse);
}

.btn--primary:active {
  background: var(--c-action-active);
}

.btn--soft {
  background: var(--c-bg-tertiary);
  color: var(--c-text-primary);
  font-weight: 600;
}

.btn--soft:hover {
  background: var(--c-border);
  color: var(--c-text-primary);
}

.btn--ghost {
  background: var(--c-surface);
  border-color: var(--c-border);
  color: var(--c-text-primary);
}

.btn--ghost:hover {
  border-color: var(--c-border-strong);
  color: var(--c-text-primary);
}

.btn--sm {
  padding: 7px 14px;
  font-size: 14px;
  line-height: 20px;
}

.btn--lg {
  padding: 12px 24px;
  font-size: 16px;
}

.btn--block {
  width: 100%;
}

.btn[aria-disabled=true] {
  color: var(--c-text-tertiary);
  cursor: default;
}

.pub__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 24px;
  border: 0;
  border-radius: var(--r-md);
  background: var(--c-action);
  color: var(--c-text-inverse);
  font-family: var(--Font), sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 24px;
  cursor: pointer;
  transition: background 0.15s ease;
}

.pub__cta:hover {
  text-decoration: none;
  background: var(--c-action-hover);
  color: var(--c-text-inverse);
}

.pub__hint {
  margin: 16px 0 0;
  font-size: 14px;
  line-height: 20px;
  color: var(--c-text-secondary);
}

.pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border: 1px solid currentColor;
  border-radius: var(--r-full);
  font-size: 12px;
  font-weight: 600;
  line-height: 16px;
}

.pill--ok {
  color: var(--c-ok);
  background: var(--c-ok-bg);
}

.pill--brand {
  color: var(--c-text-brand);
  background: var(--c-brand-soft);
  border-color: transparent;
  font-family: var(--FontMono), monospace;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.pill--accent {
  color: #115E59;
  background: var(--c-accent-soft);
  border-color: transparent;
  font-family: var(--FontMono), monospace;
  font-weight: 700;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  border-radius: var(--r-md);
}

.tag {
  display: inline-flex;
  align-items: center;
  padding: 3px 8px;
  border-radius: var(--r-sm);
  font-family: var(--FontMono), monospace;
  font-size: 10px;
  font-weight: 700;
  line-height: 14px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  white-space: nowrap;
}

.tag--brand {
  background: var(--c-bg-brand);
  color: var(--c-text-inverse);
}

.tag--muted {
  background: var(--c-text-tertiary);
  color: var(--c-text-inverse);
}

.tag--outline {
  padding: 6px 12px;
  border: 1px solid var(--c-border);
  background: var(--c-surface);
  color: var(--c-text-primary);
  font-family: var(--Font), sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 17px;
  text-transform: none;
  letter-spacing: 0;
  border-radius: 6px;
}

.tag--search {
  background: var(--c-ok-bg);
  color: var(--c-ok);
}

.tag--user {
  background: var(--c-tip-bg);
  color: var(--c-tip);
}

.tag--training {
  background: var(--c-partial-bg);
  color: var(--c-partial);
}

.grade {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 24px;
  padding: 2px 8px;
  border-radius: var(--r-sm);
  font-size: 12px;
  font-weight: 600;
  line-height: 18px;
}

.grade--a {
  color: var(--c-grade-a);
  background: var(--c-grade-a-bg);
}

.grade--b {
  color: var(--c-grade-b);
  background: var(--c-grade-b-bg);
}

.grade--c {
  color: var(--c-grade-c);
  background: var(--c-grade-c-bg);
}

.grade--d {
  color: var(--c-grade-d);
  background: var(--c-grade-d-bg);
}

.grade--e {
  color: var(--c-grade-e);
  background: var(--c-grade-e-bg);
}

.dot {
  display: inline-block;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  flex: none;
}

.dot--ok {
  background: var(--c-ok);
}

.dot--problem {
  background: var(--c-problem);
}

:root {
  --mono:var(--c-bg-brand);
  --p:0;
}

.mono {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--mono);
  color: #FFF;
  font-size: 13px;
  font-weight: 600;
  line-height: 1;
}

.mono--lg {
  width: 48px;
  height: 48px;
  border-radius: var(--r-lg);
  background: color-mix(in srgb, var(--mono) 14%, #FFF);
  color: var(--mono);
  font-size: 18px;
  font-weight: 800;
}

.ico {
  display: inline-block;
  flex: none;
  width: 16px;
  height: 16px;
  background-color: currentColor;
  -webkit-mask: var(--ico) center/contain no-repeat;
  mask: var(--ico) center/contain no-repeat;
  vertical-align: -0.15em;
}

.ico--s12 {
  width: 12px;
  height: 12px;
}

.ico--s14 {
  width: 14px;
  height: 14px;
}

.ico--s18 {
  width: 18px;
  height: 18px;
}

.ico--s20 {
  width: 20px;
  height: 20px;
}

.ico--s24 {
  width: 24px;
  height: 24px;
}

.ico--alert {
  --ico:url("/images/ico/alert.svg");
}

.ico--arrow {
  --ico:url("/images/ico/arrow.svg");
}

.ico--arrow-left {
  --ico:url("/images/ico/arrow-left.svg");
}

.ico--check {
  --ico:url("/images/ico/check.svg");
}

.ico--check-circle {
  --ico:url("/images/ico/check-circle.svg");
}

.ico--chevron {
  --ico:url("/images/ico/chevron.svg");
}

.ico--clock {
  --ico:url("/images/ico/clock.svg");
}

.ico--copy {
  --ico:url("/images/ico/copy.svg");
}

.ico--download {
  --ico:url("/images/ico/download.svg");
}

.ico--file {
  --ico:url("/images/ico/file.svg");
}

.ico--globe {
  --ico:url("/images/ico/globe.svg");
}

.ico--info {
  --ico:url("/images/ico/info.svg");
}

.ico--link {
  --ico:url("/images/ico/link.svg");
}

.ico--loader {
  --ico:url("/images/ico/loader.svg");
}

.ico--lock {
  --ico:url("/images/ico/lock.svg");
}

.ico--message {
  --ico:url("/images/ico/message.svg");
}

.ico--minus {
  --ico:url("/images/ico/minus.svg");
}

.ico--pdf {
  --ico:url("/images/ico/pdf.svg");
}

.ico--plus {
  --ico:url("/images/ico/plus.svg");
}

.ico--repeat {
  --ico:url("/images/ico/repeat.svg");
}

.ico--search {
  --ico:url("/images/ico/search.svg");
}

.ico--trash {
  --ico:url("/images/ico/trash.svg");
}

.ico--warn {
  --ico:url("/images/ico/warn.svg");
}

.ico--x {
  --ico:url("/images/ico/x.svg");
}

.ico--x-circle {
  --ico:url("/images/ico/x-circle.svg");
}

.ico--zap {
  --ico:url("/images/ico/zap.svg");
}

.ico--share {
  --ico:url("/images/ico/share.svg");
}

.ico--send {
  --ico:url("/images/ico/send.svg");
}

.ico--loader {
  animation: ico-spin 1.2s linear infinite;
}

@keyframes ico-spin {
  to {
    transform: rotate(360deg);
  }
}
@media (prefers-reduced-motion: reduce) {
  .ico--loader {
    animation: none;
  }
}
.checks {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.checks li {
  display: flex;
  gap: var(--s-2);
  align-items: flex-start;
  font-size: 14px;
  line-height: 20px;
  color: #334155;
}

.checks .ico {
  margin-top: 3px;
  color: var(--c-text-brand);
}

.note {
  display: flex;
  gap: var(--s-3);
  align-items: flex-start;
  padding: var(--s-5);
  border: 1px solid;
  border-radius: var(--r-md);
  font-size: 14px;
  line-height: 1.5;
  color: var(--c-text-primary);
}

.note p {
  margin: 0;
}

.note--brand {
  background: var(--c-brand-soft);
  border-color: var(--c-border-brand);
}

.note--brand .ico {
  color: var(--c-text-brand);
}

.note--ok {
  background: var(--c-ok-bg);
  border-color: var(--c-ok);
  border-radius: var(--r-lg);
  color: var(--c-text-secondary);
}

.note--ok b {
  color: var(--c-text-primary);
  margin-right: 8px;
  font-size: 15px;
  font-weight: 600;
}

.note--ok p {
  line-height: 22px;
}

.code {
  margin: 0;
  padding: var(--s-3);
  border-radius: var(--r-md);
  background: var(--c-bg-tertiary);
  font-family: var(--FontMono), monospace;
  font-size: 12px;
  line-height: 18px;
  white-space: pre-wrap;
  word-break: break-word;
  color: var(--c-text-primary);
}

.code--brand {
  color: var(--c-text-brand);
}

.code--accent {
  color: #115E59;
}

.code--danger {
  color: var(--c-problem);
}

.bar {
  height: 6px;
  border-radius: 3px;
  background: var(--c-bg-tertiary);
  overflow: hidden;
}

.bar span {
  display: block;
  height: 100%;
  border-radius: 3px;
  background: var(--c-bg-brand);
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 30;
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(12px) saturate(1.4);
  -webkit-backdrop-filter: blur(12px) saturate(1.4);
  border-bottom: 1px solid var(--c-border-subtle);
}

.site-header__in {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--s-6);
  min-height: 62px;
  padding-top: var(--s-3);
  padding-bottom: var(--s-3);
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--c-text-primary);
  font-weight: 700;
  font-size: 18px;
  letter-spacing: -0.5px;
  line-height: 1;
  white-space: nowrap;
}

.brand:hover {
  text-decoration: none;
  color: var(--c-text-primary);
}

.brand__word span {
  color: var(--c-text-tertiary);
  font-weight: 600;
}

.brand--sm {
  font-size: 15px;
  gap: 8px;
}

.brand__mark {
  display: inline-block;
  flex: none;
  width: 26px;
  height: 26px;
  background: url("/images/aiseen-mark.svg") center/contain no-repeat;
}

.brand__mark--22 {
  width: 22px;
  height: 22px;
}

.site-header__nav {
  display: flex;
  align-items: center;
  gap: var(--s-8);
}

.site-header__nav a {
  color: var(--c-text-secondary);
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
}

.site-header__nav a:hover {
  color: var(--c-text-primary);
  text-decoration: none;
}

.site-header__nav a.cur {
  color: var(--c-text-primary);
}

.site-header__side {
  display: flex;
  align-items: center;
  gap: var(--s-3);
}

.site-header__menu {
  display: contents;
}

.nav-burger {
  display: none;
}

.lang {
  display: flex;
  gap: var(--s-2);
}

.lang a, .lang span {
  padding: 6px 12px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 500;
  line-height: 18px;
  color: var(--c-text-tertiary);
}

.lang a:hover {
  color: var(--c-text-primary);
  text-decoration: none;
}

.lang .cur {
  background: var(--c-bg-tertiary);
  color: var(--c-text-primary);
  font-weight: 600;
}

.cur-switch {
  position: relative;
}

.cur-switch summary {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 6px 10px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 600;
  line-height: 18px;
  color: var(--c-text-secondary);
  cursor: pointer;
  list-style: none;
}

.cur-switch summary::-webkit-details-marker {
  display: none;
}

.cur-switch summary:hover, .cur-switch[open] summary {
  background: var(--c-bg-tertiary);
  color: var(--c-text-primary);
}

.cur-switch__sym {
  color: var(--c-text-brand);
}

.cur-switch ul {
  position: absolute;
  right: 0;
  top: calc(100% + 6px);
  z-index: 40;
  min-width: 120px;
  margin: 0;
  padding: var(--s-1);
  list-style: none;
  background: var(--c-surface);
  border: 1px solid var(--c-border);
  border-radius: var(--r-md);
  box-shadow: var(--shadow-card);
}

.cur-switch li a, .cur-switch li span {
  display: flex;
  gap: var(--s-2);
  padding: 6px 10px;
  border-radius: 6px;
  font-size: 13px;
  color: var(--c-text-secondary);
}

.cur-switch li a:hover {
  background: var(--c-bg-tertiary);
  color: var(--c-text-primary);
  text-decoration: none;
}

.cur-switch li b {
  width: 14px;
  color: var(--c-text-brand);
}

.cur-switch .cur {
  color: var(--c-text-primary);
  font-weight: 600;
  background: var(--c-brand-soft);
}

.site-footer {
  background: var(--c-bg-secondary);
  border-top: 1px solid var(--c-border-subtle);
}

.site-footer__in {
  padding-top: var(--s-16);
  padding-bottom: var(--s-12);
}

.site-footer__top {
  display: flex;
  justify-content: space-between;
  gap: var(--s-12);
}

.site-footer__about {
  max-width: 300px;
  display: flex;
  flex-direction: column;
  gap: var(--s-4);
}

.site-footer__about p {
  margin: 0;
  font-size: 13px;
  line-height: 20px;
  color: var(--c-text-secondary);
}

.site-footer__company {
  color: var(--c-text-tertiary) !important;
}

.site-footer__cols {
  display: flex;
  gap: var(--s-16);
}

.site-footer__col {
  display: flex;
  flex-direction: column;
  gap: var(--s-3);
}

.site-footer__title {
  margin: 0;
  font-size: 14px;
  font-weight: 600;
  color: var(--c-text-primary);
}

.site-footer__col a {
  font-size: 13px;
  line-height: normal;
  color: var(--c-text-secondary);
}

.site-footer__col a:hover {
  color: var(--c-text-primary);
  text-decoration: none;
}

.site-footer__bottom {
  display: flex;
  justify-content: space-between;
  gap: var(--s-6);
  margin-top: var(--s-12);
  padding-top: var(--s-12);
  border-top: 1px solid var(--c-border);
  font-size: 13px;
  color: var(--c-text-tertiary);
}

.site-footer__bottom p {
  margin: 0;
}

.site-footer__credit a {
  color: var(--c-text-secondary);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.site-footer__credit a:hover {
  color: var(--c-text-primary);
}

.site-footer__featured {
  display: flex;
  align-items: center;
  gap: var(--s-6);
  margin-top: var(--s-12);
}

.site-footer__badges {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--s-3);
}

.site-footer__badges a {
  display: block;
  line-height: 0;
}

.site-footer__badges img {
  display: block;
  width: auto;
  height: 40px;
}

.band {
  padding: var(--s-20) 0;
  background: var(--c-bg-primary);
}

.band--soft {
  background: var(--c-bg-secondary);
}

.band--line {
  border-top: 1px solid var(--c-border);
}

.band--flush-top {
  padding-top: 0;
}

.band__head {
  display: flex;
  flex-direction: column;
  gap: var(--s-2);
  margin-bottom: var(--s-12);
}

.band__head--row {
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: var(--s-6);
}

.band__head--row > div {
  display: flex;
  flex-direction: column;
  gap: var(--s-2);
}

.band__title {
  margin: 0;
  font-size: 28px;
  font-weight: 700;
  line-height: 36px;
  letter-spacing: 0;
  color: var(--c-text-primary);
}

.band__title--gap {
  margin-top: var(--s-16);
  margin-bottom: var(--s-6);
}

.band__title--plans {
  margin-bottom: var(--s-6);
}

.band__lead {
  margin: 0;
  font-size: 16px;
  line-height: 24px;
  color: var(--c-text-secondary);
}

.band__note {
  margin: var(--s-2) 0 0;
  font-size: 14px;
  line-height: 20px;
  color: var(--c-text-tertiary);
}

.sources-line {
  font-size: 13px;
}

.sources-line a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.sources-line a:hover {
  color: var(--c-text-primary);
}

.band__hint {
  margin: var(--s-8) 0 0;
  font-size: 14px;
  color: var(--c-text-secondary);
  text-align: center;
}

.band__more {
  margin: var(--s-8) 0 0;
}

.band__more a {
  display: inline-flex;
  align-items: center;
  gap: var(--s-2);
  font-size: 14px;
  font-weight: 600;
  color: var(--c-text-brand);
}

.hero {
  position: relative;
  overflow: hidden;
  padding: var(--s-20) 0 calc(var(--s-20) + 56px);
  background: radial-gradient(ellipse 400px 160px at 50% 36%, rgba(99, 102, 241, 0.12), rgba(20, 184, 166, 0.06) 55%, rgba(248, 250, 252, 0) 100%), radial-gradient(ellipse 720px 300px at 50% 35%, rgba(99, 102, 241, 0.07), rgba(20, 184, 166, 0.03) 60%, rgba(248, 250, 252, 0) 100%), radial-gradient(circle, rgba(148, 163, 184, 0.12) 1.5px, transparent 2px) 14px 14px/38px 38px, var(--c-bg-secondary);
}

.hero::after {
  content: "";
  position: absolute;
  left: max(var(--s-20), (100% - 1280px) / 2);
  right: max(var(--s-20), (100% - 1280px) / 2);
  bottom: calc(var(--s-20) + 8px);
  height: 1px;
  background: var(--c-border);
}

.hero__in {
  max-width: 840px;
  margin: 0 auto;
  padding: 0 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--s-4);
  text-align: center;
}

.hero__title {
  margin: 0;
  font-size: clamp(34px, 5vw, 56px);
  font-weight: 800;
  line-height: 1.143;
  letter-spacing: -0.02em;
  color: var(--c-text-primary);
}

.hero__lead {
  font-size: 20px;
  line-height: 28px;
  color: var(--c-text-secondary);
  max-width: 800px;
}

.hero__lead p {
  margin: 0;
}

.hero__done {
  margin: 0;
}

.hero__ticks {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--s-2) var(--s-6);
  margin: var(--s-6) 0 0;
  padding: 0;
}

.hero__ticks li {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  line-height: 17px;
  color: var(--c-text-secondary);
}

.hero__ticks li + li::before {
  content: "•";
  margin-right: calc(var(--s-6) - 6px);
  color: var(--c-text-tertiary);
}

.hero__ticks .ico {
  color: var(--c-ok);
}

.hero__hint {
  margin: 0;
  font-size: 13px;
  line-height: 18px;
  color: var(--c-text-tertiary);
  max-width: 560px;
}

.check-form {
  width: 100%;
  max-width: 672px;
  margin-top: var(--s-6);
  text-align: left;
}

.check-form__label {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.check-form__row {
  display: flex;
  gap: var(--s-3);
}

.field {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: var(--s-2);
  height: 48px;
  padding: 0 var(--s-4);
  border: 1.5px solid var(--c-border);
  border-radius: var(--r-lg);
  background: var(--c-surface);
  box-shadow: var(--shadow-field);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.field:focus-within {
  border-color: var(--c-border-focus);
  box-shadow: 0 0 0 3px var(--c-brand-soft), var(--shadow-field);
}

.field__prefix {
  font-size: 16px;
  font-weight: 500;
  color: var(--c-text-tertiary);
}

.check-form__input {
  flex: 1 1 auto;
  min-width: 0;
  height: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  font: inherit;
  font-size: 16px;
  color: var(--c-text-primary);
  outline: 0;
}

.check-form__input::placeholder {
  color: var(--c-text-tertiary);
}

.check-form__input.error {
  color: var(--c-problem);
}

.field:has(.check-form__input.error) {
  border-color: var(--c-problem);
}

.check-form__button {
  flex: 0 0 auto;
  box-shadow: var(--shadow-field);
}

.check-form__button:disabled {
  opacity: 0.7;
  cursor: progress;
}

.check-form__captcha {
  margin-top: 12px;
}

.check-form .message.error {
  margin: 10px 4px 0;
  font-size: 14px;
  color: var(--c-problem);
}

.how {
  --HowGap:var(--s-6);
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0 var(--HowGap);
}

.how__step {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
}

.how__step::before {
  content: "";
  position: absolute;
  top: 24px;
  left: 0;
  right: calc(-1 * var(--HowGap));
  height: 1px;
  background: var(--c-border);
}

.how__step:first-child::before {
  left: 50%;
}

.how__step:last-child::before {
  right: 50%;
}

.how__num {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: var(--c-bg-brand);
  color: #FFF;
  font-size: 13px;
  font-weight: 700;
}

.how__card {
  align-self: stretch;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: var(--s-3);
  padding: 20px var(--s-6) var(--s-6);
  background: var(--c-bg-secondary);
  border: 1px solid var(--c-border);
  border-radius: var(--r-lg);
}

.how__label {
  margin: 0;
  font-size: 11px;
  font-weight: 600;
  line-height: normal;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--c-text-brand);
}

.how__title {
  margin: 0;
  font-size: 18px;
  font-weight: 600;
  line-height: normal;
}

.how__text {
  margin: 0;
  font-size: 14px;
  line-height: 20px;
  color: var(--c-text-secondary);
}

.areas {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--s-6);
}

.area {
  display: flex;
  flex-direction: column;
  gap: var(--s-3);
  padding: var(--s-5);
  background: var(--c-surface);
  border: 1px solid var(--c-border);
  border-radius: var(--r-lg);
}

.area__head {
  display: flex;
  align-items: center;
  gap: var(--s-3);
}

.area__head h3 {
  flex: 1;
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  line-height: 24px;
}

.area__max {
  font-size: 16px;
  line-height: 24px;
  color: var(--c-text-tertiary);
  white-space: nowrap;
}

.area__max b {
  font-weight: 700;
  color: var(--c-text-brand);
}

.area__max--ok b {
  color: var(--c-ok);
}

.area__max--partial b {
  color: var(--c-partial);
}

.area__max--problem b {
  color: var(--c-problem);
}

.area__text {
  margin: 0;
  font-size: 13px;
  line-height: 18px;
  font-weight: 500;
  color: var(--c-text-secondary);
}

.example {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--s-10);
  align-items: start;
}

.example__report {
  display: flex;
  flex-direction: column;
  gap: var(--s-4);
  padding: var(--s-8);
  background: var(--c-surface);
  border: 1px solid var(--c-border);
  border-radius: var(--r-xl);
}

.example__site {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: var(--s-6);
  margin-bottom: var(--s-2);
  border-bottom: 1px solid var(--c-border);
}

.example__domain {
  margin: 0;
  font-size: 20px;
  font-weight: 700;
}

.example__meta {
  margin: 4px 0 0;
  font-size: 14px;
  color: var(--c-text-secondary);
}

.example__subtitle {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
}

.example__side {
  display: flex;
  flex-direction: column;
  gap: var(--s-6);
}

.evidence {
  padding: var(--s-3) var(--s-4);
  background: var(--c-bg-secondary);
  border-left: 3px solid var(--c-border-brand);
  border-radius: var(--r-md);
}

.evidence__label {
  margin: 0 0 var(--s-2);
  font-size: 11px;
  font-weight: 500;
  line-height: 14px;
  letter-spacing: 0.02em;
  color: var(--c-text-secondary);
}

.evidence pre {
  margin: 0;
  font-family: var(--FontMono), monospace;
  font-size: 13px;
  line-height: 20px;
  white-space: pre-wrap;
  color: var(--c-text-primary);
}

.codeblock {
  border-radius: var(--r-md);
  overflow: hidden;
}

.codeblock__head {
  display: flex;
  justify-content: space-between;
  padding: var(--s-2) var(--s-3) var(--s-2) var(--s-4);
  background: var(--c-bg-tertiary);
  font-family: var(--FontMono), monospace;
  font-size: 12px;
  line-height: 18px;
  color: var(--c-text-secondary);
}

.codeblock__copy {
  padding: 0;
  border: 0;
  background: none;
  font: 500 12px/18px var(--Font), sans-serif;
  color: var(--c-text-brand);
  cursor: pointer;
}

.codeblock__copy:hover {
  text-decoration: underline;
}

.codeblock__body {
  margin: 0;
  padding: var(--s-4);
  background: var(--c-bg-secondary);
  font-family: var(--FontMono), monospace;
  font-size: 13px;
  line-height: 20px;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  color: var(--c-text-primary);
}

.engines {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: var(--s-4);
}

.engine {
  display: inline-flex;
  align-items: center;
  gap: var(--s-2);
  padding: var(--s-2) var(--s-3);
  background: var(--c-surface);
  border: 1px solid var(--c-border);
  border-radius: var(--r-md);
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  color: var(--c-text-primary);
}

.engine:hover {
  border-color: var(--c-border-strong);
  text-decoration: none;
  color: var(--c-text-primary);
}

.cta-band {
  padding: 100px 0;
  text-align: center;
  background: var(--c-bg-primary);
}

.cta-band__title {
  margin: 0 0 var(--s-4);
  font-size: 36px;
  font-weight: 800;
  line-height: 44px;
  letter-spacing: -0.01em;
}

.cta-band__lead {
  margin: 0 auto var(--s-10);
  max-width: 800px;
  font-size: 16px;
  line-height: 24px;
  color: var(--c-text-secondary);
}

.check-form--cta {
  margin: 0 auto;
}

.page-hero {
  padding: var(--s-20) var(--s-20) var(--s-16);
  max-width: calc(var(--Max) + 2 * var(--s-20));
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--s-4);
}

.page-hero--center {
  align-items: center;
  text-align: center;
  max-width: none;
  padding-bottom: 56px;
  background: var(--c-bg-secondary);
}

.page-hero--center .page-hero__title {
  font-size: clamp(32px, 4vw, 48px);
  line-height: 1.2;
}

.page-hero--center .page-hero__lead {
  max-width: 600px;
  font-size: 16px;
  line-height: 24px;
  color: #64748B;
}

.page-hero--dots {
  max-width: none;
  padding-left: max(var(--s-20), 50% - var(--Max) / 2);
  padding-right: max(var(--s-20), 50% - var(--Max) / 2);
  background: radial-gradient(circle, rgba(203, 213, 225, 0.7) 1px, transparent 1.4px) 0 0/46px 30px, var(--c-bg-secondary);
}

.page-hero__title {
  margin: 0;
  max-width: 880px;
  font-size: clamp(32px, 4.4vw, 52px);
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -0.02em;
}

.page-hero__lead {
  max-width: 720px;
  font-size: 18px;
  line-height: 28px;
  color: var(--c-text-secondary);
}

.page-hero__lead p {
  margin: 0;
}

.plans {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: var(--s-8);
  align-items: start;
}

.plan {
  display: flex;
  flex-direction: column;
  gap: var(--s-6);
  padding: var(--s-8);
  background: var(--c-surface);
  border: 1px solid var(--c-border-subtle);
  border-radius: var(--r-lg);
}

.plan--popular {
  border: 2px solid var(--c-border-brand);
  box-shadow: var(--shadow-brand);
}

.plan--soon {
  opacity: 0.6;
}

.plan--soon .plan__title, .plan--soon .plan__price, .plan--soon .checks li {
  color: var(--c-text-tertiary);
}

.plan--soon .checks .ico {
  color: var(--c-text-tertiary);
}

.plan--free .checks .ico {
  color: var(--c-ok);
}

.plan--popular .checks li {
  color: var(--c-text-primary);
  font-weight: 600;
}

.plan__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: var(--s-3);
}

.plan__title {
  margin: 0 0 var(--s-2);
  font-size: 20px;
  font-weight: 700;
  line-height: 1.2;
}

.plan__sub {
  margin: 0;
  font-size: 13px;
  color: #64748B;
}

.plan__price {
  margin: 0;
  font-size: 36px;
  font-weight: 800;
  line-height: 1.1;
  color: var(--c-text-primary);
}

.plan__price small {
  display: block;
  margin-top: 6px;
  font-size: 14px;
  font-weight: 500;
  color: var(--c-text-secondary);
}

.plan__rule {
  margin: 0;
  border: 0;
  border-top: 1px solid var(--c-border-subtle);
}

.plan .checks li {
  line-height: 18px;
}

.plan .checks .ico {
  margin-top: 2px;
}

.plan .btn {
  margin-top: auto;
  font-size: 14px;
  font-weight: 700;
  padding: 12px 16px;
  border-radius: 6px;
}

.plans__note {
  margin: var(--s-4) 0 0;
  font-size: 13px;
  color: var(--c-text-secondary);
  text-align: center;
}

.plans--subs {
  margin-top: var(--s-6);
  grid-template-columns: repeat(auto-fit, minmax(280px, 420px));
  justify-content: center;
}

.plan__price small {
  font-size: 15px;
  font-weight: 500;
  color: var(--c-text-secondary);
}

.plan__anchor {
  margin: var(--s-1) 0 0;
  font-size: 13px;
  line-height: 18px;
  color: var(--c-text-secondary);
}

.plans__sources {
  margin-top: var(--s-1);
  font-size: 12px;
  color: var(--c-text-tertiary);
}

.plans__sources a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.buy {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--s-2) var(--s-4);
}

.buy__anchor {
  margin: 0;
  font-size: 13px;
  line-height: 18px;
  color: var(--c-text-secondary);
}

.buy--locked {
  flex-direction: column;
  align-items: stretch;
  gap: var(--s-2);
  margin: var(--s-4) 0 0;
  text-align: center;
}

.buybar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--s-4) var(--s-6);
  margin: var(--s-6) 0 0;
  padding: var(--s-5) var(--s-6);
  background: var(--c-brand-soft);
  border: 1px solid var(--c-border-brand);
  border-radius: var(--r-md);
}

.buybar__title {
  margin: 0;
  font-size: 16px;
  line-height: 22px;
  font-weight: 700;
  color: var(--c-text-primary);
}

.buybar__anchor {
  margin: var(--s-1) 0 0;
  font-size: 14px;
  line-height: 20px;
  color: var(--c-text-secondary);
}

.buybar__btn {
  flex: none;
}

@media (max-width: 700px) {
  .buybar {
    flex-direction: column;
    align-items: stretch;
    padding: var(--s-4);
  }
  .buybar__btn {
    justify-content: center;
  }
}
.cmp {
  border: 1px solid var(--c-border-subtle);
  border-radius: var(--r-md);
  overflow-x: auto;
  margin-bottom: var(--s-8);
}

.cmp-title {
  margin-bottom: var(--s-8);
}

.cmp table {
  width: 100%;
  min-width: 640px;
  table-layout: fixed;
  border-collapse: collapse;
  font-size: 14px;
  line-height: 18px;
}

.cmp th {
  padding: var(--s-5);
  background: var(--c-bg-tertiary);
  text-align: left;
  font-weight: 700;
  color: var(--c-text-primary);
}

.cmp td {
  padding: var(--s-5);
  border-top: 1px solid var(--c-border-subtle);
  color: #334155;
  vertical-align: middle;
}

.cmp td.cmp__hl {
  font-weight: 600;
  color: var(--c-text-primary);
}

.cmp__yes {
  display: inline-flex;
  color: var(--c-text-brand);
}

.cmp__no {
  color: var(--c-text-tertiary);
}

.steps-list {
  margin: 0;
  padding-left: 22px;
  display: flex;
  flex-direction: column;
  gap: var(--s-2);
  font-size: 16px;
  line-height: 24px;
  color: var(--c-text-secondary);
}

.faq__head {
  margin-bottom: var(--s-8);
  display: flex;
  flex-direction: column;
  gap: var(--s-2);
}

.faq__list {
  max-width: 720px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: var(--s-2);
}

.faq__item {
  border-bottom: 1px solid var(--c-border-subtle);
}

.faq--open .faq__head {
  align-items: center;
  text-align: center;
  margin-bottom: var(--s-10);
}

.faq--open .faq__list {
  max-width: none;
  gap: var(--s-6);
}

.faq__card {
  padding: var(--s-6);
  background: var(--c-surface);
  border: 1px solid var(--c-border-subtle);
  border-radius: var(--r-lg);
}

.faq__card h3 {
  margin: 0 0 var(--s-3);
  font-size: 16px;
  line-height: 21px;
  font-weight: 700;
  color: var(--c-text-primary);
}

.faq__card p {
  margin: 0;
  font-size: 14px;
  line-height: 22px;
  color: #334155;
}

.faq__item summary {
  display: flex;
  align-items: center;
  gap: var(--s-3);
  padding: var(--s-4) 0;
  list-style: none;
  cursor: pointer;
  font-size: 16px;
  font-weight: 500;
  line-height: 24px;
  color: var(--c-text-primary);
}

.faq__item summary::-webkit-details-marker {
  display: none;
}

.faq__item summary::after {
  content: "+";
  margin-left: auto;
  font-size: 18px;
  font-weight: 400;
  color: var(--c-text-tertiary);
}

.faq__item[open] summary::after {
  content: "−";
}

.faq__item p {
  margin: 0 0 var(--s-4);
  font-size: 15px;
  line-height: 24px;
  color: var(--c-text-secondary);
}

.bot-list {
  display: flex;
  flex-direction: column;
  gap: var(--s-6);
}

.bot-card {
  display: flex;
  flex-direction: column;
  gap: var(--s-6);
  padding: var(--s-8);
  background: var(--c-surface);
  border: 1px solid var(--c-border);
  border-radius: var(--r-xl);
}

.bot-card--own {
  margin-bottom: var(--s-16);
  border-color: var(--c-border-brand);
}

.bot-card__head {
  display: flex;
  align-items: center;
  gap: var(--s-4);
}

.bot-card__title {
  flex: 1;
  margin: 0;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0;
}

.bot-doc {
  max-width: 820px;
}

.bot-doc__text {
  margin: var(--s-3) 0;
  font-size: 16px;
  line-height: 26px;
  color: var(--c-text-secondary);
}

.bot-doc__note {
  font-size: 14px;
  color: var(--c-text-tertiary);
}

.bot-doc .code {
  margin: var(--s-3) 0;
  white-space: pre-wrap;
  word-break: break-all;
}

.bot-doc .note {
  margin-top: var(--s-4);
}

.bot-doc__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: var(--s-2);
  margin: var(--s-4) 0 0;
  font-size: 14px;
  color: var(--c-text-tertiary);
}

.bot-doc__list {
  margin: var(--s-4) 0;
}

.bot-tokens__link {
  text-decoration: none;
}

.bot-tokens__link:hover code {
  text-decoration: underline;
  text-underline-offset: 2px;
}

.bot-card__aside {
  font-family: var(--FontMono), monospace;
  font-size: 12px;
  color: #64748B;
  text-align: right;
}

.bot-card__block {
  display: flex;
  flex-direction: column;
  gap: var(--s-2);
}

.bot-card__label {
  margin: 0;
  font-size: 12px;
  font-weight: 600;
  color: var(--c-text-secondary);
}

.bot-card__text {
  margin: 0;
  font-size: 14px;
  line-height: 20px;
  color: var(--c-text-secondary);
}

.bot-tokens {
  list-style: none;
  margin: 0;
  padding: var(--s-3);
  display: flex;
  flex-direction: column;
  gap: var(--s-2);
  background: var(--c-bg-tertiary);
  border-radius: var(--r-md);
}

.bot-tokens li {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--s-2) var(--s-3);
  font-size: 12px;
}

.bot-tokens code {
  font-size: 12px;
  color: var(--c-text-brand);
}

.bot-tokens a {
  font-size: 12px;
  color: var(--c-text-secondary);
  text-decoration: underline;
}

.bot-tokens small {
  flex-basis: 100%;
  font-size: 12px;
  line-height: 16px;
  color: #64748B;
}

.guide {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--s-6);
}

.guide__card {
  display: flex;
  flex-direction: column;
  gap: var(--s-5);
  padding: var(--s-8);
  background: var(--c-surface);
  border: 1px solid var(--c-border);
  border-radius: var(--r-xl);
}

.guide__card h3 {
  display: flex;
  align-items: center;
  gap: var(--s-3);
  margin: 0;
  font-size: 18px;
  font-weight: 700;
}

.guide__card p {
  margin: 0;
  font-size: 14px;
  line-height: 20px;
  color: var(--c-text-secondary);
}

.guide__card .code {
  padding: var(--s-4);
  background: var(--c-bg-secondary);
}

.guide__hint {
  font-size: 13px !important;
  color: var(--c-text-tertiary) !important;
}

.doc {
  background: var(--c-bg-secondary);
  padding: var(--s-12) 0 var(--s-24);
}

.doc__head {
  display: flex;
  flex-direction: column;
  gap: var(--s-4);
  margin-bottom: var(--s-10);
}

.crumbs {
  display: flex;
  align-items: center;
  gap: var(--s-2);
  font-size: 13px;
  color: #64748B;
}

.crumbs a {
  color: #64748B;
}

.crumbs .ico {
  color: var(--c-text-tertiary);
}

.crumbs span {
  color: var(--c-text-primary);
  font-weight: 500;
}

.doc__title {
  margin: 0;
  font-size: clamp(28px, 3.4vw, 40px);
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -0.01em;
}

.doc__body {
  max-width: 720px;
  margin: 0 auto;
  padding: var(--s-12);
  background: var(--c-surface);
  border-radius: var(--r-xl);
  box-shadow: var(--shadow-card);
  font-size: 15px;
  line-height: 1.6;
  color: #334155;
}

.doc__body > p:first-child {
  margin: 0 0 var(--s-8);
  font-size: 15px;
  color: #64748B;
}

.doc__body h2 {
  margin: var(--s-12) 0 var(--s-4);
  font-size: 22px;
  font-weight: 700;
  line-height: 1.3;
  color: var(--c-text-primary);
}

.doc__body h3 {
  margin: var(--s-8) 0 var(--s-3);
  font-size: 18px;
  font-weight: 600;
  color: var(--c-text-primary);
}

.doc__body p {
  margin: 0 0 var(--s-4);
}

.doc__body ul, .doc__body ol {
  margin: 0 0 var(--s-4);
  padding-left: 22px;
}

.doc__body li {
  margin-bottom: var(--s-2);
}

.doc__body a {
  color: var(--c-text-link);
  text-decoration: underline;
}

.doc__body strong {
  color: var(--c-text-primary);
}

.textpage__scroll {
  overflow-x: auto;
  margin: 0 0 var(--s-5);
}

.doc__body table {
  width: 100%;
  min-width: 520px;
  border-collapse: collapse;
  font-size: 14px;
}

.doc__body th, .doc__body td {
  padding: 10px 14px;
  border: 1px solid var(--c-border);
  text-align: left;
  vertical-align: top;
}

.doc__body th {
  background: var(--c-bg-tertiary);
  color: var(--c-text-primary);
}

.page-hero--method {
  padding-bottom: 64px;
  gap: 20px;
  background: var(--c-surface);
  border-bottom: 1px solid var(--c-border);
}

.page-hero--method .pill {
  padding: 4px 10px;
  border-radius: 100px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0;
}

.page-hero--method .page-hero__title {
  font-size: clamp(30px, 4vw, 40px);
  line-height: 1.25;
}

.page-hero--method .page-hero__lead {
  max-width: 720px;
  font-size: 16px;
  line-height: 1.5;
  color: var(--c-text-secondary);
}

.mhead {
  margin-bottom: 40px;
}

.eyebrow {
  margin: 0;
  font-family: var(--FontMono), monospace;
  font-size: 12px;
  line-height: 16px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  color: var(--c-text-brand);
}

.eyebrow--tag {
  align-self: flex-start;
  margin-bottom: 16px;
  padding: 4px 8px;
  border-radius: 4px;
  background: var(--c-action);
  color: #FFF;
  font-size: 10px;
  line-height: 13px;
}

.mhead .band__title {
  font-size: 24px;
  line-height: 32px;
  font-weight: 800;
}

.mprinciples {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--s-6);
}

.mprinciple {
  display: flex;
  flex-direction: column;
  gap: var(--s-3);
}

.mprinciple > * {
  margin: 0;
}

.mprinciple .ico {
  color: var(--c-text-brand);
}

.mprinciple h3 {
  font-size: 16px;
  line-height: 24px;
  font-weight: 700;
}

.mprinciple p {
  font-size: 14px;
  line-height: 22px;
  color: var(--c-text-secondary);
}

.mscore {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 48px;
  align-items: stretch;
}

.mscore__card {
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding: 32px;
  background: var(--c-bg-secondary);
  border: 1px solid var(--c-border);
  border-radius: 12px;
}

.mscore__card > * {
  margin: 0;
}

.mscore__title {
  font-size: 16px;
  line-height: 20px;
  font-weight: 700;
  color: var(--c-text-primary);
}

.mscore__title--gap {
  padding-top: 24px;
  border-top: 1px solid var(--c-border);
}

.mscore__text {
  font-size: 13px;
  line-height: 1.5;
  color: var(--c-text-secondary);
}

.mscore__text + .mscore__text {
  margin-top: -12px;
}

.mspectrum {
  display: flex;
  height: 24px;
  border-radius: 12px;
  overflow: hidden;
}

.mspectrum__seg {
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}

.mspectrum .grade--a {
  background: var(--c-grade-a);
}

.mspectrum .grade--b {
  background: var(--c-grade-b);
}

.mspectrum .grade--c {
  background: var(--c-grade-c);
}

.mspectrum .grade--d {
  background: var(--c-grade-d);
}

.mspectrum .grade--e {
  background: var(--c-grade-e);
}

.mspectrum__scale {
  display: flex;
  justify-content: space-between;
  font-family: var(--FontMono), monospace;
  font-size: 12px;
  line-height: 16px;
  font-weight: 600;
  color: var(--c-text-secondary);
}

.mscore__card .mspectrum__scale {
  margin-top: -12px;
}

.mstatus {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--s-3);
}

.mstatus li {
  display: grid;
  grid-template-columns: 110px 1fr;
  align-items: start;
  gap: var(--s-3);
  font-size: 13px;
  line-height: 20px;
  color: var(--c-text-secondary);
}

.mstatus .sev {
  justify-self: start;
}

.mgrades {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.mgrade {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px;
  background: var(--c-surface);
  border: 1px solid var(--c-border);
  border-radius: 8px;
}

.mgrade__badge {
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 6px;
  font-family: var(--FontMono), monospace;
  font-size: 16px;
  font-weight: 800;
}

.mgrade > div {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.mgrade b {
  font-family: var(--FontMono), monospace;
  font-size: 13px;
  line-height: 17px;
  color: var(--c-text-primary);
}

.mgrade > div span {
  font-size: 12px;
  line-height: 16px;
  color: var(--c-text-secondary);
}

.mareas {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--s-6);
  align-items: start;
}

.marea {
  display: flex;
  flex-direction: column;
  gap: var(--s-3);
  padding-bottom: var(--s-3);
}

.marea > * {
  margin: 0;
}

.marea__head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--s-3);
}

.marea__head h3 {
  display: flex;
  align-items: center;
  gap: var(--s-3);
  margin: 0;
  font-size: 18px;
  font-weight: 700;
}

.marea__key {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: var(--r-md);
  background: var(--c-bg-inverse);
  color: var(--c-text-inverse);
  font-family: var(--FontMono), monospace;
  font-size: 13px;
}

.marea__lead {
  font-size: 14px;
  line-height: 22px;
  color: var(--c-text-secondary);
}

.mweight {
  flex: none;
  padding: 4px 8px;
  border-radius: 4px;
  background: var(--c-brand-soft);
  color: var(--c-text-brand);
  font-family: var(--FontMono), monospace;
  font-size: 11px;
  line-height: 13px;
  font-weight: 700;
  white-space: nowrap;
}

.mtable th, .mtable td {
  padding: 10px 0;
}

.mtable th:last-child, .mtable td:last-child {
  width: 72px;
  text-align: right;
  font-family: var(--FontMono), monospace;
  font-weight: 700;
  white-space: nowrap;
}

.mtable th {
  background: none;
}

.mengines {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
}

.mengine {
  display: flex;
  flex-direction: column;
  gap: 8px;
  height: 100%;
  padding: 24px;
  background: var(--c-bg-secondary);
  border: 1px solid var(--c-border);
  border-radius: 8px;
  color: inherit;
  text-decoration: none;
  transition: border-color 0.15s;
}

.mengine:hover {
  border-color: var(--c-action);
}

.mengine__name {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 15px;
  line-height: 20px;
  font-weight: 700;
  color: var(--c-text-primary);
}

.mengine__dot {
  flex: none;
  width: 8px;
  height: 8px;
  border-radius: 4px;
  background: var(--mono, var(--c-action));
}

.mengine__bots {
  font-family: var(--FontMono), monospace;
  font-size: 11px;
  line-height: 16px;
  font-weight: 600;
  color: var(--c-text-brand);
  overflow-wrap: anywhere;
}

#engines .band__more {
  margin-top: var(--s-6);
}

.mtwo {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: var(--s-12);
  align-items: start;
}

.mtwo > .mhead {
  margin-bottom: 0;
}

.mextras {
  padding: var(--s-6);
}

.mextras .ico {
  color: var(--c-text-accent);
}

.msources-band {
  padding-bottom: 100px;
}

.msources-band .band__title {
  font-size: 28px;
  line-height: 36px;
}

.msources-band .band__lead {
  max-width: 800px;
  font-size: 14px;
  line-height: 1.6;
}

.msources {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--s-3) var(--s-8);
}

.msources li {
  display: flex;
  flex-direction: column;
  gap: 2px;
  font-size: 14px;
  line-height: 20px;
}

.msources a {
  font-weight: 600;
}

.msources span {
  color: var(--c-text-secondary);
  font-size: 13px;
}

.mpages {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--s-6);
}

.mpages li {
  display: flex;
  gap: var(--s-4);
  align-items: flex-start;
}

.mpages .ico {
  margin-top: 2px;
  color: var(--c-text-brand);
}

.mpages p {
  margin: 0;
  font-size: 15px;
  line-height: 24px;
  color: var(--c-text-secondary);
}

.sr {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.checkpage {
  background: var(--c-bg-secondary);
}

.checkpage__in {
  max-width: calc(1280px + 2 * var(--s-10));
  margin: 0 auto;
  padding: var(--s-12) var(--s-10) var(--s-20);
  display: flex;
  flex-direction: column;
  gap: var(--s-6);
}

.checkpage__in--narrow {
  max-width: calc(720px + 2 * var(--s-10));
}

.checkpage__in--narrow:has(.kv) {
  max-width: calc(640px + 2 * var(--s-10));
}

.checkpage__in > * {
  margin: 0;
}

.checkpage__chips {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--s-2);
}

.checkpage__title {
  font-size: 36px;
  line-height: 44px;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--c-text-primary);
}

.checkpage__lead {
  margin: 0;
  font-size: 16px;
  line-height: 26px;
  color: var(--c-text-secondary);
}

.checkpage__back {
  text-align: center;
  font-size: 14px;
}

.checkpage__back a {
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border: 1px solid var(--c-border-strong);
  border-radius: var(--r-md);
  background: var(--c-surface);
  font-family: var(--FontMono), monospace;
  font-size: 13px;
  font-weight: 600;
  line-height: 20px;
  color: var(--c-text-primary);
  word-break: break-all;
}

.chip .ico {
  color: var(--c-text-brand);
}

.chip--dark {
  background: var(--c-bg-inverse);
  border-color: var(--c-bg-inverse);
  color: var(--c-text-inverse);
}

.chip--dark .ico {
  color: #A5B4FC;
}

.tag--ok {
  background: var(--c-ok-bg);
  color: var(--c-ok);
}

.tag--soft {
  background: var(--c-brand-soft);
  color: var(--c-text-brand);
}

.pill--problem {
  color: var(--c-problem);
  background: var(--c-problem-bg);
}

.card {
  padding: var(--s-6);
  border: 1px solid var(--c-border);
  border-radius: var(--r-lg);
  background: var(--c-surface);
}

.card__title {
  margin: 0 0 var(--s-4);
  font-size: 15px;
  font-weight: 600;
  line-height: 22px;
  color: var(--c-text-primary);
}

.card__label {
  margin: 0 0 var(--s-4);
  font-family: var(--FontMono), monospace;
  font-size: 11px;
  font-weight: 600;
  line-height: 16px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--c-text-tertiary);
}

.card--problem {
  border-color: var(--c-problem);
}

.card--partial {
  border-color: var(--c-partial);
}

.card > :last-child {
  margin-bottom: 0;
}

.btn--danger {
  background: var(--c-problem);
  color: #FFF;
}

.btn--danger:hover {
  background: #B91C1C;
  color: #FFF;
}

.btn .ico {
  margin: 0 -2px;
}

.note--tip {
  background: var(--c-tip-bg);
  border-color: transparent;
  color: var(--c-text-secondary);
}

.note--tip .ico {
  margin-top: 2px;
  color: var(--c-tip);
}

.note--tip b {
  color: var(--c-text-primary);
}

.note--muted {
  padding: var(--s-3) var(--s-4);
  background: var(--c-bg-tertiary);
  border-color: transparent;
  color: var(--c-text-secondary);
  font-size: 13px;
}

.note--muted .ico {
  margin-top: 2px;
}

.checkline {
  display: flex;
  gap: var(--s-3);
  align-items: flex-start;
  font-size: 14px;
  line-height: 20px;
  color: var(--c-text-primary);
  cursor: pointer;
}

.checkline input {
  flex: none;
  margin-top: 1px;
}

.checkline a {
  text-decoration: underline;
  text-underline-offset: 2px;
}

.wait {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: var(--s-6);
  align-items: start;
}

.steps {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--s-5);
}

.step {
  display: flex;
  gap: var(--s-3);
  align-items: flex-start;
}

.step__mark {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
  width: 26px;
  height: 26px;
  border: 1.5px solid var(--c-border-strong);
  border-radius: 50%;
  font-family: var(--FontMono), monospace;
  font-size: 11px;
  font-weight: 600;
  color: var(--c-text-tertiary);
  background: var(--c-surface);
}

.step__text {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.step__text b {
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  color: var(--c-text-secondary);
}

.step__text small {
  font-size: 12px;
  line-height: 16px;
  color: var(--c-text-tertiary);
}

.step--done .step__mark {
  border-color: var(--c-ok);
  background: var(--c-ok-bg);
  color: transparent;
}

.step--done .step__mark::after {
  content: "";
  position: absolute;
  inset: 5px;
  background: var(--c-ok);
  -webkit-mask: url("/images/ico/check.svg") center/contain no-repeat;
  mask: url("/images/ico/check.svg") center/contain no-repeat;
}

.step--done .step__text b {
  color: var(--c-text-primary);
}

.step--run .step__mark {
  border: 2px solid var(--c-border-focus);
  color: transparent;
  box-shadow: 0 0 0 4px var(--c-brand-soft);
}

.step--run .step__mark::after {
  content: "";
  position: absolute;
  inset: 6px;
  border-radius: 50%;
  background: var(--c-bg-brand);
  animation: step-pulse 1.2s ease-in-out infinite;
}

.step--run .step__text b {
  color: var(--c-text-primary);
  font-weight: 700;
}

@keyframes step-pulse {
  50% {
    opacity: 0.35;
  }
}
@media (prefers-reduced-motion: reduce) {
  .step--run .step__mark::after {
    animation: none;
  }
}
.wait__now {
  display: flex;
  flex-direction: column;
  gap: var(--s-4);
}

.wait__now > * {
  margin: 0;
}

.wait__label {
  font-family: var(--FontMono), monospace;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--c-text-brand);
  min-height: 16px;
}

.wait__title {
  display: flex;
  align-items: center;
  gap: var(--s-3);
  font-size: 20px;
  line-height: 28px;
  font-weight: 700;
}

.wait__title .ico {
  color: var(--c-text-brand);
}

.wait__queue {
  padding: var(--s-3) var(--s-4);
  border-radius: var(--r-md);
  background: var(--c-partial-bg);
  color: #92400E;
  font-size: 14px;
  font-weight: 500;
}

.wait__text {
  font-size: 15px;
  line-height: 24px;
  color: var(--c-text-secondary);
}

.rep-head {
  display: flex;
  flex-direction: column;
  gap: var(--s-3);
}

.rep-head > * {
  margin: 0;
}

.rep-head__meta {
  position: relative;
  font-size: 13px;
  color: var(--c-text-tertiary);
}

.rep-head__warn {
  color: var(--c-problem);
  font-weight: 600;
}

.rep-head__meta .hint {
  vertical-align: middle;
}

.rep-seo {
  position: relative;
}

.rep-seo .card__title {
  display: flex;
  align-items: center;
  gap: 6px;
}

.rep-top {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: var(--s-6);
  align-items: stretch;
}

.score {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: var(--s-4);
  --ring:var(--c-text-tertiary);
}

.score .card__title {
  margin: 0;
}

.score--a {
  --ring:var(--c-grade-a);
}

.score--b {
  --ring:var(--c-grade-b);
}

.score--c {
  --ring:var(--c-grade-c);
}

.score--d {
  --ring:var(--c-grade-d);
}

.score--e {
  --ring:var(--c-grade-e);
}

.ring {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 168px;
  height: 168px;
  border-radius: 50%;
}

.ring::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: conic-gradient(var(--ring) calc(var(--p) * 1%), var(--c-bg-tertiary) 0);
  -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 12px), #000 calc(100% - 11px));
  mask: radial-gradient(farthest-side, transparent calc(100% - 12px), #000 calc(100% - 11px));
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}

.ring b {
  font-size: 44px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--c-text-primary);
}

.ring small {
  margin-top: 4px;
  font-family: var(--FontMono), monospace;
  font-size: 12px;
  color: var(--c-text-tertiary);
}

.score .grade {
  padding: 4px 12px;
  font-size: 13px;
}

.ring--locked::before {
  background: conic-gradient(var(--ring) calc(var(--p) * 1%), var(--c-bg-tertiary) 0 calc(var(--k) * 1%), transparent 0), repeating-conic-gradient(var(--c-text-tertiary) 0 1.5deg, var(--c-bg-tertiary) 0 6deg);
}

.grade--none {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--c-text-secondary);
  background: var(--c-bg-tertiary);
}

.vparts {
  list-style: none;
  width: 100%;
  max-width: 420px;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--s-3);
  text-align: left;
}

.vpart {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 4px var(--s-3);
  align-items: baseline;
  font-size: 14px;
}

.vpart__name {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--c-text-primary);
  font-weight: 600;
}

.vpart b {
  font-family: var(--FontMono), monospace;
  font-size: 13px;
  font-weight: 600;
  color: var(--c-text-secondary);
}

.vpart__bar {
  grid-column: 1/-1;
}

.vpart--ok .bar span {
  background: var(--c-ok);
}

.vpart--partial .bar span {
  background: var(--c-partial);
}

.vpart--problem .bar span {
  background: var(--c-problem);
}

.vpart__note {
  grid-column: 1/-1;
  font-size: 13px;
  color: var(--c-text-secondary);
}

.vpart__note a {
  color: var(--c-text-brand);
  font-weight: 600;
}

.vpart--locked {
  padding: var(--s-2) var(--s-3);
  border: 1px dashed var(--c-border);
  border-radius: var(--r-md);
}

.vpart--locked .vpart__name, .vpart--locked b {
  color: var(--c-text-secondary);
}

.score__ready {
  margin: 0;
  font-size: 13px;
  color: var(--c-text-tertiary);
}

.score__text {
  margin: 0;
  max-width: 420px;
  font-size: 14px;
  line-height: 22px;
  color: var(--c-text-secondary);
}

.rep-health .card__title + * {
  margin-top: 0;
}

.echips {
  list-style: none;
  margin: 0 0 var(--s-6);
  padding: 0 0 var(--s-6);
  border-bottom: 1px solid var(--c-border-subtle);
  display: flex;
  flex-wrap: wrap;
  gap: var(--s-2);
}

.rep-engines .echips {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: 0;
}

.echip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border: 1px solid;
  border-radius: var(--r-md);
  font-family: var(--FontMono), monospace;
  font-size: 12px;
  font-weight: 600;
  line-height: 18px;
}

.echip b {
  margin-left: 2px;
  font-weight: 800;
}

.echip--ok {
  color: var(--c-ok);
  border-color: #86EFAC;
  background: var(--c-ok-bg);
}

.echip--partial {
  color: var(--c-partial);
  border-color: #FCD34D;
  background: var(--c-partial-bg);
}

.echip--problem {
  color: var(--c-problem);
  border-color: #FCA5A5;
  background: var(--c-problem-bg);
}

.echip--none {
  color: var(--c-text-tertiary);
  border-color: var(--c-border);
}

.echip--ask {
  color: var(--c-text-secondary);
  border-color: var(--c-border);
  border-style: dashed;
  background: var(--c-surface);
}

.echip--ask b {
  color: var(--c-text-brand);
}

.esame__ask {
  margin: var(--s-3) 0 0;
  font-size: 13px;
  line-height: 19px;
  color: var(--c-text-tertiary);
}

.esame__ask a {
  color: var(--c-text-brand);
  font-weight: 600;
}

.echip--more {
  color: var(--c-text-tertiary);
  border-color: transparent;
  background: none;
  padding-left: 4px;
}

.esame__buy {
  margin-top: var(--s-4);
  align-self: flex-start;
}

.esame__q {
  margin: var(--s-4) 0 0;
  font-size: 14px;
  font-weight: 600;
  line-height: 20px;
  color: var(--c-text-primary);
}

.esame__q + .esame__buy {
  margin-top: var(--s-3);
}

.mteaser__label {
  margin: 0 0 var(--s-1);
  font-size: 12px;
  line-height: 16px;
  color: var(--c-text-tertiary);
}

.mteaser__q {
  margin: 0;
  padding: var(--s-3) var(--s-4);
  font-size: 14px;
  line-height: 20px;
  font-weight: 600;
  color: var(--c-text-primary);
  background: var(--c-bg-secondary);
  border: 1px solid var(--c-border-subtle);
  border-radius: var(--r-md);
}

.mteaser__wait {
  margin: var(--s-4) 0 0;
  display: flex;
  gap: var(--s-2);
  align-items: center;
  font-size: 14px;
  line-height: 20px;
  color: var(--c-text-secondary);
}

.mteaser__you {
  margin: var(--s-4) 0 var(--s-2);
  display: flex;
  gap: var(--s-2);
  align-items: center;
  font-size: 14px;
  line-height: 20px;
  font-weight: 600;
}

.mteaser__you--ok {
  color: var(--c-ok);
}

.mteaser__you--problem {
  color: var(--c-problem);
}

.mteaser__list {
  margin: 0;
  padding-left: 22px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 14px;
  line-height: 20px;
  color: var(--c-text-primary);
}

.mteaser__hid::marker {
  color: var(--c-text-tertiary);
}

.mteaser__mask {
  display: inline-block;
  width: 132px;
  max-width: 60%;
  height: 12px;
  vertical-align: middle;
  border-radius: 6px;
  background: linear-gradient(90deg, var(--c-border) 0%, var(--c-border-subtle) 100%);
  filter: blur(1px);
}

.mteaser__get {
  margin: var(--s-3) 0 0;
  font-size: 14px;
  line-height: 20px;
}

.mteaser__get a {
  display: inline-flex;
  gap: 6px;
  align-items: center;
  color: var(--c-text-brand);
  font-weight: 600;
  text-decoration: none;
}

.mteaser__get a:hover {
  text-decoration: underline;
}

@media print {
  .mteaser__get, .mteaser__wait {
    display: none;
  }
}
.samples {
  margin: var(--s-3) 0 0;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
  font-size: 13px;
  line-height: 19px;
  color: var(--c-text-secondary);
}

.samples a {
  color: var(--c-text-brand);
  font-weight: 600;
  text-decoration: none;
}

.samples a:hover {
  text-decoration: underline;
}

.samples--center {
  justify-content: center;
  margin-top: var(--s-6);
}

@media print {
  .samples {
    display: none;
  }
}
.arows {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--s-4);
}

.arow__head {
  display: flex;
  justify-content: space-between;
  gap: var(--s-3);
  margin: 0 0 6px;
  font-size: 14px;
  line-height: 20px;
  color: var(--c-text-primary);
}

.arow__head b {
  font-family: var(--FontMono), monospace;
  font-size: 13px;
  white-space: nowrap;
}

.arow small {
  display: block;
  margin-top: 4px;
  font-size: 12px;
  color: var(--c-text-tertiary);
}

.arow__name {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.arow {
  position: relative;
}

.hint {
  display: inline-flex;
}

.hint__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: none;
  color: var(--c-text-tertiary);
  cursor: help;
}

.hint__btn:hover, .hint__btn:focus-visible {
  color: var(--c-text-brand);
  background: var(--c-brand-soft);
  outline: none;
}

.hint__text {
  display: none;
  position: absolute;
  z-index: 20;
  left: 0;
  right: 0;
  top: 28px;
  max-width: 420px;
  padding: 8px 12px;
  border-radius: var(--r-md);
  background: var(--c-text-primary);
  color: #fff;
  font-size: 12px;
  font-weight: 400;
  line-height: 18px;
  white-space: normal;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
}

.hint:hover .hint__text, .hint:focus-within .hint__text {
  display: block;
}

.arow__more {
  margin-top: 6px;
  font-size: 12px;
  line-height: 18px;
}

.arow__more summary {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--c-text-brand);
  cursor: pointer;
  list-style: none;
}

.arow__more summary::-webkit-details-marker {
  display: none;
}

.arow__more summary::after {
  content: "+";
  font-weight: 600;
}

.arow__more[open] summary::after {
  content: "−";
}

.arow__list {
  list-style: none;
  margin: 6px 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
  color: var(--c-text-secondary);
}

.arow__list li {
  display: flex;
  align-items: flex-start;
  gap: 6px;
}

.arow__list .ico {
  flex: none;
  margin-top: 3px;
  color: var(--c-text-tertiary);
}

.arow__list a {
  color: inherit;
  text-decoration: underline;
  text-decoration-color: var(--c-border);
  text-underline-offset: 2px;
}

.arow__item--ok .ico {
  color: var(--c-ok);
}

.arow__item--partial .ico {
  color: var(--c-partial);
}

.arow__item--problem .ico {
  color: var(--c-problem);
}

.arow__item--info .ico {
  color: var(--c-text-brand);
}

.arow__note {
  margin: 6px 0 0;
  color: var(--c-text-tertiary);
}

.arow__more--paid {
  margin-top: var(--s-4);
  padding: var(--s-3) var(--s-4);
  border-radius: var(--r-md);
  background: var(--c-brand-soft);
  font-size: 13px;
}

.arow__more--paid summary {
  font-weight: 600;
}

.arow__cta {
  display: inline-block;
  margin-top: 8px;
  color: var(--c-text-brand);
  font-weight: 600;
}

.bar--ok {
  background: var(--c-ok-bg);
}

.bar--partial {
  background: var(--c-partial-bg);
}

.bar--problem {
  background: var(--c-problem-bg);
}

.bar--ok span {
  background: var(--c-ok);
}

.bar--partial span {
  background: var(--c-partial);
}

.bar--problem span {
  background: var(--c-problem);
}

.bar {
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}

.rep-block {
  display: flex;
  flex-direction: column;
  gap: var(--s-4);
}

.rep-block > * {
  margin: 0;
}

.rep-block__title {
  font-size: 24px;
  line-height: 32px;
  font-weight: 700;
  letter-spacing: -0.01em;
}

.rep-block__lead {
  margin-top: -8px !important;
  font-size: 14px;
  line-height: 22px;
  color: var(--c-text-secondary);
}

.rep-pair {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--s-6);
  align-items: start;
}

.rep-pair--one {
  grid-template-columns: 1fr;
}

.fixes {
  display: flex;
  flex-direction: column;
  gap: var(--s-4);
}

.sev {
  display: inline-flex;
  align-items: center;
  flex: none;
  padding: 2px 8px;
  border-radius: var(--r-sm);
  font-size: 11px;
  font-weight: 600;
  line-height: 16px;
  white-space: nowrap;
}

.sev--problem {
  color: var(--c-problem);
  background: var(--c-problem-bg);
}

.sev--partial {
  color: var(--c-partial);
  background: var(--c-partial-bg);
}

.sev--ok {
  color: var(--c-ok);
  background: var(--c-ok-bg);
}

.sev--info {
  color: var(--c-tip);
  background: var(--c-tip-bg);
}

.sev--skipped {
  color: var(--c-text-tertiary);
  background: var(--c-bg-tertiary);
}

.pts {
  flex: none;
  margin-left: auto;
  padding: 2px 8px;
  border-radius: var(--r-sm);
  background: var(--c-problem-bg);
  color: var(--c-problem);
  font-family: var(--FontMono), monospace;
  font-size: 12px;
  font-weight: 700;
  line-height: 18px;
  white-space: nowrap;
}

.fix {
  display: flex;
  flex-direction: column;
  gap: var(--s-4);
}

.fix__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--s-2);
}

.fix__meta {
  font-size: 12px;
  color: var(--c-text-tertiary);
}

.fix__title {
  margin: 0;
  font-size: 20px;
  line-height: 28px;
  font-weight: 700;
  color: var(--c-text-primary);
}

.fix__part > * {
  margin: 0;
}

.fix__part p {
  font-size: 14px;
  line-height: 22px;
  color: var(--c-text-secondary);
}

.fix__label {
  margin-bottom: 4px !important;
  font-size: 11px !important;
  font-weight: 700;
  line-height: 16px !important;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--c-text-tertiary) !important;
}

.fix__now {
  padding: var(--s-3) var(--s-4);
  border-radius: var(--r-md);
  background: var(--c-bg-secondary);
  color: var(--c-text-primary) !important;
}

.fix .code {
  max-height: 320px;
  overflow: auto;
}

.checkpage__in:has(.rep-head) {
  max-width: calc(1344px + 2 * var(--s-12));
  padding-left: var(--s-12);
  padding-right: var(--s-12);
  gap: var(--s-12);
}

.checkpage__in:has(.rep-head) .card {
  padding: var(--s-8);
  border-radius: var(--r-xl);
}

.rep-top, .rep-pair {
  gap: var(--s-8) !important;
}

.fix {
  gap: var(--s-6);
}

.fix__title {
  font-size: 22px;
  line-height: normal;
}

.fix__head .sev, .fix__head .pts {
  padding: 4px 8px;
  font-size: 12px;
  line-height: normal;
}

.fix__label {
  margin-bottom: 6px !important;
  font-size: 12px !important;
  line-height: normal !important;
  letter-spacing: 0;
  color: #94A3B8 !important;
}

.fix__part p {
  line-height: 1.5;
}

.fix__now {
  padding: var(--s-3);
  border-radius: 6px;
  background: var(--c-bg-secondary);
}

.rep-head--center {
  align-items: center;
  text-align: center;
  gap: var(--s-4);
}

.rep-head--center .chip {
  gap: 8px;
  padding: 6px 12px;
  border-color: var(--c-border-brand);
  background: var(--c-brand-soft);
  font-size: 14px;
  font-weight: 700;
  line-height: normal;
  border-radius: 6px;
}

.rep-head--center .rep-head__meta {
  font-size: 14px;
  font-weight: 500;
}

.rep-top:not(.rep-top--full) {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.rep-top--full {
  grid-template-columns: minmax(0, 450px) minmax(0, 1fr);
  align-items: start;
}

.rep-col {
  display: flex;
  flex-direction: column;
  gap: var(--s-4);
  min-width: 0;
}

.rep-domain {
  display: flex;
  align-items: center;
  gap: var(--s-2);
  margin: 0;
  padding: var(--s-3) var(--s-4);
  border-radius: var(--r-md);
  background: var(--c-bg-inverse);
  color: var(--c-text-inverse);
  font-family: var(--FontMono), monospace;
  font-size: 15px;
  font-weight: 700;
  word-break: break-all;
}

.rep-domain .ico {
  color: #A5B4FC;
}

.rep-domain .tag {
  margin-left: var(--s-2);
}

.checkpage__in:has(.rep-top--full) .rep-col .card {
  padding: var(--s-5);
  border-radius: var(--r-lg);
}

.checkpage__in:has(.rep-top--full) .fix--problem {
  border: 1.5px solid #F87171;
}

.checkpage__in:has(.rep-top--full) .fix--partial {
  border: 1.5px solid #FBBF24;
}

.rep-top--full .score {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  text-align: left;
  gap: var(--s-2) var(--s-4);
}

.rep-top--full .score .card__title {
  grid-column: 2;
  grid-row: 1;
  font-size: 15px;
}

.rep-top--full .score .ring {
  grid-column: 1;
  grid-row: 1/span 2;
  width: 96px;
  height: 96px;
}

.rep-top--full .score .ring::before {
  -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 8px), #000 calc(100% - 7px));
  mask: radial-gradient(farthest-side, transparent calc(100% - 8px), #000 calc(100% - 7px));
}

.rep-top--full .score .ring b {
  font-size: 30px;
}

.rep-top--full .score .ring small {
  font-size: 10px;
  margin-top: 2px;
}

.rep-top--full .score .grade {
  grid-column: 2;
  grid-row: 2;
  justify-self: start;
}

.rep-top--full .score__text {
  grid-column: 1/-1;
}

.rep-top--full .vparts, .rep-top--full .score__ready {
  grid-column: 1/-1;
  max-width: none;
}

.locked {
  display: flex;
  flex-direction: column;
  gap: var(--s-4);
}

.locked__head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--s-3);
}

.locked__head h3 {
  margin: 0;
  font-size: 18px;
  font-weight: 700;
}

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

.locked__list li {
  display: flex;
  align-items: center;
  gap: var(--s-3);
  padding: 12px 16px;
  border-bottom: 1px solid var(--c-border);
  font-size: 14px;
  line-height: normal;
}

.locked__list .sev {
  padding: 2px 6px;
  line-height: normal;
}

.locked__list .pts {
  padding: 2px 6px;
  line-height: normal;
}

.locked__lock {
  display: inline-flex;
  color: var(--c-text-tertiary);
}

.locked__title {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 500;
  color: var(--c-text-secondary);
}

.locked__area {
  flex: none;
  font-weight: 500;
  color: var(--c-text-secondary);
  white-space: nowrap;
}

.locked__blur {
  flex: 1;
  min-width: 0;
  height: 10px;
}

.locked__blur::before {
  content: "";
  display: block;
  width: var(--w, 70%);
  height: 100%;
  border-radius: var(--r-full);
  background: linear-gradient(90deg, var(--c-border-strong), var(--c-border));
  filter: blur(1.5px);
}

.locked__rest {
  display: none;
}

.locked__note {
  margin: 0;
  padding: var(--s-3) var(--s-4);
  border-radius: var(--r-md);
  background: var(--c-brand-soft);
  color: var(--c-text-brand);
  font-size: 13px;
  line-height: 20px;
}

.oklist {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--s-2);
}

.oklist li {
  display: flex;
  gap: var(--s-2);
  align-items: flex-start;
  font-size: 14px;
  line-height: 20px;
}

.oklist .ico {
  margin-top: 2px;
  color: var(--c-ok);
}

.oklist small {
  color: var(--c-text-tertiary);
}

.seo {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--s-3) var(--s-8);
}

.seo__item {
  display: flex;
  gap: var(--s-2);
  align-items: flex-start;
  font-size: 14px;
  line-height: 20px;
}

.seo__item .ico {
  margin-top: 2px;
}

.seo__item--problem .ico {
  color: var(--c-problem);
}

.seo__item--partial .ico {
  color: var(--c-partial);
}

.seo__item .sev {
  margin-left: 4px;
  vertical-align: 1px;
}

.offer__band {
  padding: var(--s-6) var(--s-8);
  border-radius: var(--r-lg);
  background: var(--c-bg-brand);
  color: var(--c-text-inverse);
}

.offer__band h2 {
  margin: 0 0 var(--s-2);
  font-size: 22px;
  line-height: 30px;
  font-weight: 700;
  color: var(--c-text-inverse);
}

.offer__band p {
  margin: 0;
  font-size: 14px;
  color: #C7D2FE;
}

.plans--offer {
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: var(--s-6);
}

.plan__price--side {
  font-size: 28px;
  color: var(--c-text-brand);
}

.plan--soon .plan__price--side {
  color: var(--c-text-tertiary);
}

.files {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--s-6);
  align-items: start;
}

.file {
  display: flex;
  flex-direction: column;
  gap: var(--s-3);
  min-width: 0;
}

.file > * {
  margin: 0;
}

.file__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: var(--s-3);
}

.file__head h3 {
  margin: 0;
  font-size: 16px;
  line-height: 24px;
  font-weight: 700;
}

.file__name {
  padding: 2px 8px;
  border-radius: var(--r-sm);
  background: var(--c-brand-soft);
  color: var(--c-text-brand);
  font-family: var(--FontMono), monospace;
  font-size: 12px;
  white-space: nowrap;
}

.file__hint {
  font-size: 13px;
  line-height: 20px;
  color: var(--c-text-secondary);
}

.file__notes {
  padding-left: 18px;
  font-size: 13px;
  line-height: 20px;
  font-style: italic;
  color: var(--c-text-tertiary);
}

.file__pre, .prompt__pre {
  max-height: 280px;
  overflow: auto;
  white-space: pre;
  word-break: normal;
}

.prompt__pre {
  max-height: 360px;
  white-space: pre-wrap;
}

.file__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--s-2);
  margin: 0;
}

.file .file__actions .btn {
  flex: 1 1 140px;
}

.prompt {
  display: flex;
  flex-direction: column;
  gap: var(--s-4);
}

.tcard {
  padding: var(--s-5) 0 0;
  overflow: hidden;
}

.tcard .card__title {
  padding: 0 var(--s-5);
}

.tscroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.rtable {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
  line-height: 18px;
}

.rtable th, .rtable td {
  padding: 10px var(--s-5);
  border-top: 1px solid var(--c-border-subtle);
  text-align: left;
  vertical-align: top;
}

.rtable th {
  background: var(--c-bg-secondary);
  font-size: 12px;
  font-weight: 600;
  color: var(--c-text-secondary);
  white-space: nowrap;
}

.rtable__url {
  font-family: var(--FontMono), monospace;
  font-size: 12px;
  word-break: break-all;
  min-width: 160px;
}

.rtable__row--skipped td {
  color: var(--c-text-tertiary);
}

.rtable__row--bad td {
  color: var(--c-problem);
  background: var(--c-problem-bg);
}

.rtable__row--up td:last-child {
  color: var(--c-ok);
  font-weight: 600;
}

.rtable--pages td, .compare__table td:not(:first-child) {
  white-space: nowrap;
}

.rtable--pages .rtable__url {
  word-break: normal;
}

.pres {
  padding-top: var(--s-4);
  border-top: 1px solid var(--c-border);
}

.pres-sub {
  margin: var(--s-4) 0 0 !important;
  font-size: 18px;
  line-height: 26px;
  font-weight: 700;
}

.pres-top {
  display: grid;
  grid-template-columns: minmax(0, 320px) minmax(0, 1fr);
  gap: var(--s-6);
  align-items: stretch;
}

.pres-score {
  --ring:var(--c-text-tertiary);
}

.pres-score--ok {
  --ring:var(--c-ok);
}

.pres-score--partial {
  --ring:var(--c-partial);
}

.pres-score--problem {
  --ring:var(--c-problem);
}

.pres-score .ring {
  width: 132px;
  height: 132px;
}

.pres-score .ring b {
  font-size: 36px;
}

.pres-kpis {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--s-4);
}

.pres-kpi {
  display: flex;
  flex-direction: column;
  gap: var(--s-1);
  padding: var(--s-5);
}

.pres-kpi .card__label {
  margin: 0;
}

.pres-kpi__value {
  margin: 0;
  font-size: 30px;
  line-height: 36px;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--c-text-primary);
}

.pres-kpi__hint {
  margin: 0;
  font-size: 13px;
  line-height: 19px;
  color: var(--c-text-secondary);
}

.pres-was {
  font-family: var(--FontMono), monospace;
  font-size: 12px;
  color: var(--c-text-tertiary);
}

.pres-mood {
  padding: var(--s-5);
}

.pres-mood .card__label {
  margin-bottom: var(--s-3);
}

.pres-mood__bar {
  display: flex;
  gap: 2px;
  overflow: hidden;
  border-radius: var(--r-sm);
  font-size: 12px;
  font-weight: 600;
  line-height: 28px;
}

.pres-mood__part {
  flex: 1 1 0;
  min-width: max-content;
  padding: 0 var(--s-2);
  white-space: nowrap;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}

.pres-mood__part--ok {
  background: var(--c-ok-bg);
  color: var(--c-ok);
}

.pres-mood__part--muted {
  background: var(--c-bg-tertiary);
  color: var(--c-text-secondary);
}

.pres-mood__part--problem {
  background: var(--c-problem-bg);
  color: var(--c-problem);
}

.pres-engines .sev {
  white-space: nowrap;
}

.pres-rivals {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--s-4);
}

.pres-rival {
  display: flex;
  flex-direction: column;
  gap: var(--s-1);
  padding: var(--s-5);
}

.pres-rival > * {
  margin: 0;
}

.pres-rival__n {
  font-family: var(--FontMono), monospace;
  font-size: 12px;
  font-weight: 600;
  color: var(--c-text-tertiary);
}

.pres-rival__name {
  font-size: 17px;
  line-height: 24px;
  font-weight: 700;
  color: var(--c-text-primary);
  overflow-wrap: anywhere;
}

.pres-rival__meta {
  font-size: 13px;
  line-height: 20px;
  color: var(--c-text-secondary);
}

.pres-more {
  margin: 0;
  font-size: 14px;
  line-height: 22px;
  color: var(--c-text-secondary);
}

.pres-more__n {
  font-family: var(--FontMono), monospace;
  font-size: 12px;
  color: var(--c-text-tertiary);
}

.pres-matrix th.pres-matrix__engine {
  padding-left: var(--s-2);
  padding-right: var(--s-2);
  text-align: center;
}

.pres-matrix__q {
  min-width: 260px;
}

.pres-matrix__q .tag {
  margin-left: 4px;
  vertical-align: 1px;
}

.rtable td.pres-cell {
  padding-left: var(--s-2);
  padding-right: var(--s-2);
  text-align: center;
  font-family: var(--FontMono), monospace;
  font-weight: 700;
  white-space: nowrap;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}

.pres-cell--yes {
  background: var(--c-ok-bg);
  color: var(--c-ok);
}

.pres-cell--no {
  color: var(--c-text-tertiary);
}

.pres-cell--na {
  color: var(--c-border-strong);
}

.pres-legend {
  margin: 0;
  font-size: 12px;
  line-height: 18px;
  color: var(--c-text-tertiary);
}

.pres-concerns {
  list-style: none;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: var(--s-3);
  padding: var(--s-5);
}

.pres-concerns li {
  display: flex;
  gap: var(--s-2);
  align-items: flex-start;
  font-size: 14px;
  line-height: 21px;
  color: var(--c-text-primary);
}

.pres-concerns .ico {
  flex: none;
  margin-top: 3px;
  color: var(--c-partial);
}

.pres-concerns small {
  font-size: 12px;
  color: var(--c-text-tertiary);
}

.note--warn {
  background: var(--c-partial-bg);
  border-color: transparent;
  color: var(--c-text-secondary);
}

.note--warn .ico {
  flex: none;
  margin-top: 2px;
  color: var(--c-partial);
}

.note--warn b {
  color: var(--c-text-primary);
}

.pres-draft {
  display: flex;
  flex-direction: column;
  gap: var(--s-4);
}

.pres-draft__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--s-2) var(--s-3);
}

.pres-draft__head h4 {
  flex: 1 1 220px;
  margin: 0;
  font-size: 16px;
  line-height: 24px;
  font-weight: 700;
  overflow-wrap: anywhere;
}

.pres-draft__before {
  padding: var(--s-3) var(--s-4);
  border-radius: var(--r-md);
  background: var(--c-bg-secondary);
  color: var(--c-text-tertiary) !important;
}

.pres-draft__text {
  padding: var(--s-3) var(--s-4);
  border-left: 3px solid var(--c-text-brand);
  border-radius: 0 var(--r-md) var(--r-md) 0;
  background: var(--c-brand-soft);
  color: var(--c-text-primary) !important;
  white-space: pre-wrap;
}

.pres-faq {
  display: flex;
  flex-direction: column;
  gap: var(--s-2);
  margin: 0;
}

.pres-faq dt {
  margin-top: var(--s-3);
  font-size: 15px;
  line-height: 22px;
  font-weight: 700;
  color: var(--c-text-primary);
}

.pres-faq dt:first-child {
  margin-top: 0;
}

.pres-faq dd {
  margin: 0;
  font-size: 14px;
  line-height: 22px;
  color: var(--c-text-secondary);
}

.pres-faq .file__notes {
  margin: var(--s-1) 0 0;
}

.pres-hidden {
  display: none;
}

.pres-plan li {
  font-size: 15px;
  line-height: 22px;
  color: var(--c-text-primary);
}

.pres-form {
  display: flex;
  flex-direction: column;
  gap: var(--s-4);
}

.pres-form__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--s-4);
}

.pres-form__field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 0;
}

.pres-form__field > span {
  font-size: 13px;
  font-weight: 600;
  color: var(--c-text-primary);
}

.pres-form__field small {
  font-size: 12px;
  line-height: 18px;
  color: var(--c-text-tertiary);
}

.pres-form .input {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid var(--c-border-strong);
  border-radius: var(--r-md);
  background: var(--c-surface);
  font: inherit;
  font-size: 14px;
  color: var(--c-text-primary);
}

.pres-form textarea.input {
  resize: vertical;
}

.pres-form .input:focus {
  outline: none;
  border-color: var(--c-border-focus);
  box-shadow: 0 0 0 3px var(--c-brand-soft);
}

.upgrade {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--s-6);
  border-color: var(--c-border-brand);
  background: var(--c-brand-soft);
}

.upgrade__text {
  display: flex;
  flex-direction: column;
  gap: var(--s-2);
  min-width: 0;
}

.upgrade__text > * {
  margin: 0;
}

.upgrade__title {
  font-size: 18px;
  line-height: 26px;
  font-weight: 700;
  color: var(--c-text-primary);
}

.upgrade__text p {
  font-size: 14px;
  line-height: 22px;
  color: var(--c-text-secondary);
}

.upgrade form {
  flex: none;
  margin: 0;
}

.lgate {
  display: flex;
  flex-direction: column;
  gap: var(--s-3);
  margin-top: var(--s-4);
  padding-top: var(--s-4);
  border-top: 1px solid var(--c-border);
}

.lgate > * {
  margin: 0;
}

.lgate__title {
  display: flex;
  align-items: center;
  gap: var(--s-2);
  font-size: 15px;
  line-height: 22px;
  font-weight: 700;
  color: var(--c-text-primary);
}

.lgate__title .ico {
  color: var(--c-text-brand);
}

.lgate__sub {
  margin-top: -6px !important;
  font-size: 13px;
  line-height: 19px;
  color: var(--c-text-secondary);
}

.lgate__row {
  display: flex;
  gap: var(--s-2);
}

.lgate__input {
  flex: 1;
  min-width: 0;
  padding: 10px 12px;
  border: 1px solid var(--c-border-strong);
  border-radius: var(--r-md);
  background: var(--c-surface);
  font: inherit;
  font-size: 15px;
  color: var(--c-text-primary);
}

.lgate__input:focus {
  outline: none;
  border-color: var(--c-border-focus);
  box-shadow: 0 0 0 3px var(--c-brand-soft);
}

.lgate__check {
  font-size: 13px;
  line-height: 19px;
  color: var(--c-text-secondary);
}

.lgate__check a {
  color: var(--c-text-brand);
}

.wsub {
  display: flex;
  flex-direction: column;
  gap: var(--s-2);
}

.whow {
  display: flex;
  flex-direction: column;
  gap: var(--s-3);
}

.whow > * {
  margin: 0;
}

.whow .steps-list {
  font-size: 15px;
  line-height: 23px;
}

.oplan__price small {
  font-family: var(--Font), sans-serif;
  font-size: 14px;
  font-weight: 500;
  color: var(--c-text-secondary);
}

.wsub__label {
  font-size: 14px;
  font-weight: 600;
  color: var(--c-text-primary);
}

.wsub__hint {
  margin: 0;
  font-size: 13px;
  line-height: 19px;
  color: var(--c-text-secondary);
}

.wcheck, .wbrand, .wreports, .wmanage {
  display: flex;
  flex-direction: column;
  gap: var(--s-3);
}

.wcheck > *, .wbrand > *, .wreports > *, .wmanage > * {
  margin: 0;
}

.wcheck__left {
  font-size: 14px;
  color: var(--c-text-secondary);
}

.wbrand p, .wmanage p {
  font-size: 14px;
  line-height: 22px;
  color: var(--c-text-secondary);
}

.wmanage__links {
  display: flex;
  flex-wrap: wrap;
  gap: var(--s-2);
}

.checkpage--after .checkpage__in {
  padding-top: 0;
}

.offer__watch {
  margin: var(--s-6) auto 0;
  max-width: 800px;
}

.offer__watch a {
  color: var(--c-text-brand);
  font-weight: 600;
}

.lgate-card {
  margin: var(--s-4) 0 0;
  padding: var(--s-5) var(--s-6);
}

.lgate--bar {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}

.lgate--bar .lgate__title {
  font-size: 16px;
}

.lgate--bar .lgate__row {
  max-width: 560px;
}

.locked__mail {
  margin: var(--s-3) 0 0;
  font-size: 13px;
  line-height: 20px;
  text-align: center;
}

.locked__mail a {
  display: inline-flex;
  align-items: center;
  gap: var(--s-1);
  color: var(--c-text-brand);
}

.bgtasks {
  display: flex;
  flex-direction: column;
  gap: var(--s-3);
  border: 2px solid var(--c-border-brand);
  background: var(--c-brand-soft);
}

.bgtasks[hidden], .bgtask[hidden], .btn[hidden], .rep-actions__note[hidden], [data-pdf-wait][hidden] {
  display: none !important;
}

.bgtasks__head > * {
  margin: 0;
}

.bgtasks__title {
  display: flex;
  align-items: center;
  gap: var(--s-2);
  margin: 0;
  font-size: 17px;
  line-height: 24px;
  font-weight: 700;
  color: var(--c-text-primary);
}

.bgtasks__title .ico {
  color: var(--c-text-brand);
}

.bgtasks__lead {
  margin-top: var(--s-1) !important;
  font-size: 14px;
  line-height: 20px;
  color: var(--c-text-secondary);
}

.bgtasks--bar {
  flex-direction: row;
  align-items: center;
  padding: var(--s-3) var(--s-4);
}

.bgtasks--bar .bgtasks__title {
  font-size: 15px;
  font-weight: 600;
}

.bgtasks__list {
  display: flex;
  flex-direction: column;
  gap: var(--s-2);
  margin: 0;
  padding: 0;
  list-style: none;
}

.bgtask {
  display: flex;
  align-items: flex-start;
  gap: var(--s-3);
  padding: var(--s-3) var(--s-4);
  background: var(--c-surface);
  border: 1px solid var(--c-border-subtle);
  border-radius: var(--r-md);
}

.bgtask > .ico {
  flex: none;
  margin-top: 2px;
  color: var(--c-text-brand);
}

.bgtask__body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--s-1);
}

.bgtask__title {
  margin: 0;
  font-size: 15px;
  line-height: 22px;
  font-weight: 600;
  color: var(--c-text-primary);
}

.bgtask__sub {
  margin: 0;
  font-size: 13px;
  line-height: 19px;
  color: var(--c-text-secondary);
}

.bgtask__bar {
  max-width: 420px;
  height: 8px;
  margin: var(--s-1) 0;
}

.bgtask__bar span {
  transition: width 0.4s ease;
}

.bgtask__act {
  flex: none;
  align-self: center;
}

.bgtask__more {
  font-size: 14px;
  font-weight: 600;
  color: var(--c-text-brand);
  white-space: nowrap;
}

.bgtask--need {
  border-color: var(--c-partial);
  background: var(--c-partial-bg);
}

.bgtask--need > .ico {
  color: var(--c-partial);
}

.bgtask--note {
  align-items: center;
  padding: var(--s-2) var(--s-4);
  background: none;
  border-style: dashed;
}

.bgtask--note > .ico {
  margin-top: 0;
  color: var(--c-text-tertiary);
}

.rep-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--s-2) var(--s-3);
  padding: var(--s-3) var(--s-4);
  background: var(--c-surface);
  border: 1px solid var(--c-border-subtle);
  border-radius: var(--r-md);
}

.rep-bar__wait {
  cursor: default;
  opacity: 0.8;
}

.rep-bar__label {
  margin-left: var(--s-2);
  font-size: 13px;
  color: var(--c-text-tertiary);
}

.rep-bar__link {
  font-size: 14px;
  font-weight: 500;
  color: var(--c-text-brand);
  text-decoration: none;
  white-space: nowrap;
}

.rep-bar__link:hover {
  text-decoration: underline;
}

.rep-block[id], .pres-sub[id], .card[id], section[id] {
  scroll-margin-top: 80px;
}

.rep-actions__note {
  display: inline-flex;
  align-items: center;
  gap: var(--s-2);
}

.wreports__run {
  display: inline-flex;
  align-items: center;
  gap: var(--s-1);
  color: var(--c-text-brand);
  font-weight: 600;
}

.wreports__row--run td {
  background: var(--c-brand-soft);
}

.wreports__muted {
  color: var(--c-text-tertiary);
}

.wreports__table a {
  display: inline-flex;
  align-items: center;
  gap: var(--s-1);
  color: var(--c-text-brand);
  font-weight: 500;
  white-space: nowrap;
}

@media (max-width: 640px) {
  .bgtask {
    flex-wrap: wrap;
  }
  .bgtask__act {
    width: 100%;
    padding-left: calc(20px + var(--s-3));
  }
  .rep-bar__label {
    width: 100%;
    margin-left: 0;
  }
}
.pd-confirm {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--s-3);
  max-width: 560px;
  margin: var(--s-4) auto 0;
  text-align: center;
}

.pd-confirm p {
  margin: 0;
  font-size: 15px;
  line-height: 22px;
  color: var(--c-text-primary);
}

.pres-box {
  flex: none;
  width: 18px;
  height: 18px;
  margin-top: 2px;
  border: 2px solid var(--c-border-strong);
  border-radius: 4px;
  background: var(--c-surface);
}

.rep-actions {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--s-3);
  padding-top: var(--s-4);
}

.rep-actions__row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
  gap: var(--s-3);
  width: 100%;
}

.share {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: var(--s-2);
  padding-bottom: var(--s-3);
  border-bottom: 1px solid var(--c-border);
  width: 100%;
}

.share__label {
  display: inline-flex;
  align-items: center;
  gap: var(--s-2);
  margin: 0 var(--s-2) 0 0;
  font-size: 14px;
  font-weight: 600;
  color: var(--c-text-primary);
}

.share__label .ico {
  color: var(--c-text-brand);
}

.badge-box {
  display: flex;
  gap: var(--s-5);
  align-items: flex-start;
  width: 100%;
  max-width: 760px;
  text-align: left;
}

.badge-box__img {
  flex: none;
  margin-top: 4px;
}

.badge-box__text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--s-2);
  min-width: 0;
}

.badge-box__text > * {
  margin: 0;
}

.badge-box h3 {
  font-size: 15px;
  font-weight: 700;
}

.badge-box p {
  font-size: 13px;
  line-height: 20px;
  color: var(--c-text-secondary);
}

.badge-box__code {
  width: 100%;
  font-size: 11px;
}

.rep-actions__note {
  margin: 0;
  font-size: 13px;
  color: var(--c-text-tertiary);
}

.rep-details summary {
  list-style: none;
}

.rep-details summary::-webkit-details-marker {
  display: none;
}

.rep-details[open] {
  flex-basis: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--s-3);
}

.rep-details--danger summary {
  color: var(--c-problem);
}

.rep-form {
  display: flex;
  flex-direction: column;
  gap: var(--s-2);
  width: 100%;
  max-width: 560px;
  text-align: left;
}

.rep-form > * {
  margin: 0;
}

.rep-form label {
  font-size: 13px;
  font-weight: 600;
  color: var(--c-text-primary);
}

.rep-form select, .rep-form textarea, .opages textarea {
  width: 100%;
  padding: 12px 14px;
  border: 1.5px solid var(--c-border);
  border-radius: var(--r-lg);
  background: var(--c-surface);
  box-shadow: var(--shadow-field);
  font: inherit;
  font-size: 15px;
  line-height: 22px;
  color: var(--c-text-primary);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.rep-form .pick__input {
  height: 48px;
  padding: 12px 44px 12px 14px;
  border: 1.5px solid var(--c-border);
  border-radius: var(--r-lg);
  background: var(--c-surface);
  box-shadow: var(--shadow-field);
  font: inherit;
  font-size: 15px;
  line-height: 22px;
  color: var(--c-text-primary);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.rep-form .pick__input::placeholder {
  color: var(--c-text-tertiary);
}

.rep-form .pick__input:hover {
  border-color: var(--c-border-strong);
}

.rep-form .pick__input:focus {
  outline: none;
  border-color: var(--c-border-focus);
  box-shadow: 0 0 0 3px var(--c-brand-soft), var(--shadow-field);
}

.rep-form .pick + label {
  margin-top: var(--s-3);
}

.rep-form .pick__native {
  height: 100%;
}

.rep-form select {
  -webkit-appearance: none;
  appearance: none;
  height: 48px;
  padding-right: 44px;
  background: var(--c-surface) url("/images/ico/select-chevron.svg") no-repeat right 14px center/18px 18px;
  cursor: pointer;
  text-overflow: ellipsis;
}

.rep-form select:hover, .rep-form textarea:hover {
  border-color: var(--c-border-strong);
}

.rep-form select:focus, .rep-form textarea:focus, .opages textarea:focus {
  outline: none;
  border-color: var(--c-border-focus);
  box-shadow: 0 0 0 3px var(--c-brand-soft), var(--shadow-field);
}

.rep-form textarea::placeholder {
  color: var(--c-text-tertiary);
}

.rep-form textarea, .opages textarea {
  resize: vertical;
}

.rep-form textarea {
  min-height: 120px;
}

.rep-form select + label, .rep-form textarea + label {
  margin-top: var(--s-3);
}

.rep-form__note {
  font-size: 12px;
  line-height: 18px;
  color: var(--c-text-tertiary);
}

.rep-form .btn {
  align-self: flex-start;
  margin-top: var(--s-2);
}

.rep-form > label:first-of-type {
  margin-top: 0;
}

.compare {
  display: flex;
  flex-direction: column;
  gap: var(--s-5);
  border: 2px solid var(--c-ok);
}

.compare > * {
  margin: 0;
}

.compare__head {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: var(--s-3);
}

.compare__title {
  display: flex;
  align-items: center;
  gap: var(--s-2);
  margin: 0;
  font-size: 20px;
  font-weight: 700;
}

.compare__title .ico {
  color: var(--c-ok);
}

.compare__head a {
  font-size: 14px;
  font-weight: 600;
}

.compare__score .card__label {
  margin-bottom: var(--s-2);
}

.compare__nums {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--s-3);
  margin: 0 0 var(--s-2);
  font-size: 40px;
  line-height: 1;
  font-weight: 800;
}

.compare__nums span:first-child {
  color: var(--c-text-tertiary);
}

.compare__nums > .ico {
  color: var(--c-text-tertiary);
}

.compare__nums b {
  color: var(--c-ok);
}

.compare__nums .pill {
  font-size: 13px;
}

.compare__lead {
  margin: 0;
  font-size: 14px;
  color: var(--c-text-secondary);
}

.compare .tscroll {
  border: 1px solid var(--c-border-subtle);
  border-radius: var(--r-md);
}

.compare .rtable tr:first-child th {
  border-top: 0;
}

.compare__cols {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--s-4);
}

.compare__col {
  padding: var(--s-4);
  border-radius: var(--r-md);
  background: var(--c-bg-secondary);
}

.compare__col h3 {
  margin: 0 0 var(--s-3);
  font-size: 14px;
  font-weight: 700;
}

.compare__col ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--s-2);
}

.compare__col li {
  display: flex;
  gap: var(--s-2);
  align-items: flex-start;
  font-size: 13px;
  line-height: 18px;
}

.compare__col .ico {
  margin-top: 2px;
}

.compare__none {
  margin: 0;
  color: var(--c-text-tertiary);
}

.compare__col--fixed h3, .compare__col--fixed .ico {
  color: var(--c-ok);
}

.compare__col--worse h3, .compare__col--worse .ico {
  color: var(--c-problem);
}

.compare__col--open h3, .compare__col--open .ico {
  color: var(--c-partial);
}

.paid-bar {
  background: var(--c-brand-soft);
  border-bottom: 1px solid var(--c-border-brand);
}

.paid-bar__in {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--s-4);
  max-width: calc(1200px + 2 * var(--s-10));
  margin: 0 auto;
  padding: var(--s-3) var(--s-10);
}

.paid-bar p {
  display: flex;
  align-items: center;
  gap: var(--s-3);
  margin: 0;
  font-size: 14px;
  line-height: 20px;
  color: var(--c-text-primary);
}

.paid-bar p .ico {
  color: var(--c-text-brand);
}

.checkpage__in:has(.rep-top--full) {
  max-width: calc(1280px + 2 * var(--s-12));
  gap: var(--s-8);
}

.paid-bar {
  background: none;
  border-bottom: 0;
}

.paid-bar__in {
  max-width: 1280px;
  margin: var(--s-8) auto 0;
  padding: var(--s-3) var(--s-3) var(--s-3) var(--s-4);
  background: var(--c-brand-soft);
  border: 1px solid var(--c-border-brand);
  border-radius: var(--r-md);
}

.paid-bar .btn {
  color: var(--c-text-inverse);
  background: var(--c-action);
  border-color: var(--c-action);
}

.paid-bar .btn .ico {
  color: var(--c-text-inverse);
}

.checkpage__in:has(.rep-top--full) .fix {
  gap: var(--s-3);
  padding: var(--s-5);
}

.checkpage__in:has(.rep-top--full) .fix__title {
  font-size: 17px;
}

.checkpage__in:has(.rep-top--full) .fix__label {
  font-size: 11px !important;
}

.checkpage__in:has(.rep-top--full) .fix__part p {
  font-size: 13px;
}

.reaudit {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--s-6);
}

.reaudit__text > * {
  margin: 0;
}

.reaudit__title {
  display: flex;
  align-items: center;
  gap: var(--s-2);
  margin-bottom: var(--s-2) !important;
  font-size: 18px;
  font-weight: 700;
}

.reaudit__title .ico {
  color: var(--c-text-brand);
}

.reaudit__text p {
  font-size: 14px;
  line-height: 22px;
  color: var(--c-text-secondary);
}

.reaudit form {
  flex: none;
  margin: 0;
}

.order__form {
  display: flex;
  flex-direction: column;
  gap: var(--s-6);
}

.oplans {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: var(--s-4);
  margin: 0;
  padding: 0;
  border: 0;
  min-width: 0;
}

.oplan {
  display: flex;
  flex-direction: column;
  gap: var(--s-4);
  padding: var(--s-5);
  border: 1px solid var(--c-border);
  border-radius: var(--r-lg);
  background: var(--c-surface);
  cursor: pointer;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.oplan:has(input:checked) {
  border: 2px solid var(--c-border-focus);
  padding: calc(var(--s-5) - 1px);
  box-shadow: var(--shadow-brand);
}

.oplan:has(input:focus-visible) {
  outline: 2px solid var(--c-border-focus);
  outline-offset: 2px;
}

.oplan__head {
  display: flex;
  align-items: center;
  gap: var(--s-3);
  padding-bottom: var(--s-4);
  border-bottom: 1px solid var(--c-border-subtle);
}

.oplan__head input {
  flex: none;
  margin: 0;
}

.oplan__title {
  font-size: 16px;
  font-weight: 700;
  color: var(--c-text-primary);
}

.oplan__price {
  margin-left: auto;
  font-family: var(--FontMono), monospace;
  font-size: 18px;
  font-weight: 700;
  color: var(--c-text-brand);
}

.oplan__items {
  gap: var(--s-2);
}

.checks__li {
  display: flex;
  gap: var(--s-2);
  align-items: flex-start;
  font-size: 13px;
  line-height: 20px;
  color: #334155;
}

.checks__li .ico {
  margin-top: 3px;
  color: var(--c-text-brand);
}

.oplan--soon {
  background: var(--c-bg-secondary);
  cursor: default;
}

.oplan--pack {
  cursor: default;
}

.pack__go {
  margin-top: var(--s-5);
}

.oplan--soon .oplan__title, .oplan--soon .oplan__price, .oplan--soon .checks__li, .oplan--soon .checks__li .ico {
  color: var(--c-text-tertiary);
}

.opages {
  display: flex;
  flex-direction: column;
  gap: var(--s-3);
}

.opages > * {
  margin: 0;
}

.opages[hidden] {
  display: none;
}

.opages__urls {
  display: flex;
  flex-direction: column;
  gap: var(--s-2);
}

.opages__urls > * {
  margin: 0;
}

.opages:has(input[value=auto]:checked) .opages__urls {
  display: none;
}

.opages__error {
  font-size: 13px;
  line-height: 20px;
  color: var(--c-problem);
}

.opages__error[hidden] {
  display: none;
}

.opages__row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--s-4);
}

.opages__row label {
  font-size: 15px;
  font-weight: 600;
  color: var(--c-text-primary);
}

.opages__hint {
  display: flex;
  gap: var(--s-2);
  align-items: flex-start;
  font-size: 13px;
  line-height: 20px;
  color: var(--c-text-secondary);
}

.opages__hint .ico {
  margin-top: 3px;
  color: var(--c-tip);
}

.opages__mode {
  display: flex;
  flex-wrap: wrap;
  gap: var(--s-2) var(--s-6);
}

.opages__label {
  font-size: 13px;
  font-weight: 600;
}

.stepper {
  display: inline-flex;
  align-items: stretch;
  flex: none;
  border: 1px solid var(--c-border);
  border-radius: var(--r-md);
  background: var(--c-bg-secondary);
  overflow: hidden;
}

.stepper button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  padding: 0;
  border: 0;
  background: none;
  color: var(--c-text-primary);
  cursor: pointer;
}

.stepper button:hover {
  background: var(--c-bg-tertiary);
}

.stepper input {
  width: 72px;
  padding: 8px 4px;
  border: 0;
  border-left: 1px solid var(--c-border);
  border-right: 1px solid var(--c-border);
  border-radius: 0;
  background: var(--c-surface);
  font-family: var(--FontMono), monospace;
  font-size: 15px;
  font-weight: 600;
  text-align: center;
  -moz-appearance: textfield;
}

.stepper input::-webkit-outer-spin-button, .stepper input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.stepper button[hidden] {
  display: none;
}

.stepper:has(button[hidden]) input {
  border: 0;
}

.ocheck {
  display: flex;
  gap: var(--s-3);
  align-items: flex-start;
  padding: var(--s-4) var(--s-5);
  background: var(--c-brand-soft);
  border-color: var(--c-border-brand);
  font-size: 14px;
  line-height: 22px;
  font-weight: 500;
  color: var(--c-text-primary);
  cursor: pointer;
}

.ocheck input {
  flex: none;
  margin-top: 2px;
}

.ototal {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: baseline;
  gap: var(--s-1) var(--s-4);
  padding-top: var(--s-6);
  border-top: 1px solid var(--c-border);
}

.ototal > * {
  margin: 0;
}

.ototal__label {
  font-size: 16px;
  font-weight: 600;
  color: var(--c-text-secondary);
}

.ototal__sum {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: baseline;
  gap: var(--s-3);
}

.ototal__sum b {
  font-size: 40px;
  line-height: 1.1;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--c-text-primary);
}

.ototal__sum span {
  font-size: 20px;
  font-weight: 600;
  color: var(--c-text-tertiary);
}

.ototal__note {
  grid-column: 1/-1;
  text-align: right;
  font-size: 12px;
  color: var(--c-text-tertiary);
}

.kv {
  margin: 0;
  padding: 0;
  overflow: hidden;
}

.kv > div {
  display: flex;
  justify-content: space-between;
  gap: var(--s-4);
  padding: var(--s-4) var(--s-5);
  border-top: 1px solid var(--c-border);
}

.kv > div:first-child {
  border-top: 0;
}

.kv dt {
  font-size: 14px;
  font-weight: 600;
  color: var(--c-text-secondary);
}

.kv dd {
  margin: 0;
  font-size: 14px;
  text-align: right;
  color: var(--c-text-primary);
}

.kv__hl {
  background: var(--c-bg-secondary);
}

.kv__hl b {
  font-size: 16px;
  color: var(--c-text-brand);
}

.kv__mono {
  font-family: var(--FontMono), monospace;
  font-weight: 600;
}

.howto__title {
  display: flex;
  align-items: center;
  gap: var(--s-2);
  margin: 0 0 var(--s-3);
  font-size: 16px;
  font-weight: 700;
}

.howto__title::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--c-bg-brand);
}

.howto__body {
  font-size: 14px;
  line-height: 22px;
  color: var(--c-text-secondary);
}

.howto__body > :first-child {
  margin-top: 0;
}

.howto__body > :last-child {
  margin-bottom: 0;
}

.howto__body pre, .howto__body code {
  font-family: var(--FontMono), monospace;
  font-size: 12px;
}

.howto__body pre {
  padding: var(--s-3) var(--s-4);
  border-radius: var(--r-md);
  background: var(--c-bg-tertiary);
  white-space: pre-wrap;
}

.howto__error {
  display: flex;
  gap: var(--s-2);
  align-items: flex-start;
  padding: var(--s-3) var(--s-4);
  border-radius: var(--r-md);
  background: var(--c-problem-bg);
  color: var(--c-problem);
}

.howto__error .ico {
  flex: none;
  margin-top: 3px;
}

.howto__test {
  display: inline-block;
  padding: 2px 8px;
  border-radius: var(--r-sm);
  background: var(--c-partial-bg);
  color: var(--c-partial);
  font-family: var(--FontMono), monospace;
  font-size: 12px;
  font-weight: 600;
}

.howto__pay {
  margin: var(--s-4) 0 0;
}

.howto__pay .btn {
  gap: var(--s-2);
}

.state {
  display: flex;
  gap: var(--s-3);
  align-items: flex-start;
  border-left: 4px solid var(--c-border-strong);
}

.state p {
  margin: 0;
  font-size: 14px;
  line-height: 22px;
  color: var(--c-text-secondary);
}

.state .ico {
  margin-top: 1px;
  color: var(--c-text-brand);
}

.state--ok {
  border-left-color: var(--c-ok);
}

.state--problem {
  border-left-color: var(--c-problem);
}

.state--partial {
  border-left-color: var(--c-partial);
}

.savelink {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--s-4);
  padding: var(--s-4) var(--s-5);
  border: 1px solid var(--c-border-brand);
  border-radius: var(--r-lg);
  background: var(--c-brand-soft);
}

.savelink p {
  display: flex;
  gap: var(--s-3);
  align-items: flex-start;
  margin: 0;
  font-size: 14px;
  line-height: 20px;
  font-weight: 600;
  color: var(--c-text-primary);
}

.savelink p .ico {
  margin-top: 1px;
  color: var(--c-text-brand);
}

.opay .checkline b {
  font-weight: 600;
}

.opay__inv {
  display: none;
  flex-direction: column;
  gap: var(--s-2);
  margin-top: var(--s-2);
  padding-top: var(--s-3);
  border-top: 1px solid var(--c-border);
}

.opay:has(#PayByInvoice:checked) .opay__inv {
  display: flex;
}

.invoice-form summary {
  cursor: pointer;
  font-size: 15px;
  font-weight: 600;
  color: var(--c-text-primary);
}

.invoice-form__form {
  margin-top: var(--s-3);
  max-width: 460px;
}

.invoice-form__form .btn {
  align-self: flex-start;
  margin-top: var(--s-2);
}

.opay__months {
  display: flex;
  flex-direction: column;
  gap: var(--s-2);
}

.opay__months .tag {
  margin-left: var(--s-1);
}

.order__form .payinv {
  display: none;
}

.order__form:has(#PayByInvoice:checked) .paycard {
  display: none;
}

.order__form:has(#PayByInvoice:checked) span.payinv {
  display: inline;
}

.order__form:has(#PayByInvoice:checked) p.payinv {
  display: flex;
}

.invoice-renew {
  display: flex;
  flex-direction: column;
  gap: var(--s-2);
  scroll-margin-top: 80px;
}

.invoice-renew > p {
  margin: 0;
}

.invoice-renew .btn {
  align-self: flex-start;
  margin-top: var(--s-2);
}

.consent {
  position: fixed;
  z-index: 60;
  left: 0;
  right: 0;
  bottom: 0;
  padding: var(--s-3);
  pointer-events: none;
}

.consent__in {
  pointer-events: auto;
  display: flex;
  align-items: center;
  gap: var(--s-4);
  max-width: 960px;
  margin: 0 auto;
  padding: var(--s-3) var(--s-4);
  border: 1px solid var(--c-border);
  border-radius: var(--r-lg);
  background: var(--c-surface);
  box-shadow: 0 12px 32px rgba(15, 23, 42, 0.14);
}

.consent p {
  margin: 0;
  flex: 1;
  font-size: 13px;
  line-height: 20px;
  color: var(--c-text-secondary);
}

.consent p b {
  color: var(--c-text-primary);
}

.consent__actions {
  display: flex;
  gap: var(--s-2);
  flex: none;
}

.consent--optin .consent__in {
  padding: var(--s-5);
}

.consent--optin p {
  font-size: 14px;
  line-height: 22px;
}

.why {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--s-8);
  align-items: start;
}

.why__item {
  display: flex;
  flex-direction: column;
  gap: var(--s-3);
  padding: var(--s-5);
  background: var(--c-bg-secondary);
  border-radius: var(--r-lg);
}

.why__title {
  margin: 0;
  font-size: 18px;
  line-height: normal;
  font-weight: 600;
  color: var(--c-text-primary);
}

.why__text {
  margin: 0;
  font-size: 14px;
  line-height: 20px;
  color: var(--c-text-secondary);
}

.selfcheck-band {
  position: relative;
  overflow: hidden;
}

.selfcheck-band::before {
  content: "";
  position: absolute;
  left: calc(50% - 320px);
  top: 20px;
  width: 400px;
  height: 260px;
  background: radial-gradient(closest-side, rgba(22, 163, 74, 0.08), rgba(22, 163, 74, 0));
  pointer-events: none;
}

.selfcheck {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--s-12);
}

.selfcheck__gauge {
  position: relative;
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 200px;
  height: 200px;
}

.selfcheck__gauge::before, .selfcheck__gauge::after {
  content: "";
  position: absolute;
  inset: 4px;
  border-radius: 50%;
  pointer-events: none;
  -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 10px), #000 calc(100% - 10px));
  mask: radial-gradient(farthest-side, transparent calc(100% - 10px), #000 calc(100% - 10px));
}

.selfcheck__gauge::before {
  background: repeating-conic-gradient(from -1.2deg, #CBD5E1 0 2.4deg, transparent 2.4deg 90deg), repeating-conic-gradient(from 43.8deg, #E2E8F0 0 2.4deg, transparent 2.4deg 90deg);
}

.selfcheck__gauge::after {
  inset: 8px;
  background: repeating-conic-gradient(from 21.6deg, #E2E8F0 0 1.8deg, transparent 1.8deg 45deg);
  -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 7px), #000 calc(100% - 7px));
  mask: radial-gradient(farthest-side, transparent calc(100% - 7px), #000 calc(100% - 7px));
}

.selfcheck .ring {
  width: 160px;
  height: 160px;
}

.selfcheck .ring b {
  font-size: 56px;
  line-height: 56px;
  font-weight: 700;
  letter-spacing: 0;
}

.selfcheck__grade {
  margin-top: 2px;
  font-size: 24px;
  line-height: 26px;
  font-weight: 600;
  color: var(--ring);
}

.selfcheck__body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--s-4);
  width: 500px;
  max-width: 100%;
}

.status-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px 4px 8px;
  border-radius: 6px;
  background: var(--c-ok-bg);
  color: var(--c-ok);
  font-size: 12px;
  font-weight: 500;
  line-height: 16px;
}

.selfcheck__title {
  margin: 0;
  font-size: 24px;
  line-height: normal;
  font-weight: 700;
}

.selfcheck__text {
  margin: 0;
  font-size: 15px;
  line-height: 22px;
  color: var(--c-text-secondary);
}

.selfcheck__stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  width: 100%;
  margin: 0;
  border: 1px solid var(--c-border);
  border-radius: var(--r-md);
  overflow: hidden;
}

.selfcheck__stats > div {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  padding: 10px 14px;
}

.selfcheck__stats > div + div {
  border-left: 1px solid var(--c-border);
}

.selfcheck__stats dt {
  font-size: 10px;
  line-height: normal;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--c-text-tertiary);
}

.selfcheck__stats dd {
  margin: 0;
  font-size: 16px;
  line-height: normal;
  font-weight: 700;
  color: var(--c-text-primary);
}

.selfcheck__num {
  color: var(--ring) !important;
}

.selfcheck__more {
  display: flex;
  flex-wrap: wrap;
  gap: var(--s-2) var(--s-4);
  margin: 0;
  font-size: 13px;
  color: var(--c-text-tertiary);
}

.selfcheck__more a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-weight: 600;
  color: var(--c-text-brand);
  text-decoration: none;
}

.selfcheck__more a:hover {
  text-decoration: underline;
}

@media (max-width: 1024px) {
  .how {
    --HowGap:var(--s-4);
  }
  .how__card {
    padding: var(--s-4) var(--s-4) var(--s-5);
  }
  .site-header__in {
    flex-wrap: wrap;
  }
  .site-header--js .site-header__in {
    flex-wrap: nowrap;
    padding-top: var(--s-2);
    padding-bottom: var(--s-2);
  }
  .site-header--js .nav-burger {
    display: inline-flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 4px;
    width: 40px;
    height: 40px;
    margin-right: -8px;
    padding: 0;
    border: 0;
    border-radius: var(--r-md);
    background: none;
    cursor: pointer;
  }
  .nav-burger span {
    display: block;
    width: 18px;
    height: 2px;
    border-radius: 1px;
    background: var(--c-text-primary);
    transition: transform 0.15s ease, opacity 0.15s ease;
  }
  .site-header--open .nav-burger span:nth-child(1) {
    transform: translateY(6px) rotate(45deg);
  }
  .site-header--open .nav-burger span:nth-child(2) {
    opacity: 0;
  }
  .site-header--open .nav-burger span:nth-child(3) {
    transform: translateY(-6px) rotate(-45deg);
  }
  .site-header--js .site-header__menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    flex-direction: column;
    gap: var(--s-4);
    padding: var(--s-2) var(--s-4) var(--s-4);
    background: var(--c-surface);
    border-bottom: 1px solid var(--c-border);
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.08);
  }
  .site-header--js.site-header--open .site-header__menu {
    display: flex;
  }
  .site-header--js .site-header__nav {
    order: 0;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    width: auto;
    overflow: visible;
    padding: 0;
  }
  .site-header--js .site-header__nav a {
    padding: var(--s-3) 0;
    border-bottom: 1px solid var(--c-border-subtle);
    font-size: 16px;
    line-height: 24px;
  }
  .site-header--js .site-header__side {
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .site-header--js .site-header__side .btn {
    display: flex;
    width: 100%;
    min-height: 44px;
    font-size: 16px;
  }
}
@media (max-width: 1024px) {
  .band__in, .site-header__in, .site-footer__in {
    padding-left: var(--s-8);
    padding-right: var(--s-8);
  }
  .page-hero {
    padding-left: var(--s-8);
    padding-right: var(--s-8);
  }
  .areas {
    grid-template-columns: 1fr 1fr;
  }
  .example {
    grid-template-columns: minmax(0, 1fr);
  }
  .site-footer__top {
    flex-direction: column;
  }
  .site-footer__about {
    max-width: none;
  }
  .checkpage__in, .paid-bar__in {
    padding-left: var(--s-8);
    padding-right: var(--s-8);
  }
  .checkpage__in:has(.rep-head) {
    padding-left: var(--s-8);
    padding-right: var(--s-8);
  }
  .mprinciples {
    grid-template-columns: 1fr 1fr;
  }
  .mscore {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--s-6);
  }
  .mengines {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .mareas, .mtwo {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--s-6);
  }
  .selfcheck {
    gap: var(--s-10);
  }
  .wait, .rep-top, .rep-pair, .files, .rep-top:not(.rep-top--full), .rep-top.rep-top--full {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media (max-width: 700px) {
  body {
    font-size: 15px;
  }
  .pres-top, .pres-rivals {
    grid-template-columns: 1fr;
  }
  .pres-kpi__value {
    font-size: 26px;
    line-height: 32px;
  }
  .pres-matrix__q {
    min-width: 200px;
  }
  .lgate__row {
    flex-direction: column;
  }
  .lgate-card {
    padding: var(--s-4);
  }
  .pres-form__grid {
    grid-template-columns: 1fr;
  }
  .upgrade {
    flex-direction: column;
    align-items: stretch;
  }
  .band__in, .site-header__in, .site-footer__in {
    padding-left: var(--s-4);
    padding-right: var(--s-4);
  }
  .band {
    padding: var(--s-12) 0;
  }
  .band__head {
    margin-bottom: var(--s-8);
  }
  .band__lead {
    font-size: 15px;
    line-height: 22px;
  }
  .band__head--row {
    flex-direction: column;
    align-items: flex-start;
  }
  .band__title {
    font-size: 22px;
    line-height: 28px;
  }
  .band__head {
    gap: var(--s-2);
  }
  .site-header__in {
    flex-wrap: wrap;
    gap: var(--s-2) var(--s-3);
    min-height: 56px;
  }
  .site-header__nav {
    order: 3;
    width: 100%;
    gap: var(--s-5);
    overflow-x: auto;
    padding-bottom: 2px;
  }
  .site-header__nav::-webkit-scrollbar {
    display: none;
  }
  .site-header__side .btn {
    display: none;
  }
  .hero {
    padding: var(--s-10) 0;
    background: var(--c-surface);
    border-bottom: 1px solid var(--c-border);
  }
  .hero::after {
    display: none;
  }
  .hero__in {
    align-items: flex-start;
    gap: var(--s-3);
    padding: 0 var(--s-4);
    text-align: left;
  }
  .hero .pill {
    padding: 4px 10px 4px 8px;
    border: 0;
    border-radius: 6px;
    font-weight: 500;
  }
  .hero__title {
    font-size: 28px;
    line-height: 34px;
    letter-spacing: -1px;
  }
  .hero__lead {
    font-size: 15px;
    line-height: 22px;
  }
  .check-form {
    margin-top: var(--s-3);
  }
  .check-form__row {
    flex-direction: column;
    gap: var(--s-3);
    box-shadow: none;
  }
  .field, .check-form__button {
    box-shadow: none;
  }
  .check-form__button {
    width: 100%;
    padding-top: var(--s-3);
    padding-bottom: var(--s-3);
    line-height: 20px;
  }
  .hero__ticks {
    align-self: stretch;
    margin-top: var(--s-3);
    gap: var(--s-2);
  }
  .hero__ticks li {
    gap: 4px;
    font-size: 12px;
    line-height: normal;
    color: var(--c-text-tertiary);
  }
  .hero__ticks li + li::before {
    margin-right: 4px;
  }
  .hero__ticks .ico {
    display: none;
  }
  .how {
    grid-template-columns: 1fr;
    gap: var(--s-6);
  }
  .how__step {
    flex-direction: row;
    align-items: flex-start;
    gap: var(--s-4);
  }
  .how__step::before {
    display: none;
  }
  .how__num {
    flex: none;
    width: 32px;
    height: 32px;
    margin: 0;
    font-family: var(--FontMono), monospace;
    font-size: 13px;
  }
  .how__card {
    flex: 1;
    gap: var(--s-1);
    padding: 0;
    background: none;
    border: 0;
    border-radius: 0;
  }
  .how__label {
    display: none;
  }
  .how__title {
    font-size: 16px;
  }
  .areas, .guide {
    grid-template-columns: 1fr;
  }
  .example__report, .bot-card, .guide__card, .plan {
    padding: var(--s-5);
  }
  .bot-card__head {
    flex-wrap: wrap;
  }
  .bot-card__aside {
    flex-basis: 100%;
    text-align: left;
  }
  .cta-band {
    padding: var(--s-16) 0;
  }
  .cta-band__title {
    font-size: 28px;
    line-height: 36px;
  }
  .page-hero, .page-hero--dots {
    padding: var(--s-12) var(--s-4) var(--s-10);
  }
  .doc {
    padding: var(--s-8) 0 var(--s-16);
  }
  .doc__body {
    padding: var(--s-6) var(--s-4);
    border-radius: var(--r-lg);
  }
  .doc__body .dtable {
    min-width: 0;
    border: 0;
  }
  .doc__body .dtable tr:first-child:has(th) {
    display: none;
  }
  .doc__body .dtable tr {
    display: block;
    margin-bottom: var(--s-3);
    padding: var(--s-3) var(--s-4);
    border: 1px solid var(--c-border);
    border-radius: var(--r-md);
  }
  .doc__body .dtable td, .doc__body .dtable th {
    display: block;
    padding: 0;
    border: 0;
    background: none;
  }
  .doc__body .dtable td:first-child {
    margin-bottom: var(--s-2);
    font-weight: 600;
    color: var(--c-text-primary);
  }
  .doc__body .dtable td + td {
    margin-top: var(--s-2);
  }
  .doc__body .dtable td[data-label]::before {
    content: attr(data-label);
    display: block;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--c-text-tertiary);
  }
  .site-footer__cols {
    flex-wrap: wrap;
    gap: var(--s-8);
  }
  .site-footer__bottom {
    flex-direction: column;
    gap: var(--s-2);
  }
  .site-footer__featured {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--s-3);
  }
  .check-form__row .btn {
    justify-content: center;
  }
  .checkpage__in {
    padding: var(--s-8) var(--s-4) var(--s-16);
    gap: var(--s-5);
  }
  .checkpage__in:has(.rep-head) {
    padding-left: var(--s-4);
    padding-right: var(--s-4);
    gap: var(--s-6);
  }
  .checkpage__in:has(.rep-head) .card {
    padding: var(--s-5);
    border-radius: var(--r-lg);
  }
  .checkpage__title {
    font-size: 24px;
    line-height: 30px;
  }
  .wait {
    display: flex;
    flex-direction: column;
  }
  .wait__now {
    order: -1;
  }
  .step__text small {
    display: none;
  }
  .steps {
    gap: var(--s-4);
  }
  .step {
    align-items: center;
  }
  .step__mark {
    width: 20px;
    height: 20px;
    font-size: 10px;
  }
  .step--done .step__mark::after {
    inset: 4px;
  }
  .step--run .step__mark::after {
    inset: 4px;
  }
  body:has(.wait) .paid-bar .btn {
    position: static;
    width: 100%;
    min-height: 0;
    color: var(--c-text-brand);
    background: var(--c-surface);
    border-color: var(--c-border);
    box-shadow: none;
  }
  body:has(.wait) .paid-bar .btn .ico {
    color: var(--c-text-brand);
  }
  body:has(.wait):has(.paid-bar) {
    padding-bottom: 0;
  }
  .card {
    padding: var(--s-5);
  }
  .kv {
    padding: 0;
  }
  .tcard {
    padding: var(--s-5) 0 0;
  }
  .seo, .compare__cols {
    grid-template-columns: 1fr;
  }
  .fix__title {
    font-size: 18px;
    line-height: 26px;
  }
  .rep-block__title {
    font-size: 20px;
    line-height: 28px;
  }
  .offer__band {
    padding: var(--s-4);
    border-radius: 8px;
  }
  .offer__band h2 {
    margin: 0;
    font-size: 15px;
    line-height: 20px;
  }
  .offer__band p {
    display: none;
  }
  .plans--offer {
    gap: var(--s-4);
  }
  .plans--offer .plan {
    gap: var(--s-4);
    padding: 20px;
  }
  .plans--offer .plan__title {
    margin: 0;
    font-size: 18px;
    font-weight: 800;
  }
  .plans--offer .plan__price--side {
    font-family: var(--FontMono), monospace;
    font-size: 20px;
  }
  .plans--offer .checks {
    gap: 10px;
  }
  .plans--offer .checks li, .plans--offer .plan--popular .checks li {
    font-size: 13px;
    line-height: 16px;
    font-weight: 400;
    color: var(--c-text-secondary);
  }
  .plans--offer .plan--soon {
    opacity: 0.6;
  }
  .plans--offer .plan--soon .checks li {
    color: var(--c-text-tertiary);
  }
  .plans--offer .plan--soon .btn {
    display: none;
  }
  .plans__note {
    font-size: 11px;
  }
  .locked__list li:nth-child(n+6) {
    display: none;
  }
  .locked__rest {
    display: block;
    margin: 0;
    font-size: 13px;
    color: var(--c-text-tertiary);
  }
  .locked__list li {
    padding: 12px 0;
    gap: var(--s-2);
  }
  .locked__area {
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 45%;
  }
  .seo__item .sev {
    display: none;
  }
  .arow__head span {
    font-weight: 500;
  }
  .paid-bar__in {
    margin: var(--s-4) var(--s-4) 0;
    padding: var(--s-3) var(--s-4);
    flex-direction: column;
    align-items: flex-start;
  }
  .paid-bar .btn {
    position: fixed;
    left: var(--s-4);
    right: var(--s-4);
    bottom: var(--s-4);
    z-index: 40;
    justify-content: center;
    min-height: 48px;
    color: var(--c-text-inverse);
    background: var(--c-action);
    border-color: var(--c-action);
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.18);
  }
  .paid-bar .btn .ico {
    color: var(--c-text-inverse);
  }
  body:has(.paid-bar) {
    padding-bottom: 88px;
  }
  .reaudit, .savelink {
    flex-direction: column;
    align-items: flex-start;
  }
  .reaudit form, .reaudit .btn {
    width: 100%;
    justify-content: center;
  }
  .opages__row {
    flex-direction: column;
    align-items: flex-start;
  }
  .ototal {
    position: sticky;
    bottom: 0;
    z-index: 5;
    margin: 0 calc(-1 * var(--s-4));
    padding: var(--s-3) var(--s-4);
    background: var(--c-surface);
    box-shadow: 0 -8px 24px rgba(15, 23, 42, 0.08);
    grid-template-columns: auto 1fr;
    align-items: center;
  }
  .ototal__sum {
    justify-content: flex-end;
  }
  .ototal__sum b {
    font-size: 26px;
  }
  .ototal__sum span {
    font-size: 15px;
  }
  .oplan--soon .oplan__items {
    display: none;
  }
  .checks__li {
    line-height: 18px;
  }
  .oplan__title {
    font-size: 15px;
  }
  .oplan--soon .oplan__head {
    padding-bottom: 0;
    border-bottom: 0;
  }
  .kv > div {
    flex-direction: column;
    gap: 2px;
  }
  .kv > div {
    padding: 12px var(--s-4);
  }
  .kv dt {
    font-size: 11px;
    line-height: 16px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    color: var(--c-text-tertiary);
  }
  .savelink .btn {
    width: 100%;
    justify-content: center;
  }
  .howto__pay .btn {
    width: 100%;
    justify-content: center;
  }
  .kv dd {
    text-align: left;
  }
  .tcard .card__title {
    padding: 0 var(--s-4);
  }
  .rtable th, .rtable td {
    padding: 8px var(--s-4);
  }
  .compare__nums {
    font-size: 32px;
  }
  .rep-actions__row .btn, .rep-details {
    width: 100%;
  }
  .mprinciples, .mscore, .mpages, .msources, .mengines {
    grid-template-columns: 1fr;
  }
  .mscore__card {
    padding: var(--s-5);
  }
  .page-hero--method {
    align-items: flex-start;
    text-align: left;
    padding-bottom: var(--s-8);
    background: var(--c-bg-secondary);
  }
  .page-hero--method .page-hero__title {
    font-size: 32px;
    line-height: 1.2;
  }
  .page-hero--method .page-hero__lead {
    font-size: 15px;
  }
  .mgrade {
    padding: 12px;
    gap: 12px;
  }
  .mengine {
    padding: var(--s-5);
  }
  .consent__in {
    flex-direction: column;
    align-items: stretch;
  }
  .consent__actions .btn {
    flex: 1;
  }
  .badge-box {
    flex-direction: column;
  }
  .mtable th, .mtable td {
    padding: 8px 0;
  }
  .mtable th:first-child, .mtable td:first-child {
    padding-right: var(--s-3);
  }
  .mstatus li {
    grid-template-columns: 1fr;
    gap: var(--s-1);
  }
  .rep-details summary {
    width: 100%;
  }
  .why {
    grid-template-columns: 1fr;
  }
  .cmp {
    border: 0;
    overflow: visible;
  }
  .cmp table {
    min-width: 0;
  }
  .cmp thead {
    display: none;
  }
  .cmp tr {
    display: block;
    margin-bottom: var(--s-3);
    border: 1px solid var(--c-border-subtle);
    border-radius: var(--r-md);
    overflow: hidden;
  }
  .cmp td {
    display: flex;
    justify-content: space-between;
    gap: var(--s-4);
    padding: 10px var(--s-4);
    border-top: 1px solid var(--c-border-subtle);
    text-align: right;
  }
  .cmp td:first-child {
    display: block;
    border-top: 0;
    background: var(--c-bg-tertiary);
    font-weight: 700;
    color: var(--c-text-primary);
    text-align: left;
  }
  .cmp td[data-label]::before {
    content: attr(data-label);
    flex: none;
    max-width: 55%;
    text-align: left;
    font-weight: 500;
    color: var(--c-text-secondary);
  }
  .why__item {
    padding: var(--s-5);
  }
  .selfcheck {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--s-6);
  }
  .selfcheck .ring {
    width: 140px;
    height: 140px;
  }
  .selfcheck .ring b {
    font-size: 40px;
  }
  .selfcheck__title {
    font-size: 22px;
    line-height: 30px;
  }
  .selfcheck__stats dd {
    font-size: 15px;
  }
  .selfcheck__stats > div {
    padding: var(--s-3);
  }
}
@page {
  size: A4;
  margin: 14mm 12mm 16mm;
  @bottom-left {
    content: "aiseen.cloud";
    font: 9pt Inter, system-ui, sans-serif;
    color: #94A3B8;
  }
  @bottom-right {
    content: counter(page) " / " counter(pages);
    font: 9pt Inter, system-ui, sans-serif;
    color: #94A3B8;
  }
}
.rep-print {
  display: none;
}

@media print {
  .hint, .arow__more {
    display: none !important;
  }
  body {
    background: #FFF !important;
    color: #000;
    font-size: 11pt;
  }
  .site-header, .site-footer, .lang, .cur-switch, .paid-bar, .consent,
  .rep-actions, .rep-details, .file__actions, .reaudit, .offer, .savelink, .upgrade, .pres-form, .lgate, .bgtasks, .rep-bar,
  form, button, noscript, script {
    display: none !important;
  }
  .checkpage {
    background: #FFF;
  }
  .checkpage__in {
    padding: 0 !important;
    max-width: none !important;
    gap: 12pt;
  }
  .card {
    border-color: #CBD5E1;
  }
  a {
    color: #000;
    text-decoration: none;
  }
  .code, pre {
    max-height: none !important;
    overflow: visible !important;
    white-space: pre-wrap !important;
    word-break: break-word;
  }
  .tscroll {
    overflow: visible !important;
  }
  .tcard {
    overflow: visible !important;
  }
  .rtable {
    width: 100% !important;
    table-layout: fixed;
    font-size: 7.5pt;
    line-height: 1.3;
  }
  .rtable th, .rtable td {
    padding: 3pt 4pt !important;
    white-space: normal !important;
    overflow-wrap: anywhere;
  }
  .rtable__url {
    min-width: 0 !important;
    word-break: break-all;
  }
  .tcard:first-child .rtable th:first-child {
    width: 26%;
  }
  .rtable thead {
    display: table-header-group;
  }
  .rtable tr {
    break-inside: avoid;
  }
  .files, .rep-pair {
    grid-template-columns: 1fr;
  }
  .fix, .file, .arow, .echip, .score, .compare__col {
    break-inside: avoid;
  }
  .rep-print {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 10pt;
    padding-bottom: 8pt;
    border-bottom: 1px solid #E2E8F0;
    font-size: 14pt;
    font-weight: 700;
  }
  .rep-print .brand__mark {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  .rep-top {
    grid-template-columns: 1fr;
  }
  .score {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    text-align: left;
    gap: 4pt 16pt;
  }
  .score .card__title {
    grid-column: 2;
    grid-row: 1;
  }
  .score .ring {
    grid-column: 1;
    grid-row: 1/span 2;
    width: 110px;
    height: 110px;
  }
  .score .ring b {
    font-size: 32px;
  }
  .score .grade {
    grid-column: 2;
    grid-row: 2;
    justify-self: start;
  }
  .score__text {
    grid-column: 1/-1;
    max-width: none;
  }
  .score .vparts, .score__ready {
    grid-column: 1/-1;
    max-width: none;
  }
  .rep-block__title, .fix__title, .card__title {
    break-after: avoid;
  }
  .pres {
    break-before: page;
  }
  .pres-top {
    grid-template-columns: 1fr;
  }
  .pres-kpis {
    grid-template-columns: repeat(4, 1fr);
  }
  .pres-score .pres-was {
    grid-column: 2;
    grid-row: 2;
    justify-self: start;
  }
  .pres-rivals {
    grid-template-columns: repeat(3, 1fr);
  }
  .pres-draft, .pres-rival, .pres-kpi, .pres-mood {
    break-inside: avoid;
  }
  .pres-sub {
    break-after: avoid;
  }
  .pres-matrix {
    font-size: 7.5pt;
  }
  .pres-matrix__q {
    min-width: 0;
  }
}
.hero--rating .hero__in {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--s-5);
  text-align: center;
}

.rating-stats {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: var(--s-4);
  width: 100%;
}

.rating-stat {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: var(--s-5);
  border: 1px solid var(--c-border);
  border-radius: var(--r-md);
  background: var(--c-surface);
}

.rating-stat__n {
  font-family: var(--FontMono), monospace;
  font-size: 28px;
  line-height: 34px;
  font-weight: 800;
  color: var(--c-text-primary);
}

.rating-stat__label {
  font-size: 13px;
  line-height: 18px;
  color: var(--c-text-secondary);
}

.rating-nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
}

.rating-nav .chip {
  font-family: inherit;
  text-decoration: none;
}

.rating-nav .chip:hover {
  border-color: var(--c-border-brand);
  color: var(--c-text-brand);
}

.rating-table table {
  table-layout: auto;
}

.rating__cell {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.rating-table th[scope=row] {
  background: none;
  font-weight: 400;
  border-top: 1px solid var(--c-border-subtle);
}

.rating__site b {
  display: block;
  color: var(--c-text-primary);
}

.rating__domain {
  display: block;
  font-family: var(--FontMono), monospace;
  font-size: 12px;
  color: var(--c-text-tertiary);
}

.rating__score {
  font-family: var(--FontMono), monospace;
  font-size: 16px;
}

.rating__delta {
  font-family: var(--FontMono), monospace;
  font-size: 12px;
}

.rating__delta--up {
  color: var(--c-ok);
}

.rating__delta--down {
  color: var(--c-problem);
}

.rating__muted {
  color: var(--c-text-tertiary);
}

.rating-owner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--s-4);
  max-width: 640px;
}

@media (min-width: 701px) {
  .rating-table table {
    min-width: 760px;
  }
}
@media (max-width: 900px) {
  .rating-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 700px) {
  .rating-table th[scope=row] {
    display: block;
    padding: 10px var(--s-4);
    background: var(--c-bg-tertiary);
  }
  .rating-table td:first-child {
    display: flex;
    background: none;
    font-weight: 400;
    text-align: right;
    border-top: 1px solid var(--c-border-subtle);
  }
  .rating-table td[colspan] {
    display: block;
    text-align: left;
  }
}
.hero__in.ext {
  max-width: 1080px;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: var(--s-12, 48px);
  text-align: left;
}

.ext__text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--s-4);
  min-width: 0;
}

.ext .hero__ticks {
  justify-content: flex-start;
  margin-top: var(--s-2);
}

.ext__stores {
  display: flex;
  flex-wrap: wrap;
  gap: var(--s-3, 12px);
  margin: var(--s-2) 0 0;
}

.ext__compat {
  margin: 0;
  font-size: 14px;
  line-height: 20px;
  color: var(--c-text-tertiary);
}

.ext__shot {
  flex: none;
  width: 360px;
  max-width: 100%;
  height: auto;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 20px 50px rgba(15, 23, 42, 0.16);
}

@media (max-width: 900px) {
  .hero__in.ext {
    flex-direction: column;
    text-align: center;
  }
  .ext__text {
    align-items: center;
  }
  .ext .hero__ticks, .ext__stores {
    justify-content: center;
  }
  .ext__shot {
    width: 300px;
  }
}
.doc__lead {
  max-width: 720px;
  font-size: 18px;
  line-height: 28px;
  color: var(--c-text-secondary);
}

.doc__lead p {
  margin: 0;
}

.blog-list {
  display: grid;
  gap: var(--s-5);
  max-width: 820px;
}

.blog-card {
  display: flex;
  flex-direction: column;
  gap: var(--s-2);
}

.blog-card__meta {
  font-size: 13px;
  color: var(--c-text-tertiary);
}

.blog-card__title {
  margin: 0;
  font-size: 22px;
  line-height: 1.3;
}

.blog-card__lead {
  margin: 0;
  color: var(--c-text-secondary);
}

.blog-card__more {
  font-weight: 600;
}

.doc__body .blog-lead {
  font-size: 18px;
  line-height: 28px;
  color: var(--c-text-primary);
}

.blog-cta {
  margin-top: var(--s-10);
}

.doc__body table {
  margin-bottom: var(--s-5);
}

/* ── страницы под вопросы людей: /check-chatgpt/, /ai-visibility-checker/ и др. (IntentView, 03.11.2026) ── */
.intent-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--s-6);
  align-items: start;
}

.intent-grid--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.intent-grid .card, .intent-grid .plan {
  display: flex;
  flex-direction: column;
  gap: var(--s-4);
}

.intent-grid .bot-card__label {
  margin: 0;
}

.intent-sub {
  margin-top: var(--s-12);
}

.intent-index {
  margin: 0;
  font-size: 14px;
  line-height: 21px;
  color: var(--c-text-secondary);
}

.intent-index a {
  color: var(--c-text-brand);
  font-weight: 600;
}

.intent-table td {
  vertical-align: top;
}

.intent-table td:first-child {
  font-weight: 600;
  white-space: nowrap;
}

.intent-table code {
  font-size: 12px;
}

.intent-links {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: var(--s-2) var(--s-3);
}

.intent-links a {
  display: inline-block;
  padding: 8px 14px;
  border: 1px solid var(--c-border);
  border-radius: var(--r-md);
  background: var(--c-surface);
  font-size: 14px;
  color: var(--c-text-primary);
  text-decoration: none;
}

.intent-links a:hover {
  border-color: var(--c-border-brand);
  color: var(--c-text-brand);
}

@media (max-width: 1024px) {
  .intent-grid--3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 700px) {
  .intent-grid, .intent-grid--3 {
    grid-template-columns: 1fr;
    gap: var(--s-4);
  }
  .intent-sub {
    margin-top: var(--s-8);
  }
}
/* ── блог: обложки записей (Blog\Views\ListView / PageView, 04.11.2026) ──
   БЫЛО: Posts.Image уходила только в og:image, на сайте картинок не было.
   Карточка: обложка во всю ширину сверху, текст — в .blog-card__body (отступы
   переехали туда с .card, иначе картинка висела бы в рамке из паддингов). */
.blog-card {
  padding: 0;
  overflow: hidden;
  gap: 0;
}

.blog-card__media {
  display: block;
  aspect-ratio: 1200/630;
  background: var(--c-bg-tertiary);
}

.blog-card__cover {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.blog-card__body {
  display: flex;
  flex-direction: column;
  gap: var(--s-2);
  padding: var(--s-6);
}

.blog-card__title a {
  color: inherit;
  text-decoration: none;
}

.blog-card__title a:hover {
  color: var(--c-text-brand);
}

.doc__body .blog-cover__wrap {
  margin: 0 0 var(--s-8);
}

.doc__body .blog-cover {
  display: block;
  width: 100%;
  height: auto;
  border-radius: var(--r-md);
  border: 1px solid var(--c-border);
}

@media (max-width: 700px) {
  .blog-card__body {
    padding: var(--s-4);
  }
  .doc__body .blog-cover__wrap {
    margin-bottom: var(--s-6);
  }
}
:root {
  --ShellBar:64px;
  --ShellRail:232px;
  --ShellSheet:26px;
  --ShellGap:10px;
}

.shell__main {
  padding-bottom: calc(var(--ShellBar) + env(safe-area-inset-bottom));
}

.nav {
  display: contents;
}

.nav__bar {
  position: sticky;
  top: 0;
  z-index: 20;
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  margin: 0 calc(var(--AppPad) * -1);
  padding: calc(env(safe-area-inset-top) + 8px) var(--AppPad) 0;
}

.nav__back {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 32px;
  height: 32px;
  margin-left: -7px;
}

.nav__back:hover {
  text-decoration: none;
}

.nav__back .shell__icon {
  width: 22px;
  height: 22px;
}

.nav__small {
  position: absolute;
  left: 50%;
  max-width: 58%;
  transform: translateX(-50%);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  opacity: 0;
  transition: opacity 0.18s ease;
  pointer-events: none;
}

.nav.is-stuck .nav__small {
  opacity: 1;
}

.nav__act {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 0 0 auto;
  margin-left: auto;
}

.nav__act:empty {
  display: none;
}

.nav__big {
  margin: 4px 0 18px;
}

.shell__nav {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 30;
  display: flex;
  align-items: stretch;
  height: calc(var(--ShellBar) + env(safe-area-inset-bottom));
  padding: 0 4px env(safe-area-inset-bottom);
  border-top: 1px solid var(--Line);
}

.shell__nav::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: var(--BgCard);
}

@supports (backdrop-filter: blur(12px)) {
  .shell__nav::before {
    background: color-mix(in srgb, var(--BgCard) 82%, transparent);
    backdrop-filter: blur(14px) saturate(140%);
  }
}
.shell__tab,
.shell__add,
.shell__brand {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  flex: 1 1 0;
  min-width: 0;
  padding: 6px 2px;
  color: var(--Muted);
  text-decoration: none;
  font-size: 11px;
  line-height: 1.1;
  font-weight: 500;
  -webkit-tap-highlight-color: transparent;
}

.shell__tab:hover,
.shell__add:hover,
.shell__brand:hover {
  text-decoration: none;
}

.shell__icon {
  width: 24px;
  height: 24px;
  flex: 0 0 auto;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.shell__label {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.shell__tab--cur {
  color: var(--Accent);
}

.shell__tab--cur .shell__icon {
  stroke-width: 2.1;
}

.shell__badge {
  position: absolute;
  top: 2px;
  left: calc(50% + 6px);
  min-width: 17px;
  padding: 0 4px;
  border-radius: 9px;
  background: var(--Bad);
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  line-height: 17px;
  text-align: center;
  font-variant-numeric: tabular-nums;
}

.shell__add {
  color: var(--Accent);
}

.shell__add .shell__icon {
  width: 46px;
  height: 32px;
  padding: 4px 11px;
  border-radius: 16px;
  background: var(--Accent);
  stroke: var(--Bg);
  stroke-width: 2.2;
  box-shadow: 0 4px 12px rgba(11, 113, 86, 0.28);
}

.shell__add:active .shell__icon {
  transform: scale(0.94);
}

.shell__brand {
  display: none;
}

.shell__rest {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 40;
  visibility: hidden;
}

.shell__rest__back {
  position: fixed;
  inset: 0;
  display: block;
  background: rgba(18, 21, 26, 0.45);
  opacity: 0;
  transition: opacity 0.22s ease;
}

.shell__rest__body {
  position: relative;
  max-height: 78vh;
  overflow: auto;
  padding: 10px 12px calc(14px + env(safe-area-inset-bottom));
  border-radius: var(--ShellSheet) var(--ShellSheet) 0 0;
  background: var(--BgCard);
  box-shadow: var(--ShadowXl);
  transform: translateY(101%);
  transition: transform 0.26s cubic-bezier(0.32, 0.72, 0, 1);
}

.shell__rest__body::before {
  content: "";
  display: block;
  width: 38px;
  height: 4px;
  margin: 0 auto 10px;
  border-radius: 2px;
  background: var(--Line);
}

.shell__rest.is-open,
.shell__rest:target {
  visibility: visible;
}

.shell__rest.is-open .shell__rest__back,
.shell__rest:target .shell__rest__back {
  opacity: 1;
}

.shell__rest.is-open .shell__rest__body,
.shell__rest:target .shell__rest__body {
  transform: none;
}

.shell__rest .shell__tab {
  flex-direction: row;
  justify-content: flex-start;
  gap: 12px;
  flex: none;
  min-height: 48px;
  padding: 0 12px;
  border-radius: 14px;
  color: var(--Ink);
  font-size: 15px;
  font-weight: 500;
}

.shell__rest .shell__tab--cur {
  background: var(--AccentSoft);
  color: var(--AccentDark);
}

.shell__rest .shell__badge {
  position: static;
  margin-left: auto;
}

.shell__rest .shell__label {
  max-width: none;
}

.shell__rest__foot {
  margin-top: 6px;
  padding-top: 10px;
  border-top: 1px solid var(--LineSoft);
}

.shell__who {
  display: block;
  padding: 0 12px 6px;
  color: var(--Muted);
  font-size: 13px;
}

.shell__tab--quiet {
  color: var(--Muted);
}

.sheet {
  position: fixed;
  inset: 0;
  z-index: 50;
  visibility: hidden;
}

.sheet.is-open {
  visibility: visible;
}

.sheet__back {
  position: absolute;
  inset: 0;
  background: rgba(18, 21, 26, 0.45);
  opacity: 0;
  transition: opacity 0.22s ease;
}

.sheet.is-open .sheet__back {
  opacity: 1;
}

.sheet__body {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 10px 12px calc(14px + env(safe-area-inset-bottom));
  border-radius: var(--ShellSheet) var(--ShellSheet) 0 0;
  background: var(--BgCard);
  box-shadow: var(--ShadowXl);
  transform: translateY(101%);
  transition: transform 0.26s cubic-bezier(0.32, 0.72, 0, 1);
}

.sheet.is-open .sheet__body {
  transform: none;
}

.sheet__body::before {
  content: "";
  display: block;
  width: 38px;
  height: 4px;
  margin: 0 auto 12px;
  border-radius: 2px;
  background: var(--Line);
}

.sheet__item {
  display: flex;
  align-items: center;
  gap: 14px;
  min-height: 60px;
  padding: 8px 12px;
  border-radius: 16px;
  color: var(--Ink);
  text-decoration: none;
}

.sheet__item:active {
  background: var(--BgSoft);
}

.sheet__item:hover {
  background: var(--BgSoft);
  text-decoration: none;
}

.sheet__item .shell__icon {
  width: 40px;
  height: 40px;
  padding: 8px;
  border-radius: 13px;
  background: var(--AccentSoft);
  stroke: var(--AccentDark);
  stroke-width: 1.9;
}

.sheet__t {
  display: block;
  font-size: 16px;
  font-weight: 600;
}

.sheet__n {
  display: block;
  color: var(--Muted);
  font-size: 13px;
  font-style: normal;
}

@media (min-width: 900px) {
  :root {
    --ShellBar:0px;
  }
  .shell__nav {
    top: 0;
    right: auto;
    bottom: 0;
    width: var(--ShellRail);
    height: 100vh;
    flex-direction: column;
    align-items: stretch;
    gap: 2px;
    padding: 16px 12px;
    overflow: auto;
    border-top: 0;
    border-right: 1px solid var(--Line);
    background: var(--BgCard);
    backdrop-filter: none;
  }
  @supports (height: 100dvh) {
    .shell__nav {
      height: 100dvh;
    }
  }
  .shell__main {
    margin-left: var(--ShellRail);
    padding-bottom: 0;
  }
  .shell__tab,
  .shell__add,
  .shell__brand {
    flex-direction: row;
    justify-content: flex-start;
    gap: 12px;
    flex: none;
    min-height: 44px;
    padding: 0 12px;
    border-radius: 12px;
    font-size: 15px;
  }
  .shell__brand {
    order: -2;
  }
  .shell__add {
    order: -1;
  }
  .shell__brand {
    display: flex;
    margin-bottom: 14px;
    color: var(--Ink);
    font-family: var(--FontHead), sans-serif;
    font-size: 18px;
    font-weight: 800;
  }
  .shell__brand .shell__icon {
    stroke: var(--Accent);
  }
  .shell__nav .shell__tab:not(.shell__tab--quiet):not(.shell__tab--cur) {
    color: var(--InkSoft);
  }
  .shell__tab:hover {
    background: var(--BgSoft);
    color: var(--Ink);
  }
  .shell__tab--cur,
  .shell__tab--cur:hover {
    background: var(--AccentSoft);
    color: var(--AccentDark);
  }
  .shell__add {
    margin-bottom: 10px;
    color: var(--Bg);
    background: var(--Accent);
    font-weight: 600;
  }
  .shell__add:hover {
    background: var(--AccentDark);
  }
  .shell__add .shell__icon {
    width: 24px;
    height: 24px;
    padding: 0;
    border-radius: 0;
    background: none;
    box-shadow: none;
    stroke: currentColor;
  }
  .shell__badge {
    position: static;
    margin-left: auto;
  }
  .shell__more {
    display: none;
  }
  .shell__rest {
    position: static;
    visibility: visible;
    flex: 1 1 auto;
  }
  .shell__rest__back {
    display: none;
  }
  .shell__rest__body {
    max-height: none;
    overflow: visible;
    padding: 0;
    border-radius: 0;
    background: none;
    box-shadow: none;
    transform: none;
  }
  .shell__rest__body::before {
    display: none;
  }
  .shell__rest .shell__tab {
    min-height: 44px;
    border-radius: 12px;
  }
  .shell__rest__foot {
    margin-top: 14px;
  }
  .sheet__body {
    left: 50%;
    bottom: auto;
    top: 50%;
    right: auto;
    width: 420px;
    max-width: calc(100vw - 40px);
    border-radius: 20px;
    transform: translate(-50%, -46%);
    opacity: 0;
    transition: opacity 0.18s ease, transform 0.18s ease;
  }
  .sheet.is-open .sheet__body {
    transform: translate(-50%, -50%);
    opacity: 1;
  }
  .sheet__body::before {
    display: none;
  }
}
:root {
  --ChartAxisChars:7;
  --Arrow:0px;
  --Neg:#C0392B;
}

#mb .app {
  max-width: var(--Max);
  margin: 0 auto;
  --AppPad:20px;
  padding: 0 var(--AppPad) 40px;
}

#mb .app--narrow {
  max-width: 420px;
  padding-top: 24px;
}

.app__tabs {
  display: flex;
  gap: 4px;
  flex-wrap: wrap;
  margin: 0 0 20px;
}

.app__tab {
  display: inline-flex;
  align-items: center;
  padding: 8px 16px;
  border-radius: 999px;
  color: var(--InkSoft);
  font-weight: 600;
  font-size: 15px;
}

.app__tab:hover {
  background: var(--BgSoft);
  text-decoration: none;
}

button.app__tab {
  border: 0;
  font: inherit;
  cursor: pointer;
}

button.app__tab:not(.app__tab--cur) {
  background: none;
}

.app__tab--cur {
  background: var(--Ink);
  color: #FFF;
}

.app__tab--cur:hover {
  background: var(--Ink);
  color: #FFF;
}

.app__tab small {
  margin-left: 6px;
  color: var(--InkSoft);
  font-weight: 400;
}

.app__tab--cur small {
  color: rgba(255, 255, 255, 0.65);
}

.app__h2 {
  margin: 32px 0 12px;
  font-size: 20px;
}

.app__h3 {
  margin: 24px 0 8px;
  font-size: 17px;
}

.app__msg {
  margin: 16px 0;
  padding: 12px 16px;
  border-radius: var(--Radius);
  background: var(--OkSoft);
  color: var(--AccentDark);
  font-size: 15px;
}

.app__msg--error {
  background: var(--BadSoft);
  color: var(--Bad);
}

.app__msg--warn {
  background: var(--WarnSoft);
  color: var(--Warn);
}

.app__msg--ok {
  background: var(--OkSoft);
  color: var(--Ok);
}

.app__chart {
  margin: 20px 0 8px;
  padding: 12px 10px 8px;
  border: 1px solid var(--Line);
  border-radius: var(--RadiusLg);
  background: var(--BgCard);
}

.chart-box {
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 8px;
  --ChartDot:4px;
  --ChartRing:6px;
  --ChartLabel:12px;
}

.chart__axis {
  position: relative;
  grid-column: 1;
  grid-row: 1;
  width: calc(var(--ChartAxisChars, 7) * 1ch + 4px);
  color: var(--Muted);
  font-size: var(--ChartLabel);
  font-variant-numeric: tabular-nums;
}

.chart__axis span {
  position: absolute;
  right: 0;
  transform: translateY(-50%);
  white-space: nowrap;
  line-height: 1;
}

.chart__plot {
  position: relative;
  grid-column: 2;
  grid-row: 1;
  min-width: 0;
  container-type: inline-size;
}

.chart__dates {
  display: flex;
  justify-content: space-between;
  grid-column: 2;
  grid-row: 2;
  padding-top: 4px;
  color: var(--Muted);
  font-size: var(--ChartLabel);
  font-variant-numeric: tabular-nums;
}

.chart__unit {
  position: absolute;
  left: 4px;
  top: 0;
  color: var(--Muted);
  font-size: var(--ChartLabel);
  line-height: 1;
}

.chart {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 760/260;
  overflow: visible;
  --ChartCoef:2;
}
@supports (width: calc(tan(atan2(1px, 1px)) * 1px)) {
  .chart {
    --ChartCoef:tan(atan2(760px,100cqw));
  }
}

.chart__grid {
  stroke: var(--LineSoft);
  stroke-width: 1;
  vector-effect: non-scaling-stroke;
}

.chart__mark {
  stroke: var(--Warn);
  stroke-width: 1;
  stroke-dasharray: 3 3;
  vector-effect: non-scaling-stroke;
}

.chart__line {
  fill: none;
  stroke: var(--Ink);
  stroke-width: 2;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}

.chart__line--ghost {
  stroke: var(--Muted);
  stroke-width: 1.5;
  stroke-dasharray: 5 4;
  opacity: 0.8;
}

.chart__bar {
  fill: var(--Bad);
  fill-opacity: 0.22;
  shape-rendering: crispEdges;
}

.chart__dot {
  stroke: var(--BgCard);
  stroke-width: 1.5;
  vector-effect: non-scaling-stroke;
  r: calc(var(--ChartDot) * var(--ChartCoef));
}

.chart__hit {
  fill: transparent;
  cursor: crosshair;
}

.chart__cursor {
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.1s ease;
}

.chart__cursor.is-on {
  opacity: 1;
}

.chart__cross {
  stroke: var(--Muted);
  stroke-width: 1;
  stroke-dasharray: 2 3;
  vector-effect: non-scaling-stroke;
}

.chart__ring {
  fill: var(--BgCard);
  stroke: var(--Ink);
  stroke-width: 2;
  vector-effect: non-scaling-stroke;
  r: calc(var(--ChartRing) * var(--ChartCoef));
}

.chart__tip {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 4;
  transform: translate(-50%, calc(-100% - 12px));
  padding: 8px 11px;
  border-radius: 12px;
  background: var(--BgDeep);
  color: var(--Bg);
  font-family: var(--Font), sans-serif;
  font-size: 12px;
  line-height: 1.35;
  white-space: nowrap;
  box-shadow: var(--ShadowLg);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.12s ease;
}

.chart__tip.is-on {
  opacity: 1;
}

.chart__tip i {
  display: block;
  font-style: normal;
  opacity: 0.62;
}

.chart__tip b {
  display: block;
  font-size: 15px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

.chart__tip u {
  display: block;
  text-decoration: none;
  opacity: 0.62;
}

.chart__tip::after {
  content: "";
  position: absolute;
  left: calc(50% + var(--Arrow, 0px));
  top: 100%;
  width: 10px;
  height: 10px;
  margin: -5px 0 0 -5px;
  border-radius: 2px;
  background: var(--BgDeep);
  transform: rotate(45deg);
}

.chart__tip--below {
  transform: translate(-50%, 12px);
}

.chart__tip--below::after {
  top: 0;
}

.chart__legend {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 18px;
  margin: 10px 0 0;
  padding: 0 8px;
  list-style: none;
  font-size: 13px;
  color: var(--InkSoft);
}

.chart__legend li {
  display: flex;
  align-items: center;
  gap: 6px;
}

.chart__legend__dot {
  width: 10px;
  height: 10px;
  border-radius: 3px;
  flex: 0 0 auto;
}

@media (max-width: 640px) {
  .chart-box {
    --ChartLabel:10px;
  }
  .chart__tip {
    font-size: 11px;
  }
  .chart__tip b {
    font-size: 14px;
  }
}
.app__spark {
  width: 140px;
}

.spark {
  display: block;
  width: 120px;
  height: 28px;
}

.spark path {
  fill: none;
  stroke: var(--AccentInk);
  stroke-width: 1.5;
  stroke-linejoin: round;
}

.app__trend {
  margin-left: 10px;
  font-size: 12px;
  white-space: nowrap;
}

.app__table--items td:first-child {
  max-width: none;
  line-height: 1.4;
}

.app__table--items td.app__num {
  white-space: nowrap;
}

.app__table--items tbody tr:hover {
  background: var(--BgSoft);
}

.app__unparsed {
  margin: 0 0 18px;
  padding: 14px 16px;
  list-style: none;
  max-height: 260px;
  overflow: auto;
  background: var(--BgSoft);
  border: 1px solid var(--Line);
  border-radius: var(--Radius);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 12px;
  line-height: 1.6;
  color: var(--InkSoft);
  white-space: pre;
}

.app__empty {
  margin: 16px 0;
  padding: 20px;
  border: 1px dashed var(--Line);
  border-radius: var(--Radius);
  color: var(--Muted);
}

.app__warn {
  color: var(--Warn);
}

.app__cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: var(--Gap);
  margin: 0 0 8px;
}

.app__card {
  padding: 18px 20px;
  border: 1px solid var(--Line);
  border-radius: var(--RadiusLg);
  background: var(--BgCard);
  box-shadow: var(--Shadow);
}

.app__card span {
  display: block;
  font-size: 13px;
  color: var(--Muted);
}

.app__card b {
  display: block;
  margin-top: 6px;
  font-family: var(--FontHead), sans-serif;
  font-size: 26px;
  font-weight: 800;
  letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums;
}

.app__card--in b {
  color: var(--Ok);
}

.app__card--out b {
  color: var(--Bad);
}

.app__card--total {
  border-color: rgba(11, 113, 86, 0.32);
  background: var(--AccentSoft);
}

.app__card--total b {
  color: var(--AccentInk);
}

.app__facts--kinds {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px 8px;
  margin: 12px 0 0;
  padding: 14px 18px;
  border: 1px solid var(--Line);
  border-radius: var(--RadiusLg);
  background: var(--BgCard);
  font-size: 14px;
}

.app__facts--kinds dt {
  color: var(--Muted);
}

.app__facts--kinds dd {
  margin: 0 18px 0 0;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

.app__small {
  font-size: 12px;
  line-height: 1.35;
}

.dis {
  overflow: hidden;
  border-radius: var(--RadiusLg);
  background: var(--BgCard);
}

.dis__row {
  position: relative;
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 11px 16px;
}

.dis__row + .dis__row::before {
  content: "";
  position: absolute;
  left: 16px;
  right: 0;
  top: 0;
  height: 1px;
  background: var(--LineSoft);
}

.dis__main {
  flex: 1 1 auto;
  min-width: 0;
}

.dis__kind {
  display: block;
  font-size: 12px;
  color: var(--Muted);
}

.dis__what {
  display: block;
  margin: 1px 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dis__sub {
  display: block;
  font-size: 12px;
  color: var(--Muted);
}

.dis__act {
  flex: 0 0 auto;
  margin: 0;
}

.app__table {
  width: 100%;
  border-collapse: collapse;
  background: var(--BgCard);
  border: 1px solid var(--Line);
  border-radius: var(--RadiusLg);
  overflow: hidden;
}

.app__table th {
  padding: 12px 16px;
  text-align: left;
  font-size: 13px;
  font-weight: 600;
  color: var(--Muted);
  background: var(--BgSoft);
  border-bottom: 1px solid var(--Line);
}

.app__table td {
  padding: 12px 16px;
  border-bottom: 1px solid var(--LineSoft);
  vertical-align: top;
}

.app__table tr:last-child td {
  border-bottom: none;
}

.app__table small {
  display: block;
  margin-top: 2px;
  font-size: 13px;
  color: var(--Muted);
}

.app__num {
  text-align: right;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
  font-weight: 600;
}

.app__pos {
  color: var(--Ok);
}

.app__neg {
  color: var(--Bad);
}

.app__tail {
  white-space: nowrap;
  color: var(--Muted);
  font-variant-numeric: tabular-nums;
}

.app__tail--ask {
  color: var(--Warn);
  font-weight: 600;
}

.app__date {
  white-space: nowrap;
  color: var(--Muted);
  font-variant-numeric: tabular-nums;
}

.app__actions {
  text-align: right;
  white-space: nowrap;
}

.app__table--receipts th,
.app__table--receipts td {
  padding: 12px;
}

.app__table--receipts td.app__shop {
  overflow-wrap: anywhere;
}

.app__table--receipts td.app__shop small {
  font-weight: 400;
}

.app__table--receipts th:nth-child(4),
.app__table--receipts td:nth-child(4),
.app__table--receipts th:nth-child(5),
.app__table--receipts td:nth-child(5),
.app__table--receipts th:nth-child(6),
.app__table--receipts td:nth-child(6) {
  white-space: normal;
}

.app__table--receipts th:last-child,
.app__table--receipts td:last-child {
  width: 1%;
  text-align: right;
  white-space: nowrap;
}

.app__date__day {
  display: block;
  color: var(--Ink);
}

.app__date__time,
.app__date__load {
  display: block;
  margin-top: 2px;
  font-size: 12px;
  color: var(--Muted);
}

.app__table--receipts td.app__date .app__muted,
.app__table--receipts td.app__date .app__date__load {
  display: block;
  white-space: normal;
}

.app__table--receipts .app__sum {
  display: block;
  font-variant-numeric: tabular-nums;
}

.app__table--receipts .app__num small {
  white-space: normal;
  font-size: 12px;
}

.app__verdict__tail {
  margin-top: 4px;
}

.app__table--receipts .app__tail {
  white-space: normal;
}

.app__table--receipts td:nth-child(6) .app__link {
  display: block;
}

.app__table--receipts td:nth-child(6) .app__sep {
  display: none;
}

.app__table--receipts td:nth-child(4) .app__small {
  display: block;
  margin-top: 2px;
}

.app__actions select,
.app__actions .pick {
  max-width: 210px;
  margin-left: auto;
  text-align: left;
  text-align-last: left;
}

.app__actions select option {
  text-align: left;
}

#mb .app .app__actions select,
#mb .app .app__actions .pick__input {
  min-height: 0;
  padding: 6px 10px;
  border-radius: 8px;
  font-size: 13px;
  color: var(--InkSoft);
}

#mb .app .app__actions .pick__input {
  padding-right: 34px;
}

.app__row--off td {
  opacity: 0.5;
}

.app__table--tx td:first-child {
  width: 1%;
}

.app__table--tx .app__actions {
  width: 210px;
}

.app__table--tx .app__actions select,
.app__table--tx .app__actions .pick {
  width: 100%;
  max-width: none;
}

.app__table--tx td:not([class]) {
  overflow-wrap: anywhere;
}

.app__stmts {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(380px, 1fr));
  gap: var(--Gap);
  margin: 0 0 8px;
}

@media (max-width: 460px) {
  .app__stmts {
    grid-template-columns: 1fr;
  }
}
.app__stmt {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 18px 20px;
  border: 1px solid var(--Line);
  border-radius: var(--RadiusLg);
  background: var(--BgCard);
  box-shadow: var(--Shadow);
}

.app__stmt__head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
}

.app__stmt__acc {
  font-family: var(--FontHead), sans-serif;
  font-size: 17px;
  font-weight: 700;
  letter-spacing: -0.01em;
}

.app__stmt__mark {
  font-size: 13px;
  font-weight: 600;
  white-space: nowrap;
}

.app__stmt__meta {
  margin: 0;
  font-size: 13px;
  line-height: 1.5;
  color: var(--Muted);
}
.app__stmt__meta .app__link {
  font-size: inherit;
}

.app__stmt__absorbed {
  margin: 6px 0 0;
  font-size: 13px;
  line-height: 1.5;
  color: var(--Muted);
}

.app__stmt__nums {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 26px;
  margin: 0;
  padding: 12px 0 0;
  border-top: 1px solid var(--LineSoft);
}

.app__stmt__nums dt {
  font-size: 12px;
  color: var(--Muted);
}

.app__stmt__nums dd {
  margin: 2px 0 0;
  font-size: 16px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

.app__stmt__more {
  padding-top: 12px;
  border-top: 1px solid var(--LineSoft);
}

.app__stmt__toggle {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  width: fit-content;
  padding: 4px 2px;
  color: var(--InkSoft);
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  list-style: none;
  user-select: none;
}

.app__stmt__toggle::-webkit-details-marker {
  display: none;
}

.app__stmt__toggle:hover {
  color: var(--Ink);
}

.app__stmt__toggle::before {
  content: "";
  width: 7px;
  height: 7px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(-45deg);
  transition: transform 0.16s ease;
}

.app__stmt__more[open] .app__stmt__toggle::before {
  transform: rotate(45deg);
}

.app__stmt__form {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin: 12px 0 0;
}

#mb .app .app__stmt__form select {
  flex: 1 1 180px;
  min-width: 0;
  min-height: 0;
  width: auto;
  padding: 8px 34px 8px 12px;
  border-radius: 8px;
  font-size: 14px;
}

.app__stmt__del {
  margin-left: 6px;
  white-space: nowrap;
}

.app__btn--small {
  padding: 8px 16px;
  font-size: 14px;
}

.app__form {
  margin: 20px 0;
  padding: 24px;
  border: 1px solid var(--Line);
  border-radius: var(--RadiusLg);
  background: var(--BgCard);
}

.app__row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 0 var(--Gap);
}

.app__field--check {
  display: flex;
  align-items: center;
  gap: 8px;
}

.app__field--check span {
  margin: 0;
}

.app__filters {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 0 var(--Gap);
  align-items: end;
  margin: 0 0 8px;
  padding: 16px 20px;
  border: 1px solid var(--Line);
  border-radius: var(--RadiusLg);
  background: var(--BgCard);
}

.app__filters .app__btn {
  margin-bottom: 16px;
}

.app__filters--period {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 12px 28px;
  margin: 12px 0 16px;
}

.app__filters--period[hidden],
.app__range__pair[hidden] {
  display: none;
}

.app__range {
  display: flex;
  flex-wrap: wrap;
  gap: 0 12px;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
  flex: 1 1 300px;
}

.app__range legend {
  margin: 0 0 8px;
  padding: 0;
  font-size: 13px;
  font-weight: 600;
  color: var(--InkSoft);
}

.app__range .app__field {
  flex: 1 1 140px;
  min-width: 0;
}

.app__range .app__field:has(select) {
  flex: 1 1 100%;
}

.app__range__pair {
  display: flex;
  flex-wrap: wrap;
  gap: 0 12px;
  flex: 1 1 100%;
}

.app__range .app__hint {
  flex: 1 1 100%;
  margin: 0 0 12px;
}

.app__range__acts {
  display: flex;
  align-items: center;
  gap: 16px;
  flex: 1 1 100%;
}

.app__range__acts .app__btn {
  margin-bottom: 0;
}

.app__filters--period input[type=date] {
  width: 100%;
  min-width: 0;
}

.app__toggle {
  display: inline-flex;
  padding: 4px;
  margin: 0 0 20px;
  border-radius: 999px;
  background: var(--BgSoft);
  border: 1px solid var(--Line);
}

.app__toggle input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.app__toggle label {
  display: inline-block;
  padding: 8px 22px;
  border-radius: 999px;
  cursor: pointer;
  font-weight: 600;
  font-size: 15px;
  color: var(--Muted);
  user-select: none;
  transition: background 0.16s ease, color 0.16s ease;
}

.app__toggle input:checked + label {
  background: var(--Bg);
  color: var(--Ink);
  box-shadow: var(--Shadow);
}

.app__toggle input:focus-visible + label {
  outline: 2px solid var(--Accent);
  outline-offset: 2px;
}

.app__form .app__btn,
.app__form .app__btn + .app__link {
  vertical-align: middle;
}

.app__form .app__btn {
  margin-right: 12px;
}

.app__pager {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 20px 0;
}

.app__page {
  min-width: 36px;
  padding: 6px 10px;
  text-align: center;
  border: 1px solid var(--Line);
  border-radius: 8px;
  color: var(--InkSoft);
  font-variant-numeric: tabular-nums;
}

.app__page:hover {
  background: var(--BgSoft);
  text-decoration: none;
}

.app__page--cur {
  background: var(--Ink);
  border-color: var(--Ink);
  color: #FFF;
}

.app__page--gap {
  min-width: 0;
  padding: 6px 2px;
  border-color: transparent;
  color: var(--Muted);
}

.app__page--off {
  border-color: var(--LineSoft);
  color: var(--Line);
  cursor: default;
}

.app__jump {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 10px;
  margin: -8px 0 20px;
}

.app__jump-f {
  flex: 0 1 220px;
  margin: 0;
}

.app__jump-s {
  width: 100%;
}

.app__muted {
  color: var(--InkSoft);
}

.app__ok,
.app__bad {
  margin: 12px 0 24px;
  padding: 12px 14px;
  border-radius: 10px;
  line-height: 1.5;
}

.app__ok {
  background: rgba(34, 150, 83, 0.1);
  color: #1B7A45;
}

.app__bad {
  background: rgba(200, 50, 50, 0.1);
  color: #A32B2B;
}

.app__bad .app__link {
  color: inherit;
  text-decoration: underline;
}

.app__link--act {
  color: var(--AccentInk);
  text-decoration: underline;
  white-space: nowrap;
}

.app__check-cell {
  width: 36px;
}

.app__check-cell input {
  width: 17px;
  height: 17px;
}

.app__bulkbar {
  position: sticky;
  bottom: 0;
  z-index: 5;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin-top: 12px;
  padding: 12px 14px;
  background: var(--Bg);
  border: 1px solid var(--Line);
  border-radius: 12px;
  box-shadow: var(--Shadow);
}

.app__bulkbar__count {
  color: var(--InkSoft);
}

.app__bulkbar__count b {
  color: var(--Ink);
  font-variant-numeric: tabular-nums;
}

.app__bulkbar select,
.app__bulkbar .pick {
  min-width: 200px;
}

.app__bulkbar .app__check {
  margin: 0;
}

.app__bulkbar .app__btn {
  min-height: 46px;
}

.app__check {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--InkSoft);
}

.app__check input {
  width: 16px;
  height: 16px;
}

.app__badge {
  display: inline-block;
  min-width: 18px;
  margin-left: 6px;
  padding: 1px 6px;
  background: #C8322E;
  border-radius: 9px;
  color: #FFF;
  font-size: 11px;
  font-weight: 600;
  line-height: 16px;
  vertical-align: middle;
}

.app__tabs--sub {
  flex-wrap: wrap;
}

.app__task {
  max-width: 640px;
  padding: 24px;
  background: var(--Bg);
  border: 1px solid var(--Line);
  border-radius: 16px;
  box-shadow: var(--Shadow);
}

.app__task__head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 20px;
  color: var(--InkSoft);
  font-size: 13px;
}

.app__task__kind {
  font-weight: 600;
  color: var(--Ink);
}

.app__task__amount {
  margin: 0 0 8px;
  font-size: 34px;
  font-weight: 600;
  line-height: 1.1;
}

.app__task__what {
  margin: 0 0 6px;
  font-size: 17px;
  line-height: 1.4;
}

.app__task__meta {
  margin: 0;
  color: var(--InkSoft);
  font-size: 13px;
}

.app__task__payload {
  margin: 12px 0 0;
  font-size: 14px;
}

.app__task__payload dt {
  color: var(--InkSoft);
  font-size: 12px;
}

.app__task__payload dd {
  margin: 0 0 8px;
}

.app__task__form {
  margin-top: 24px;
}

.app__task__hints {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 16px;
}

.app__btn--hint {
  padding: 10px 16px;
  background: var(--BgSoft);
  border: 1px solid var(--Line);
  font-size: 15px;
}

.app__btn--hint:hover {
  background: var(--Bg);
  border-color: var(--Ink);
}

.app__btn--part {
  border-color: rgba(180, 83, 9, 0.4);
  color: var(--Warn);
  white-space: normal;
  text-align: left;
}

.app__btn--part:hover {
  background: var(--WarnSoft);
  border-color: var(--Warn);
}

.app__task__pick {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.app__task__pick select,
.app__task__pick .pick {
  flex: 1 1 240px;
}

#mb .app select,
#mb .app .pick__input {
  min-height: 46px;
  padding: 12px 14px;
  border: 1px solid var(--Line);
  border-radius: var(--Radius);
  background: var(--Bg);
  color: var(--Ink);
  font-family: var(--Font), sans-serif;
  font-size: 15px;
}

#mb .app select:focus,
#mb .app .pick__input:focus {
  outline: 0;
  border-color: var(--Accent);
  box-shadow: 0 0 0 3px var(--AccentSoft);
}

.pick {
  position: relative;
  display: block;
}

.pick__input {
  display: block;
  width: 100%;
  cursor: pointer;
  text-overflow: ellipsis;
}

.pick--open .pick__input {
  cursor: text;
}

.pick__native {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  min-height: 0;
  margin: 0;
  padding: 0;
  border: 0;
  opacity: 0;
  pointer-events: none;
}

#mb .app .pick__input {
  padding-right: 34px;
}

.pick::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 15px;
  width: 8px;
  height: 8px;
  margin-top: -6px;
  border-right: 2px solid var(--Muted);
  border-bottom: 2px solid var(--Muted);
  transform: rotate(45deg);
  pointer-events: none;
  transition: transform 0.16s ease, margin-top 0.16s ease;
}

.pick--open::after {
  margin-top: -2px;
  transform: rotate(225deg);
}

.pick__drop {
  position: fixed;
  z-index: 400;
  max-height: 284px;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 6px;
  border: 1px solid var(--Line);
  border-radius: var(--Radius);
  background: var(--BgCard);
  box-shadow: var(--ShadowLg);
}

.pick__opt {
  padding: 8px 10px;
  border-radius: 8px;
  font-size: 15px;
  line-height: 1.35;
  color: var(--Ink);
  cursor: pointer;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.pick__opt--cur {
  font-weight: 700;
}

.pick__opt--on {
  background: var(--AccentSoft);
  color: var(--AccentInk);
}

.pick__opt:hover {
  background: var(--LineSoft);
}

.pick__opt--on:hover {
  background: var(--AccentSoft);
}

.pick__hit {
  background: var(--WarnSoft);
  color: var(--Warn);
  border-radius: 3px;
}

.pick__parent {
  color: var(--Muted);
  white-space: nowrap;
}

.pick__empty {
  padding: 8px 10px;
  font-size: 14px;
  color: var(--Muted);
}

.app__field input[type=file] {
  width: 100%;
  padding: 0;
  border: 0;
  background: none;
  color: var(--InkSoft);
  font-family: var(--Font), sans-serif;
  font-size: 15px;
  line-height: 46px;
}

.app__field input[type=file]::file-selector-button {
  margin-right: 12px;
  padding: 12px 18px;
  border: 1px solid var(--Line);
  border-radius: 999px;
  background: var(--Bg);
  color: var(--Ink);
  font-family: var(--Font), sans-serif;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
}

.app__field input[type=file]::file-selector-button:hover {
  background: var(--BgSoft);
  border-color: var(--Ink);
}

.app__task__form > .app__btn,
.app__task__form > .app__link {
  margin-right: 12px;
}

.app__task__form .app__check {
  margin-top: 14px;
}

.app__task__skip {
  margin-top: 20px;
}

.app__task__skip .app__link {
  background: none;
  border: 0;
  padding: 0;
  cursor: pointer;
  font: inherit;
}

.app__table--health td:first-child {
  max-width: 520px;
}

.app__table--health small {
  display: block;
  margin-top: 4px;
  color: var(--InkSoft);
  line-height: 1.45;
}

.app__table--health .app__num {
  white-space: nowrap;
}

.app__table--health .app__num div {
  margin-top: 6px;
  font-size: 13px;
}

.app__row--bad td:first-child {
  border-left: 3px solid #C8322E;
  padding-left: 13px;
}

.app__rowlink {
  color: inherit;
}

.app__rowlink:hover {
  color: var(--Ink);
}

.app__card--tx {
  max-width: 680px;
  padding: 24px;
  background: var(--Bg);
  border: 1px solid var(--Line);
  border-radius: 16px;
  box-shadow: var(--Shadow);
}

.app__facts {
  display: grid;
  grid-template-columns: 180px 1fr;
  gap: 10px 16px;
  margin: 24px 0 0;
  font-size: 15px;
}

.app__facts dt {
  color: var(--InkSoft);
}

.app__facts + .app__tabs {
  margin-top: 20px;
}

.app__facts dd {
  margin: 0;
}

.app__facts small {
  color: var(--InkSoft);
}

.app__task__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 24px;
}

.app__btn--danger {
  color: #A32B2B;
  border-color: rgba(200, 50, 50, 0.35);
}

.app__btn--danger:hover {
  background: rgba(200, 50, 50, 0.08);
  border-color: #C8322E;
}

.app__similar {
  margin: 12px 0 0;
  padding-left: 18px;
  font-size: 14px;
}

.app__similar li {
  margin-bottom: 4px;
  color: var(--InkSoft);
}

.app__history {
  margin: 12px 0 0;
  padding: 0;
  list-style: none;
  font-size: 14px;
}

.app__history li {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 12px;
  padding: 8px 0;
  border-top: 1px solid var(--Line);
}

.app__history__at {
  color: var(--InkSoft);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.app__history__who {
  color: var(--InkSoft);
}

.app__history__what {
  flex: 1 1 240px;
}

.rec {
  margin: 0 0 28px;
  padding: 20px 22px 22px;
  border: 1px solid var(--Line);
  border-radius: var(--RadiusLg);
  background: var(--BgCard);
  box-shadow: var(--Shadow);
}

.rec__why {
  margin: 0 0 20px;
}

.rec__why p {
  margin: 8px 0 0;
  max-width: 78ch;
}

.rec__head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px 14px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--LineSoft);
}

.rec__cur {
  padding: 3px 9px;
  border-radius: 6px;
  background: var(--BgSoft);
  color: var(--InkSoft);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.rec__verdict {
  font-family: var(--FontHead), sans-serif;
  font-size: 26px;
  font-weight: 700;
  letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums;
}

.rec__verdict--ok {
  color: var(--AccentInk);
}

.rec__verdict--bad {
  color: var(--Bad);
}

.rec__verdict--none {
  color: var(--Warn);
  font-size: 22px;
}

.rec__as {
  color: var(--Muted);
  font-size: 14px;
  font-variant-numeric: tabular-nums;
}

.rec__says {
  flex: 1 0 100%;
  margin: 6px 0 0;
  max-width: 78ch;
  color: var(--Ink);
  font-size: 15px;
  line-height: 1.5;
}

.rec__note {
  margin: 0 0 8px;
  padding: 14px 16px;
  border: 1px solid var(--Line);
  border-radius: 12px;
  background: var(--BgSoft);
  line-height: 1.5;
}

.rec__note--ok {
  border-color: rgba(11, 113, 86, 0.28);
  background: var(--AccentSoft);
}

.rec__note--warn {
  border-color: rgba(180, 83, 9, 0.32);
  background: var(--WarnSoft);
}

.rec__note__t {
  display: block;
  font-weight: 700;
  font-size: 15px;
}

.rec__note__text {
  margin: 6px 0 0;
  max-width: 78ch;
}

.rec__note__fact {
  display: flex;
  align-items: baseline;
  gap: 10px;
}

.rec__note__t + .rec__note__text {
  margin-top: 4px;
}

.rec__note__n {
  display: inline;
}

.rec__note__v {
  font-size: 22px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  color: var(--Warn);
}

.rec__gaps {
  margin: 10px 0 0;
  padding: 0;
  list-style: none;
}

.rec__gap {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px 12px;
  padding: 7px 0;
  border-top: 1px solid rgba(180, 83, 9, 0.2);
}

.rec__gap__at {
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}

.rec__gap__len {
  color: var(--InkSoft);
  font-size: 13px;
}

.rec__cands {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr));
  gap: 12px;
}

.rec__cand {
  padding: 14px 16px;
  border: 1px solid var(--LineSoft);
  border-radius: 12px;
  background: var(--Bg);
}

.rec__cand--full {
  border-color: rgba(11, 113, 86, 0.4);
  background: var(--AccentSoft);
}

.rec__cand__head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 4px 12px;
}

.rec__cand__t {
  flex: 1 1 180px;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.35;
}

.rec__cand__v {
  font-size: 19px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.rec__cand__v--none {
  color: var(--Muted);
  font-size: 14px;
  font-weight: 600;
}

.rec__cand__full {
  padding: 2px 9px;
  border-radius: 999px;
  background: var(--Accent);
  color: #FFF;
  font-size: 12px;
  font-weight: 700;
}

.rec__cand__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 2px 14px;
  margin: 6px 0 0;
}

.rec__cand__m {
  color: var(--InkSoft);
  font-size: 13px;
  font-variant-numeric: tabular-nums;
}

.rec__cand__d {
  margin: 8px 0 0;
  color: var(--Ink);
  font-size: 13px;
  line-height: 1.5;
}

.rec__cand__h {
  margin: 6px 0 0;
  color: var(--InkSoft);
  font-size: 13px;
  line-height: 1.5;
}

.rec__facts {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr));
  gap: 12px;
}

.rec__fact {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 12px 14px;
  border: 1px solid var(--LineSoft);
  border-radius: 12px;
  background: var(--Bg);
}

.rec__fact__t {
  color: var(--Muted);
  font-size: 12px;
  line-height: 1.35;
}

.rec__fact__b {
  font-size: 19px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.01em;
}

.rec__fact__h {
  color: var(--InkSoft);
  font-size: 12px;
  line-height: 1.45;
}

.rec__fact--result {
  border-color: rgba(194, 43, 43, 0.32);
  background: var(--BadSoft);
}

.rec__fact--ok {
  border-color: rgba(11, 113, 86, 0.32);
  background: var(--AccentSoft);
}

.rec__fact--ok .rec__fact__v {
  color: var(--AccentInk);
}

.rec__fact--neg .rec__fact__v {
  color: var(--Bad);
}

.rec__points {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(340px, 100%), 1fr));
  gap: 12px;
}

.rec__point {
  padding: 14px 16px;
  border: 1px solid var(--LineSoft);
  border-radius: 12px;
  background: var(--Bg);
}

.rec__point--bad {
  border-color: rgba(194, 43, 43, 0.28);
}

.rec__point__head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--LineSoft);
}

.rec__point__at {
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.rec__point__src {
  color: var(--InkSoft);
  font-size: 13px;
}

.rec__point__flag {
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}

.rec__point__flag--ok {
  background: var(--AccentSoft);
  color: var(--AccentInk);
}

.rec__point__flag--bad {
  background: var(--BadSoft);
  color: var(--Bad);
}

.rec__point__flag--done {
  background: var(--BgSoft);
  color: var(--InkSoft);
}

.rec__point__nums {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(140px, 100%), 1fr));
  gap: 10px 14px;
  margin: 12px 0 0;
}

.rec__point__t {
  display: block;
  color: var(--Muted);
  font-size: 12px;
  line-height: 1.3;
}

.rec__point__b {
  margin-top: 2px;
}

.rec__point__v {
  font-size: 16px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

.rec__point__fact--sum {
  grid-column: 1/-1;
  padding-top: 10px;
  border-top: 1px solid var(--LineSoft);
}

.rec__point__fact--sum .rec__point__v {
  font-size: 19px;
}

.rec__point__mark {
  margin: 10px 0 0;
  color: var(--InkSoft);
  font-size: 12px;
  line-height: 1.45;
}

.rec__acts {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.rec__act {
  padding: 16px 18px;
  border: 1px solid var(--Line);
  border-radius: 14px;
  background: var(--Bg);
}

.rec__act--main {
  border-color: rgba(11, 113, 86, 0.4);
  background: var(--AccentSoft);
}

.rec__act--danger {
  border-color: rgba(194, 43, 43, 0.32);
  background: var(--BadSoft);
}

.rec__act--fold {
  padding: 14px 18px;
}

.rec__act__title {
  margin: 0 0 6px;
  font-size: 17px;
}

.rec__act__text {
  margin: 0 0 12px;
  max-width: 78ch;
  color: var(--InkSoft);
  line-height: 1.5;
}

.rec__act__facts {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(180px, 100%), 1fr));
  gap: 12px;
  margin: 0 0 14px;
}

.rec__act__t {
  display: block;
  color: var(--Muted);
  font-size: 12px;
}

.rec__act__b {
  margin-top: 2px;
}

.rec__act__v {
  font-size: 19px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

.rec__act__v--new {
  color: var(--AccentInk);
}

.rec__form .app__field {
  max-width: 460px;
}

.rec__form {
  margin: 0;
}

.rec__by {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 4px 12px;
  margin: 0 0 14px;
  font-size: 13px;
}

.rec__by dt {
  color: var(--Muted);
}

.rec__by dd {
  margin: 0;
}

.rec__by__v {
  font-weight: 600;
}

.rec__fold {
  margin: 0;
}

.rec__fold > *:not(summary) {
  margin-top: 10px;
}

.rec__log {
  display: flex;
  flex-direction: column;
}

.rec__log__row {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px 14px;
  padding: 10px 0;
  border-top: 1px solid var(--LineSoft);
  font-size: 14px;
}

.rec__log__at {
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  font-weight: 600;
}

.rec__log__src {
  color: var(--InkSoft);
}

.rec__log__fact {
  display: flex;
  align-items: baseline;
  gap: 6px;
}

.rec__log__t {
  color: var(--Muted);
  font-size: 12px;
}

.rec__log__b {
  display: inline;
}

.rec__log__v {
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.rec__log__flag {
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}

.rec__log__flag--ok {
  background: var(--AccentSoft);
  color: var(--AccentInk);
}

.rec__log__flag--bad {
  background: var(--BadSoft);
  color: var(--Bad);
}

.rec__log__flag--done {
  background: var(--BgSoft);
  color: var(--InkSoft);
}

.rec__log__note {
  flex: 1 1 200px;
  color: var(--InkSoft);
}

.rec__log__form {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  flex: 1 1 260px;
}

.rec__log__form input[type=text] {
  flex: 1 1 160px;
  min-width: 0;
  padding: 7px 10px;
  border: 1px solid var(--Line);
  border-radius: 8px;
  font-size: 13px;
}

.acc__list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(340px, 100%), 1fr));
  gap: 14px;
}

.acc {
  padding: 16px 18px 14px;
  border: 1px solid var(--Line);
  border-radius: var(--RadiusLg);
  background: var(--BgCard);
  box-shadow: var(--Shadow);
}

.acc--off {
  opacity: 0.55;
}

.acc__head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px 10px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--LineSoft);
}

.acc__title {
  font-family: var(--FontHead), sans-serif;
  font-size: 18px;
  font-weight: 700;
}

.acc__kind {
  flex: 1 0 100%;
  color: var(--Muted);
  font-size: 13px;
}

.acc__flag {
  margin-top: 4px;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
}

.acc__flag--ok {
  background: var(--AccentSoft);
  color: var(--AccentInk);
}

.acc__flag--ok:hover {
  background: var(--AccentSoft);
  text-decoration: underline;
}

.acc__flag--bad {
  background: var(--BadSoft);
  color: var(--Bad);
}

.acc__flag--bad:hover {
  background: var(--BadSoft);
  text-decoration: underline;
}

.acc__flag--none {
  background: var(--BgSoft);
  color: var(--InkSoft);
}

.acc__flag--none:hover {
  background: var(--BgSoft);
  text-decoration: underline;
}

.acc__nums {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(150px, 100%), 1fr));
  gap: 12px 16px;
  margin: 12px 0 0;
}

.acc__t {
  display: block;
  color: var(--Muted);
  font-size: 12px;
  line-height: 1.3;
}

.acc__b {
  margin-top: 2px;
}

.acc__v {
  font-size: 18px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

.acc__h {
  display: block;
  margin-top: 2px;
  color: var(--InkSoft);
  font-size: 12px;
  line-height: 1.4;
}

.acc__acts {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 14px;
  margin: 14px 0 0;
  padding-top: 12px;
  border-top: 1px solid var(--LineSoft);
}

.app__fig__label {
  display: block;
  font-size: 13px;
  line-height: 1.3;
  color: var(--Muted);
}

.app__fig__value {
  display: block;
  margin-top: 4px;
  font-family: var(--FontHead), sans-serif;
  font-weight: 800;
  letter-spacing: -0.01em;
  font-variant-numeric: tabular-nums;
  overflow-wrap: break-word;
}

.app__fig__hint {
  display: block;
  margin-top: 6px;
  font-size: 12px;
  line-height: 1.35;
  color: var(--Muted);
}

.app__card.app__fig .app__fig__value {
  font-size: clamp(20px, 2vw, 26px);
  margin-top: 6px;
}

.app__fig--inline .app__fig__value {
  font-size: 18px;
}

.app__figs {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 14px 20px;
}

.app__figs--dense {
  grid-template-columns: repeat(auto-fit, minmax(132px, 1fr));
  gap: 12px 16px;
}

.app__figs--dense .app__fig__value {
  font-size: 16px;
}

.app__calc {
  display: grid;
  gap: 1px;
  margin: 0 0 14px;
  background: var(--Line);
  border: 1px solid var(--Line);
  border-radius: var(--RadiusLg);
  overflow: hidden;
}

.app__calc__row {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 2px 16px;
  padding: 12px 18px;
  background: var(--BgCard);
}

.app__calc__what {
  flex: 1 1 220px;
  min-width: 0;
}

.app__calc__name {
  display: block;
}

.app__calc__hint {
  display: block;
  margin-top: 2px;
  font-size: 12px;
  line-height: 1.35;
  color: var(--Muted);
}

.app__calc__sum {
  flex: 0 0 auto;
  font-size: 17px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.app__calc__row--total {
  background: var(--BgSoft);
}

.app__calc__row--total .app__calc__name {
  font-weight: 700;
}

.app__calc__row--fact {
  background: var(--AccentSoft);
}

.app__calc__row--fact .app__calc__name {
  font-weight: 700;
}

.app__calc__row--fact .app__calc__sum {
  color: var(--AccentInk);
}

.app__report {
  display: grid;
  gap: var(--Gap);
}

.app__cat {
  padding: 16px 20px 18px;
  border: 1px solid var(--Line);
  border-radius: var(--RadiusLg);
  background: var(--BgCard);
  box-shadow: var(--Shadow);
}

.app__cat__head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 2px 12px;
  margin-bottom: 12px;
}

.app__cat__title {
  font-family: var(--FontHead), sans-serif;
  font-size: 18px;
  font-weight: 700;
  color: var(--Ink);
}

a.app__cat__title {
  color: var(--Ink);
}

a.app__cat__title:hover {
  color: var(--AccentInk);
}

.app__cat__head .app__trend {
  margin-left: 0;
}

.app__cat--total {
  border-color: rgba(11, 113, 86, 0.32);
  background: var(--AccentSoft);
}

.app__cat--total .app__cat__title {
  color: var(--AccentInk);
}

.app__cat__kids {
  display: grid;
  gap: 10px;
  margin-top: 12px;
}

.app__cat__more {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid var(--LineSoft);
}

.app__cat__toggle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  list-style: none;
  font-size: 14px;
  color: var(--AccentInk);
}

.app__cat__toggle::-webkit-details-marker {
  display: none;
}

.app__cat__toggle:hover {
  color: var(--Ink);
}

.app__cat__toggle::before {
  content: "";
  width: 7px;
  height: 7px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(-45deg);
  transition: transform 0.15s;
}

.app__cat__more[open] .app__cat__toggle::before {
  transform: rotate(45deg);
}

.app__cat--sub {
  padding: 12px 14px;
  border-radius: var(--Radius);
  background: var(--BgSoft);
  box-shadow: none;
}

.app__cat--sub .app__cat__head {
  margin-bottom: 8px;
}

.app__cat--sub .app__cat__title {
  font-size: 15px;
}

.app__cat--sub .app__fig__value {
  font-size: 16px;
}

.app__export {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.app__export__label {
  font-size: 13px;
  color: var(--Muted);
}

@media (max-width: 640px) {
  #mb .app {
    --AppPad:14px;
    padding-bottom: 28px;
  }
  .app__table {
    display: block;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
  }
  .app__table th,
  .app__table td {
    padding: 10px 12px;
  }
  .app__table--tx td,
  .app__table--wrap td,
  .app__table--health td,
  .app__table--items td {
    white-space: normal;
  }
  .app__table td.app__num,
  .app__table td.app__date {
    white-space: nowrap;
  }
  .app__table td .app__origin {
    white-space: normal;
  }
  .app__table--wrap td:first-child {
    overflow-wrap: anywhere;
  }
  .app__table--tx {
    display: table;
    overflow: visible;
  }
  .app__table--tx .app__actions {
    display: none;
  }
  .app__table--tx tbody tr {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 2px 10px;
    padding: 12px 14px;
    border-bottom: 1px solid var(--LineSoft);
  }
  .app__table--tx tbody tr:last-child {
    border-bottom: 0;
  }
  .app__table--tx tbody td {
    padding: 0;
    border: 0;
  }
  .app__table--tx .app__check-cell {
    order: 1;
    width: auto;
  }
  .app__table--tx .app__date {
    order: 2;
    font-size: 13px;
  }
  .app__table--tx .app__num {
    order: 3;
    margin-left: auto;
  }
  .app__table--tx tbody td:not([class]) {
    order: 4;
    flex: 1 0 100%;
  }
  .app__table--tx thead tr {
    display: flex;
    padding: 10px 14px;
  }
  .app__table--tx thead th {
    padding: 0;
    border: 0;
  }
  .app__table--tx thead th[colspan] {
    display: none;
  }
  .app__card b {
    font-size: 22px;
  }
  .app__bulkbar {
    flex-direction: column;
    align-items: stretch;
  }
  .app__bulkbar select,
  .app__bulkbar .pick {
    min-width: 0;
    width: 100%;
  }
  .app__task {
    padding: 18px;
    border-radius: 12px;
  }
  .app__task__amount {
    font-size: 28px;
  }
  .app__task__pick {
    flex-direction: column;
    align-items: stretch;
  }
  .app__task__pick select,
  .app__task__pick .pick,
  .app__task__pick .app__btn {
    width: 100%;
  }
  .app__task__pick select,
  .app__task__pick .pick {
    flex: 0 0 auto;
  }
  .acc {
    padding: 14px 14px 12px;
    border-radius: 14px;
  }
  .acc__title {
    font-size: 17px;
  }
  .acc__nums {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .acc__acts {
    gap: 10px;
  }
  .acc__acts .app__btn {
    width: 100%;
  }
  .app__table--health td:first-child {
    max-width: none;
  }
  .app__card--tx {
    padding: 18px;
    border-radius: 12px;
  }
  .app__facts {
    grid-template-columns: 1fr;
    gap: 2px 0;
  }
  .app__facts dt {
    margin-top: 10px;
    font-size: 13px;
  }
  .app__task__actions form,
  .app__task__actions .app__btn {
    width: 100%;
  }
  .rec {
    padding: 16px 16px 18px;
    border-radius: 14px;
  }
  .rec__verdict {
    font-size: 22px;
  }
  .rec__verdict--none {
    font-size: 19px;
  }
  .rec__act {
    padding: 14px;
    border-radius: 12px;
  }
  .rec__point {
    padding: 12px 14px;
  }
  .rec__point__nums {
    grid-template-columns: 1fr;
  }
  .rec__by {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .rec__by dt {
    margin-top: 8px;
  }
  .rec__log__form {
    flex: 1 0 100%;
  }
  .rec__log__form .app__btn {
    width: 100%;
  }
  .app__figs {
    grid-template-columns: repeat(auto-fit, minmax(132px, 1fr));
    gap: 12px 14px;
  }
  .app__figs--dense {
    grid-template-columns: repeat(auto-fit, minmax(116px, 1fr));
    gap: 10px 12px;
  }
  .app__fig--inline .app__fig__value {
    font-size: 16px;
  }
  .app__card.app__fig .app__fig__value {
    font-size: 23px;
  }
  .app__cat {
    padding: 14px 14px 16px;
    border-radius: 14px;
  }
  .app__cat--sub {
    padding: 12px;
  }
  .app__cat__title {
    font-size: 16px;
  }
  .app__calc__row {
    display: block;
    padding: 12px 14px;
  }
  .app__calc__sum {
    display: block;
    margin-top: 4px;
    font-size: 19px;
  }
  .app__export {
    width: 100%;
  }
  .app__table--items,
  .app__table--items tbody,
  .app__table--items tr {
    display: block;
    overflow: visible;
  }
  .app__table--items thead {
    display: none;
  }
  .app__table--items tr {
    padding: 10px 14px;
    border-bottom: 1px solid var(--LineSoft);
  }
  .app__table--items tr:last-child {
    border-bottom: none;
  }
  .app__table--items td {
    display: inline-block;
    padding: 0;
    border: none;
    vertical-align: baseline;
  }
  .app__table--items td:first-child {
    display: block;
    margin-bottom: 6px;
    font-weight: 600;
    line-height: 1.35;
  }
  .app__table--items td[data-l] {
    margin-right: 16px;
    text-align: left;
  }
  .app__table--items td[data-l]:last-child {
    margin-right: 0;
  }
  .app__table--items td[data-l]::before {
    content: attr(data-l) ": ";
    font-weight: 400;
    font-size: 12px;
    color: var(--Muted);
  }
}
@media (max-width: 800px) {
  .app__table--receipts {
    display: block;
    border: 0;
    background: none;
  }
  .app__table--receipts thead {
    display: none;
  }
  .app__table--receipts tbody {
    display: block;
  }
  .app__table--receipts tbody tr {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 4px 12px;
    margin-bottom: 12px;
    padding: 14px;
    background: var(--BgCard);
    border: 1px solid var(--Line);
    border-radius: var(--RadiusLg);
  }
  .app__table--receipts tbody td {
    display: block;
    padding: 0;
    border: 0;
    grid-column: 1/-1;
  }
  .app__table--receipts td.app__date {
    grid-column: 1;
    grid-row: 1;
  }
  .app__table--receipts td.app__num {
    grid-column: 2;
    grid-row: 1;
    text-align: right;
  }
  .app__table--receipts td.app__date .app__date__day {
    display: inline;
  }
  .app__table--receipts td.app__date .app__date__time {
    display: inline;
    margin-left: 6px;
  }
  .app__table--receipts td.app__shop {
    font-weight: 600;
    color: var(--Ink);
  }
  .app__table--receipts td:nth-child(6) .app__link {
    display: inline;
  }
  .app__table--receipts td:nth-child(6) .app__sep {
    display: inline;
  }
  .app__table--receipts tbody td:last-child {
    width: auto;
    margin-top: 6px;
    padding-top: 10px;
    border-top: 1px solid var(--LineSoft);
    text-align: right;
  }
}
.app__table--robots td:first-child small {
  display: block;
}

.app__inline {
  display: inline-block;
}

.app__row--out td {
  padding-top: 0;
}

.app__row--out summary {
  cursor: pointer;
  font-size: 13px;
  color: var(--InkSoft);
}

.app__out {
  margin: 8px 0 0;
  padding: 10px 12px;
  max-height: 280px;
  overflow-y: auto;
  border-radius: var(--Radius, 10px);
  background: var(--Fill, #F2F2F7);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 12px;
  line-height: 1.5;
  white-space: pre-wrap;
  word-break: break-word;
}

.app__link--drop {
  display: inline-block;
  margin-top: 8px;
  color: var(--Neg, #C0392B);
  opacity: 0.75;
}

.app__link--drop:hover {
  opacity: 1;
  text-decoration: underline;
}

body.shell {
  --Font:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Inter",
  	"Segoe UI", system-ui, sans-serif;
  --FontHead:-apple-system, BlinkMacSystemFont, "SF Pro Display", "Inter",
  	"Segoe UI", system-ui, sans-serif;
  --Bg:#FFFFFF;
  --BgCard:#FFFFFF;
  --BgSoft:#F2F2F7;
  --BgDeep:#1C1C1E;
  --BgDeepSoft:#2C2C2E;
  --Ink:#000000;
  --InkSoft:#3C3C43;
  --Muted:#8A8A8E;
  --Line:#D8D8DC;
  --LineSoft:#EBEBEF;
  --Fill:rgba(120,120,128,.12);
  --FillStrong:rgba(120,120,128,.20);
  --Accent:#0B7156;
  --AccentDark:#075742;
  --AccentSoft:rgba(11,113,86,.12);
  --AccentInk:#0A5F49;
  --Ok:#1C8C4C;
  --OkSoft:rgba(28,140,76,.12);
  --Warn:#C77700;
  --WarnSoft:rgba(199,119,0,.12);
  --Bad:#D7342A;
  --BadSoft:rgba(215,52,42,.12);
  --Radius:14px;
  --RadiusLg:20px;
  --RadiusXl:28px;
  --Shadow:none;
  --ShadowLg:0 8px 28px rgba(0,0,0,.14);
  --ShadowXl:0 -2px 40px rgba(0,0,0,.18);
  background: var(--BgSoft);
  font-family: var(--Font), sans-serif;
  -webkit-font-smoothing: antialiased;
  overscroll-behavior-x: none;
}

body.shell a {
  color: var(--AccentInk);
}

body.shell .nav__bar {
  background: transparent;
  transition: background-color 0.2s ease, box-shadow 0.2s ease;
}

body.shell .nav.is-stuck .nav__bar {
  background: color-mix(in srgb, var(--BgSoft) 78%, transparent);
  box-shadow: 0 0.5px 0 var(--Line);
}

@supports (backdrop-filter: blur(20px)) {
  body.shell .nav.is-stuck .nav__bar {
    background: color-mix(in srgb, var(--BgSoft) 62%, transparent);
    backdrop-filter: saturate(180%) blur(20px);
  }
}
body.shell .nav__small {
  color: var(--Ink);
  font-size: 17px;
  font-weight: 600;
  letter-spacing: -0.01em;
}

body.shell .nav__back {
  border-radius: 50%;
  color: var(--Accent);
}

body.shell .nav__back .shell__icon {
  stroke-width: 2.4;
}

body.shell .nav__back:hover {
  background: var(--Fill);
}

body.shell .nav__big {
  font-family: var(--FontHead), sans-serif;
  font-size: 34px;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.022em;
  color: var(--Ink);
}

@media (max-width: 640px) {
  body.shell .nav__big {
    font-size: 30px;
  }
}
body.shell .shell__nav {
  border-top: 0;
}

body.shell .shell__nav::before {
  background: color-mix(in srgb, var(--Bg) 80%, transparent);
  box-shadow: 0 -0.5px 0 var(--Line);
}

@supports (backdrop-filter: blur(20px)) {
  body.shell .shell__nav::before {
    background: color-mix(in srgb, var(--Bg) 62%, transparent);
    backdrop-filter: saturate(180%) blur(20px);
  }
}
body.shell .shell__tab {
  color: var(--Muted);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.01em;
}

body.shell .shell__icon {
  stroke-width: 1.8;
}

body.shell .shell__tab--cur {
  color: var(--Accent);
}

body.shell .shell__badge {
  background: var(--Bad);
  font-size: 11px;
  font-weight: 600;
  line-height: 18px;
  min-width: 18px;
  border-radius: 9px;
}

body.shell .shell__add {
  color: var(--Accent);
  font-size: 10px;
  font-weight: 600;
}

body.shell .shell__add .shell__icon {
  width: 38px;
  height: 38px;
  padding: 8px;
  border-radius: 50%;
  background: var(--Accent);
  stroke: #FFF;
  stroke-width: 2.4;
  box-shadow: 0 2px 10px rgba(11, 113, 86, 0.3);
  transition: transform 0.12s ease;
}

body.shell .shell__group {
  padding: 20px 20px 7px;
  color: var(--Muted);
  font-size: 13px;
  font-weight: 400;
}

body.shell .shell__list {
  overflow: hidden;
  border-radius: var(--Radius);
  background: var(--Bg);
}

body.shell .shell__list .shell__tab {
  min-height: 50px;
  padding: 0 18px;
  border-radius: 0;
  color: var(--Ink);
  font-size: 17px;
  font-weight: 400;
}

body.shell .shell__list .shell__tab {
  position: relative;
}

body.shell .shell__list .shell__tab + .shell__tab::before {
  content: "";
  position: absolute;
  left: 54px;
  right: 0;
  top: 0;
  height: 0.5px;
  background: var(--LineSoft);
}

body.shell .shell__list .shell__icon {
  color: var(--Accent);
}

body.shell .shell__list .shell__tab--cur {
  background: var(--AccentSoft);
  color: var(--AccentInk);
  font-weight: 500;
}

body.shell .shell__rest__body {
  background: var(--BgSoft);
}

body.shell .shell__rest__body::before {
  background: var(--FillStrong);
}

body.shell .shell__who {
  padding: 16px 14px 6px;
  font-size: 13px;
}

body.shell .shell__rest__foot {
  border-top: 0;
}

body.shell .shell__tab--quiet {
  color: var(--Bad);
}

body.shell .shell__tab--quiet .shell__icon {
  color: var(--Bad);
}

body.shell .sheet__body {
  background: var(--BgSoft);
}

body.shell .sheet__body::before {
  background: var(--FillStrong);
}

body.shell .sheet__item {
  background: var(--Bg);
  border-radius: 0;
  color: var(--Ink);
}

body.shell .sheet__item:first-of-type {
  border-radius: var(--Radius) var(--Radius) 0 0;
}

body.shell .sheet__item:last-of-type {
  border-radius: 0 0 var(--Radius) var(--Radius);
}

body.shell .sheet__item + .sheet__item {
  box-shadow: inset 0 0.5px 0 var(--LineSoft);
}

body.shell .sheet__item .shell__icon {
  background: var(--AccentSoft);
  stroke: var(--Accent);
  border-radius: 10px;
}

body.shell .sheet__t {
  font-size: 17px;
  font-weight: 500;
}

@media (min-width: 900px) {
  body.shell #mb .app {
    --AppPad:26px;
  }
  body.shell .shell__nav {
    top: var(--ShellGap);
    bottom: var(--ShellGap);
    left: var(--ShellGap);
    width: calc(var(--ShellRail) - var(--ShellGap) * 2);
    height: auto;
    padding: 12px 8px;
    border-right: 0;
    border-radius: var(--RadiusXl);
    background: color-mix(in srgb, #FBFBFD 88%, transparent);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04), 0 10px 30px rgba(0, 0, 0, 0.05);
  }
  @supports (backdrop-filter: blur(20px)) {
    body.shell .shell__nav {
      background: color-mix(in srgb, #FBFBFD 70%, transparent);
      backdrop-filter: saturate(180%) blur(24px);
    }
  }
  body.shell .shell__nav::before {
    display: none;
  }
  body.shell .shell__brand {
    margin: 4px 0 14px;
    padding: 0 12px;
    font-size: 22px;
    font-weight: 700;
    letter-spacing: -0.02em;
  }
  body.shell .shell__list {
    background: none;
    border-radius: 0;
    overflow: visible;
  }
  body.shell .shell__list .shell__tab {
    border-radius: 8px;
    font-size: 15px;
  }
  body.shell .shell__list .shell__tab + .shell__tab {
    box-shadow: none;
  }
  body.shell .shell__list .shell__tab + .shell__tab::before {
    display: none;
  }
  body.shell .shell__group {
    padding: 16px 10px 4px;
    font-size: 12px;
    font-weight: 600;
  }
  body.shell .shell__nav .shell__tab {
    min-height: 34px;
    padding: 0 10px;
    border-radius: 8px;
    font-size: 15px;
    font-weight: 400;
    color: var(--Ink);
  }
  body.shell .shell__nav .shell__tab .shell__icon {
    width: 21px;
    height: 21px;
    color: var(--Accent);
  }
  body.shell .shell__nav .shell__tab:hover {
    background: var(--Fill);
  }
  body.shell .shell__nav .shell__tab--cur,
  body.shell .shell__nav .shell__tab--cur:hover {
    background: var(--AccentSoft);
    color: var(--AccentInk);
    font-weight: 500;
  }
  body.shell .shell__add {
    min-height: 38px;
    border-radius: 10px;
    background: var(--Accent);
    color: #FFF;
    font-size: 15px;
    font-weight: 600;
  }
  body.shell .shell__add .shell__icon {
    width: 20px;
    height: 20px;
    padding: 0;
    border-radius: 0;
    background: none;
    box-shadow: none;
    stroke: currentColor;
    stroke-width: 2.2;
  }
  body.shell .shell__who {
    padding: 14px 10px 4px;
  }
  body.shell .sheet__body {
    background: var(--Bg);
  }
}
body.shell .app__card,
body.shell .app__facts--kinds,
body.shell .app__table,
body.shell .app__chart,
body.shell .app__stmt,
body.shell .app__unparsed {
  border: 0;
  border-radius: var(--RadiusLg);
  background: var(--Bg);
  box-shadow: none;
}

body.shell .app__card {
  padding: 18px 20px;
}

body.shell .app__facts--kinds {
  padding: 16px 20px;
}

body.shell .app__chart {
  padding: 14px 12px 10px;
}

body.shell .app__card span {
  font-size: 13px;
}

body.shell .app__cards {
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}

body.shell .app__card b {
  font-family: var(--FontHead), sans-serif;
  font-size: 22px;
  font-weight: 700;
  letter-spacing: -0.022em;
  white-space: nowrap;
}

body.shell .app__card--total b {
  font-size: 24px;
}

body.shell .app__card--total {
  background: color-mix(in srgb, var(--Accent) 8%, var(--Bg));
  box-shadow: none;
}

body.shell .app__card--total span {
  color: var(--AccentInk);
  opacity: 0.75;
}

@media (max-width: 640px) {
  body.shell .app__cards {
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }
  body.shell .app__card {
    padding: 12px 14px;
  }
  body.shell .app__card span {
    font-size: 12px;
  }
  body.shell .app__card b {
    margin-top: 3px;
    font-size: 17px;
    letter-spacing: -0.02em;
    white-space: nowrap;
  }
  body.shell .app__card--total {
    grid-column: 1/-1;
    padding: 16px 18px;
  }
  body.shell .app__card--total b {
    font-size: 30px;
  }
}
body.shell .app__table th {
  padding: 12px 20px;
  background: none;
  border-bottom: 0.5px solid var(--Line);
  color: var(--Muted);
  font-size: 13px;
  font-weight: 400;
}

body.shell .app__table td {
  padding: 13px 20px;
  border-bottom: 0.5px solid var(--LineSoft);
}

body.shell .app__table small {
  font-size: 13px;
}

@media (max-width: 640px) {
  body.shell .app__table:has(.app__num) {
    display: block;
    width: 100%;
    overflow: visible;
    border-radius: var(--RadiusLg);
  }
  body.shell .app__table:has(.app__num) tbody,
  body.shell .app__table:has(.app__num) tr {
    display: block;
  }
  body.shell .app__table:has(.app__num) tr:has(th) {
    display: none;
  }
  body.shell .app__table:has(.app__num) tr:has(td) {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    column-gap: 10px;
    row-gap: 1px;
    padding: 11px 14px;
  }
  body.shell .app__table:has(.app__num) tr + tr {
    position: relative;
  }
  body.shell .app__table:has(.app__num) tr + tr::before {
    content: "";
    position: absolute;
    left: 14px;
    right: 0;
    top: 0;
    height: 0.5px;
    background: var(--LineSoft);
  }
  body.shell .app__table:has(.app__num) td {
    flex: 1 1 auto;
    min-width: 0;
    padding: 0;
    border: 0;
  }
  body.shell .app__table:has(.app__num) .app__date {
    order: -1;
    flex: 1 1 100%;
    font-size: 13px;
  }
  body.shell .app__table:has(.app__num) .app__num {
    flex: 0 0 auto;
    margin-left: auto;
    font-size: 16px;
  }
  body.shell .app__table:has(.app__num) .app__actions {
    flex: 1 1 100%;
    margin-top: 6px;
    text-align: left;
  }
}
@media (max-width: 640px) {
  body.shell .app__table--trend:has(.app__num) tr:has(td) {
    display: grid;
    grid-template-columns: auto auto minmax(0, 1fr);
    align-items: center;
    column-gap: 12px;
    row-gap: 6px;
  }
  body.shell .app__table--trend:has(.app__num) td {
    min-width: 0;
  }
  body.shell .app__table--trend:has(.app__num) td:first-child {
    grid-column: 1/-1;
    white-space: normal;
    overflow-wrap: break-word;
    line-height: 1.35;
  }
  body.shell .app__table--trend:has(.app__num) td.app__num {
    margin-left: 0;
    font-size: 16px;
  }
  body.shell .app__table--trend:has(.app__num) td.app__num + td.app__num {
    font-size: 13px;
    color: var(--Muted);
  }
  body.shell .app__table--trend .app__spark {
    width: auto;
    justify-self: end;
  }
  body.shell .app__table--trend .spark {
    width: 96px;
    height: 24px;
  }
}
@media (max-width: 640px) {
  body.shell .app__table--failed td.app__why {
    flex: 1 1 100%;
    white-space: normal;
    overflow-wrap: break-word;
  }
  body.shell .app__table--failed td.app__why small {
    margin-top: 4px;
    line-height: 1.4;
  }
  body.shell .app__table--failed td[data-l] {
    order: 5;
    flex: 0 0 auto;
    margin-left: auto;
    font-size: 13px;
    color: var(--Muted);
  }
  body.shell .app__table--failed td[data-l]::before {
    content: attr(data-l) ": ";
  }
}
@media (max-width: 640px) {
  body.shell .app__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  body.shell .app__card {
    min-width: 0;
  }
  body.shell .app__card.app__fig {
    container-type: inline-size;
  }
  body.shell .app__card.app__fig .app__fig__value {
    font-size: clamp(14px, 11cqi, 23px);
    white-space: nowrap;
  }
}
@media (max-width: 640px) {
  body.shell .app__facts--pairs {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px 12px;
    margin-top: 16px;
  }
  body.shell .app__facts--pairs dt {
    margin-top: 0;
    font-size: 14px;
  }
  body.shell .app__facts--pairs dd {
    text-align: right;
  }
  body.shell .app__facts--pairs dd small {
    display: block;
  }
}
body.shell .app__task__meta .app__badge {
  white-space: nowrap;
}

@media (max-width: 640px) {
  body.shell .app__table--products:has(.app__num) tr:has(td) {
    display: grid;
    grid-template-columns: auto auto minmax(0, 1fr);
    align-items: baseline;
    column-gap: 14px;
    row-gap: 4px;
  }
  body.shell .app__table--products:has(.app__num) td {
    min-width: 0;
  }
  body.shell .app__table--products:has(.app__num) .app__date {
    grid-column: 1/-1;
    grid-row: 1;
  }
  body.shell .app__table--products:has(.app__num) td:first-child {
    grid-column: 1/-1;
    grid-row: 2;
    white-space: normal;
    overflow-wrap: break-word;
    line-height: 1.35;
  }
  body.shell .app__table--products:has(.app__num) td[data-l] {
    grid-row: 3;
    margin-left: 0;
    font-size: 13px;
    color: var(--Muted);
  }
  body.shell .app__table--products:has(.app__num) td[data-l]::before {
    content: attr(data-l) " ";
  }
  body.shell .app__table--products:has(.app__num) td[data-l] .app__muted {
    color: inherit;
  }
  body.shell .app__table--products:has(.app__num) td.app__num:not([data-l]) {
    grid-row: 3;
    justify-self: end;
    margin-left: 0;
  }
}
body.shell .plan__tabs {
  gap: 8px;
}

body.shell .plan__tab {
  padding: 7px 16px;
  border-radius: 999px;
  background: var(--Fill);
  color: var(--Ink);
  font-size: 14px;
  font-weight: 500;
}

body.shell .plan__tab:hover {
  background: var(--FillStrong);
  text-decoration: none;
}

body.shell .plan__tab--cur,
body.shell .plan__tab--cur:hover {
  background: var(--Accent);
  color: #FFF;
}

.plan__delta {
  font-size: 13px;
  font-weight: 600;
}

.plan__arrow {
  margin-right: 4px;
  font-weight: 700;
  font-size: 15px;
}

@media (max-width: 640px) {
  .plan__delta {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
  }
}
@media (max-width: 480px) {
  body.shell .plan__nav {
    justify-content: space-between;
  }
  body.shell .plan__period {
    order: -1;
    flex: 1 0 100%;
  }
}
@media (max-width: 640px) {
  body.shell .app__table--health td,
  body.shell .app__table--robots td {
    white-space: normal;
    overflow-wrap: break-word;
  }
  body.shell .app__table--health td.app__num,
  body.shell .app__table--robots td.app__num {
    flex: 0 1 auto;
    max-width: 100%;
    text-align: right;
  }
  body.shell .app__table--robots .app__out {
    max-width: 100%;
    overflow-x: auto;
  }
}
body.shell .dis {
  border-radius: var(--RadiusLg);
}

body.shell .dis__row {
  min-height: 58px;
  padding: 12px 20px;
}

body.shell .dis__row + .dis__row::before {
  height: 0.5px;
  left: 20px;
}

body.shell .dis__what {
  font-size: 16px;
}

body.shell .dis__act .app__btn {
  padding: 6px 13px;
  font-size: 14px;
}

@media (max-width: 640px) {
  body.shell .dis__row {
    gap: 10px;
    padding: 9px 14px;
    min-height: 52px;
  }
  body.shell .dis__what {
    font-size: 15px;
  }
  body.shell .dis__act .app__btn {
    padding: 6px 11px;
    font-size: 13px;
  }
}
body.shell .app__btn {
  border: 0;
  border-radius: 999px;
  background: var(--Fill);
  color: var(--AccentInk);
  font-size: 15px;
  font-weight: 600;
  padding: 9px 16px;
  transition: background-color 0.12s ease, transform 0.08s ease;
}

body.shell .app__btn:hover {
  background: var(--FillStrong);
}

body.shell .app__btn:active {
  transform: scale(0.97);
}

body.shell .app__btn--main {
  background: var(--Accent);
  color: #FFF;
}

body.shell .app__btn--main:hover {
  background: var(--AccentDark);
}

body.shell .app__btn--ink {
  background: var(--Ink);
  color: #FFF;
}

body.shell .app__btn--danger {
  background: var(--BadSoft);
  color: var(--Bad);
}

body.shell .app__btn--danger:hover {
  background: var(--Bad);
  color: #FFF;
}

body.shell .app__link {
  font-weight: 500;
}

body.shell .app__tabs--sub {
  display: inline-flex;
  flex-wrap: wrap;
  max-width: 100%;
  gap: 0;
  padding: 3px;
  border-radius: 12px;
  background: var(--Fill);
}

body.shell .app__tabs--sub .app__tab {
  padding: 6px 16px;
  border-radius: 9px;
  color: var(--Ink);
  font-size: 13px;
  font-weight: 500;
  white-space: nowrap;
}

body.shell .app__tabs--sub .app__tab:hover {
  background: none;
}

body.shell .app__tabs--sub .app__tab--cur,
body.shell .app__tabs--sub .app__tab--cur:hover {
  background: var(--Bg);
  color: var(--Ink);
  font-weight: 600;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1), 0 0 0 0.5px rgba(0, 0, 0, 0.04);
}

body.shell .app__tabs:not(.app__tabs--sub) {
  gap: 8px;
}

body.shell .app__tabs:not(.app__tabs--sub) .app__tab {
  padding: 7px 16px;
  border-radius: 999px;
  background: var(--Fill);
  color: var(--Ink);
  font-size: 14px;
  font-weight: 500;
}

body.shell .app__tabs:not(.app__tabs--sub) .app__tab:hover {
  background: var(--FillStrong);
}

body.shell .app__tabs:not(.app__tabs--sub) .app__tab--cur,
body.shell .app__tabs:not(.app__tabs--sub) .app__tab--cur:hover {
  background: var(--Accent);
  color: #FFF;
}

body.shell .app__tab small {
  color: inherit;
  opacity: 0.62;
}

body.shell .app__tab--cur small {
  color: inherit;
  opacity: 0.8;
}

body.shell .app__field input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]):not([type=reset]):not([type=file]):not([type=range]):not([type=color]),
body.shell .app__field textarea,
body.shell .app__field select,
body.shell .pick__field {
  border: 0;
  border-radius: var(--Radius);
  min-height: 46px;
  background: var(--Fill);
  color: var(--Ink);
  font-size: 17px;
  padding: 11px 12px;
}

body.shell .app__field input:focus,
body.shell .app__field textarea:focus,
body.shell .app__field select:focus {
  background: var(--Bg);
  outline: 0;
  box-shadow: 0 0 0 3px var(--AccentSoft), inset 0 0 0 1px var(--Accent);
}

body.shell .app__field > span {
  font-size: 13px;
  color: var(--Muted);
  font-weight: 400;
}

body.shell .app__hint {
  font-size: 13px;
}

body.shell .app__msg {
  border: 0;
  border-radius: var(--RadiusLg);
  padding: 14px 20px;
  background: var(--AccentSoft);
  color: var(--AccentInk);
  font-size: 15px;
}

body.shell .app__msg--error {
  background: var(--BadSoft);
  color: var(--Bad);
}

body.shell .app__msg--warn {
  background: var(--WarnSoft);
  color: var(--Warn);
}

body.shell .app__msg--ok {
  background: var(--OkSoft);
  color: var(--Ok);
}

body.shell .app__badge {
  border-radius: 999px;
  font-weight: 600;
}

body.shell .app__h2 {
  font-family: var(--FontHead), sans-serif;
  font-size: 22px;
  font-weight: 700;
  letter-spacing: -0.018em;
}

body.shell .app__h3 {
  font-size: 17px;
  font-weight: 600;
}

body.shell .app__empty {
  border-radius: var(--RadiusLg);
  background: var(--Bg);
  color: var(--Muted);
}

body.shell .app__page {
  border: 0;
  border-radius: var(--Radius);
  background: var(--Fill);
  font-weight: 500;
}

body.shell .app__page--cur {
  background: var(--Ink);
  color: #FFF;
}

body.shell .app__page--gap {
  background: none;
  color: var(--Muted);
}

body.shell .app__page--off {
  background: var(--Fill);
  color: var(--Line);
}

body.shell .chart-box {
  --ChartLabel:13px;
}

body.shell .chart__tip {
  border-radius: 14px;
  font-size: 13px;
}

body.shell .chart__tip b {
  font-size: 17px;
}

/*# sourceMappingURL=main.css.map */
